67#define COMPASS_DEFAULT_ADDRESS (0x1E)
70#define COMPASS_RA_CONFIG_A (0x00)
71#define COMPASS_RA_CONFIG_B (0x01)
72#define COMPASS_RA_MODE (0x02)
73#define COMPASS_RA_DATAX_H (0x03)
74#define COMPASS_RA_DATAX_L (0x04)
75#define COMPASS_RA_DATAZ_H (0x05)
76#define COMPASS_RA_DATAZ_L (0x06)
77#define COMPASS_RA_DATAY_H (0x07)
78#define COMPASS_RA_DATAY_L (0x08)
79#define COMPASS_RA_STATUS (0x09)
80#define COMPASS_RA_ID_A (0x0A)
81#define COMPASS_RA_ID_B (0x0B)
82#define COMPASS_RA_ID_C (0x0C)
85#define COMPASS_AVERAGING_1 (0x00)
86#define COMPASS_AVERAGING_2 (0x20)
87#define COMPASS_AVERAGING_4 (0x40)
88#define COMPASS_AVERAGING_8 (0x60)
91#define COMPASS_RATE_0P75 (0x00)
92#define COMPASS_RATE_1P5 (0x40)
93#define COMPASS_RATE_3 (0x08)
94#define COMPASS_RATE_7P5 (0x0C)
95#define COMPASS_RATE_15 (0x10)
96#define COMPASS_RATE_30 (0x14)
97#define COMPASS_RATE_75 (0x18)
100#define COMPASS_BIAS_NORMAL (0x00)
101#define COMPASS_BIAS_POSITIVE (0x01)
102#define COMPASS_BIAS_NEGATIVE (0x02)
117#define COMPASS_GAIN_1370 (0x00)
118#define COMPASS_GAIN_1090 (0x20)
119#define COMPASS_GAIN_820 (0x40)
120#define COMPASS_GAIN_660 (0x60)
121#define COMPASS_GAIN_440 (0x80)
122#define COMPASS_GAIN_390 (0xA0)
123#define COMPASS_GAIN_330 (0xC0)
124#define COMPASS_GAIN_220 (0xE0)
127#define COMPASS_MODE_CONTINUOUS (0x00)
128#define COMPASS_MODE_SINGLE (0x01)
129#define COMPASS_MODE_IDLE (0x02)
132#define COMPASS_PI 3.14159265F
133#define START_ADDRESS_OF_EEPROM_BUFFER (int16_t)(0x00)
144 uint8_t Rotation_Axis;
154#ifndef ME_PORT_DEFINED
161#ifdef ME_PORT_DEFINED
185 MeCompass(uint8_t port, uint8_t address);
195 MeCompass(uint8_t keyPin, uint8_t ledPin);
207 MeCompass(uint8_t keyPin, uint8_t ledPin, uint8_t address);
225 void setpin(uint8_t keyPin, uint8_t ledPin);
341 int16_t
getHeading(int16_t *x, int16_t *y, int16_t *z);
343 static volatile uint8_t _keyPin;
344 static volatile uint8_t _ledPin;
345 bool Calibration_Flag;
347 uint8_t Device_Address;
348 uint8_t Measurement_Mode;
374 int8_t writeReg(int16_t reg, uint8_t data);
401 int8_t writeData(uint8_t start,
const uint8_t *pData, uint8_t size);
428 int8_t readData(uint8_t start, uint8_t *buffer, uint8_t size);
446 void deviceCalibration(
void);
463 void read_EEPROM_Buffer(
void);
Configuration file of library.
Header for MePort.cpp module.
Driver for MeCompass module.
Definition MeCompass.h:159
int16_t getHeading(int16_t *x, int16_t *y, int16_t *z)
Definition MeCompass.cpp:391
bool testConnection(void)
Definition MeCompass.cpp:214
MeCompass()
Definition MeCompass.cpp:63
int16_t getHeadingY(void)
Definition MeCompass.cpp:327
double getAngle(void)
Definition MeCompass.cpp:237
int16_t getHeadingX(void)
Definition MeCompass.cpp:297
void begin(void)
Definition MeCompass.cpp:172
int16_t getHeadingZ(void)
Definition MeCompass.cpp:357
Port Mapping for RJ25.
Definition MePort.h:128
Definition MeCompass.h:137