33 #define LIS3MDL_ADDR 0x1E
34 #define LIS3MDL_WHOAMI 0x0F
35 #define LIS3MDL_CTRL_REG1 0x20
36 #define LIS3MDL_CTRL_REG2 0x21
37 #define LIS3MDL_CTRL_REG3 0x22
38 #define LIS3MDL_CTRL_REG4 0x23
39 #define LIS3MDL_CTRL_REG5 0x24
90 void I2Cwrite8(uint8_t regOfInterest, uint8_t valToWrite);
91 uint8_t
I2Cread8(uint8_t regOfInterest);
STMicroelectronics LIS3MDL magnetometer sensor class.
Definition: lis3mdl_magnetometer.h:72
uint8_t I2Cread8(uint8_t regOfInterest)
Read register value from I2C device.
Definition: lis3mdl_magnetometer.cpp:265
float GetMx()
Return X-magnetometer reading in [uT].
Definition: lis3mdl_magnetometer.cpp:189
LIS3MDL_Mag(TwoWire *userWire=&SENSOR_I2C)
I2C Sensor class for the LIS3MDL magnetometer.
Definition: lis3mdl_magnetometer.cpp:20
bool ReadSensor()
Read magnetometer registers and extract measurements.
Definition: lis3mdl_magnetometer.cpp:125
float _mx
x-magnetometer reading [uT]
Definition: lis3mdl_magnetometer.h:85
float GetMy()
Return Y-magnetometer reading in [uT].
Definition: lis3mdl_magnetometer.cpp:197
uint32_t prevMeasMicros
Previous measurement micros()
Definition: lis3mdl_magnetometer.h:82
float GetMz()
Return Z-magnetometer reading in [uT].
Definition: lis3mdl_magnetometer.cpp:205
float GetTemperature()
Read temperature from the magnetometer sensor.
Definition: lis3mdl_magnetometer.cpp:217
LIS3MDL_MeasRange_t _range
Sensor measurement range.
Definition: lis3mdl_magnetometer.h:89
TwoWire * _SensorWire
I2C/wire interface the sensor is on.
Definition: lis3mdl_magnetometer.h:88
~LIS3MDL_Mag()
Definition: lis3mdl_magnetometer.h:75
float _mz
z-magnetometer reading [uT]
Definition: lis3mdl_magnetometer.h:87
float _my
y-magnetometer reading [uT]
Definition: lis3mdl_magnetometer.h:86
void I2Cwrite8(uint8_t regOfInterest, uint8_t valToWrite)
Write to device register over I2C.
Definition: lis3mdl_magnetometer.cpp:248
bool Initialize(LIS3MDL_MeasRange_t measRange=LIS3MDL_RANGE_4G)
Initialize the LIS3MDL magnetometer and specify the measurement range.
Definition: lis3mdl_magnetometer.cpp:36
#define SENSOR_I2C
UBER-EXTREME CAUTION SHOULD BE USED CHANGING PARAMETERS IN THIS FILE.
Definition: hummingbird_config.h:26
LIS3MDL_DataReg_t
LIS3MDL data registers.
Definition: lis3mdl_magnetometer.h:45
@ LIS3MDL_OUT_TEMP_H
Definition: lis3mdl_magnetometer.h:53
@ LIS3MDL_OUT_X_H
Definition: lis3mdl_magnetometer.h:47
@ LIS3MDL_OUT_Y_L
Definition: lis3mdl_magnetometer.h:48
@ LIS3MDL_OUT_X_L
Definition: lis3mdl_magnetometer.h:46
@ LIS3MDL_OUT_Y_H
Definition: lis3mdl_magnetometer.h:49
@ LIS3MDL_OUT_Z_H
Definition: lis3mdl_magnetometer.h:51
@ LIS3MDL_OUT_TEMP_L
Definition: lis3mdl_magnetometer.h:52
@ LIS3MDL_OUT_Z_L
Definition: lis3mdl_magnetometer.h:50
LIS3MDL_MeasRange_t
LIS3MDL measurement ranges (gauss)
Definition: lis3mdl_magnetometer.h:60
@ LIS3MDL_RANGE_16G
Definition: lis3mdl_magnetometer.h:64
@ LIS3MDL_RANGE_4G
Definition: lis3mdl_magnetometer.h:61
@ LIS3MDL_RANGE_8G
Definition: lis3mdl_magnetometer.h:62
@ LIS3MDL_RANGE_12G
Definition: lis3mdl_magnetometer.h:63