123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef bexus_mag_h
- #define bexus_mag_h
- #ifdef __cplusplus
- extern "C" {
- #endif
- //#include "cmsis_os.h"
- #include "main.h"
- #include <stdbool.h>
- #include "bexus_variables.h"
- #include "i2c.h"
- #include <math.h>
- #include <stdlib.h>
- // register addresses
- enum regAddr
- {
- WHO_AM_I = 0x0F,
- CTRL_REG1 = 0x20,
- CTRL_REG2 = 0x21,
- CTRL_REG3 = 0x22,
- CTRL_REG4 = 0x23,
- CTRL_REG5 = 0x24,
- STATUS_REG = 0x27,
- OUT_X_L = 0x28,
- OUT_X_H = 0x29,
- OUT_Y_L = 0x2A,
- OUT_Y_H = 0x2B,
- OUT_Z_L = 0x2C,
- OUT_Z_H = 0x2D,
- TEMP_OUT_L = 0x2E,
- TEMP_OUT_H = 0x2F,
- INT_CFG = 0x30,
- INT_SRC = 0x31,
- INT_THS_L = 0x32,
- INT_THS_H = 0x33,
- };
- void Mag_cal(void);
-
- void Mag_Init(void);
- void writeReg(uint8_t reg, uint8_t value);
- uint8_t readReg(uint8_t reg);
- int Mag_Read(void);
- uint8_t testReg(uint8_t address, uint8_t reg);
- /*
- void vector_cross (struct vector_Uint *a,struct vector_Uint *b,struct vector_Uint *out )
- {
- out->x = (a->y * b->z) - (a->z * b->y);
- out->y = (a->z * b->x) - (a->x * b->z);
- out->z = (a->x * b->y) - (a->y * b->x);
- }*/
- #ifdef __cplusplus
- }
- #endif
- #endif
|