LIS3MDL 3-axis magnetometer¶
Device driver for the LIS3MDL 3-axis magnetometer.
This driver provides [S]ensor [A]ctuator [U]ber [L]ayer capabilities.
-
enum
lis3mdl_xy_mode_t
¶ - LIS3MDL_XY_MODE_LOW
= 0x00
- Low-power mode.
- LIS3MDL_XY_MODE_MEDIUM
= 0x20
- Medium-performance mode.
- LIS3MDL_XY_MODE_HIGH
= 0x40
- High-performance mode.
- LIS3MDL_XY_MODE_ULTRA
= 0x60
- Ultra-High-performance mode.
- LIS3MDL_XY_MODE_LOW
-
enum
lis3mdl_z_mode_t
¶ - LIS3MDL_Z_MODE_LOW
= 0x00
- Low-power mode.
- LIS3MDL_Z_MODE_MEDIUM
= 0x04
- Medium-performance mode.
- LIS3MDL_Z_MODE_HIGH
= 0x08
- High-performance mode.
- LIS3MDL_Z_MODE_ULTRA
= 0x0C
- Ultra-High-performance mode.
- LIS3MDL_Z_MODE_LOW
-
enum
lis3mdl_odr_t
¶ - LIS3MDL_ODR_0_625Hz
= 0x00
- 0.625Hz
- LIS3MDL_ODR_1_25Hz
= 0x04
- 1.250Hz
- LIS3MDL_ODR_2_5Hz
= 0x08
- 5.000Hz
- LIS3MDL_ODR_10Hz
= 0x10
- 10.000Hz
- LIS3DML_ODR_20HZ
= 0x14
- 20.000Hz
- LIS3DML_ODR_40HZ
= 0x18
- 40.000Hz
- LIS3MDL_ODR_80HZ
= 0x1C
- 80.000Hz
- LIS3MDL_ODR_0_625Hz
-
enum
lis3mdl_scale_t
¶ - LIS3MDL_SCALE_4G
= 0x00
- +- 4 gauss
- LIS3MDL_SCALE_8G
= 0x20
- +- 8 gauss
- LIS3MDL_SCALE_12G
= 0x40
- +- 12 gauss
- LIS3MDL_SCALE_16G
= 0x60
- +- 16 gauss
- LIS3MDL_SCALE_4G
-
enum
lis3mdl_op_t
¶ - LIS3MDL_OP_CONT_CONV
= 0x00
- Continous-conversion mode.
- LIS3MDL_OP_SNGL_CONV
= 0x01
- Single-conversion mode.
- LIS3MDL_OP_PDOWN
= 0x11
- Power-down mode.
- LIS3MDL_OP_CONT_CONV
-
int
lis3mdl_init
(lis3mdl_t * dev, const lis3mdl_params_t * params)¶ Initialize a new LIS3DML device.
Parameters
dev: device descriptor of LIS3MDL params: initialization parameters Return values
- 0 on success
- -1 on error
-
void
lis3mdl_read_mag
(const lis3mdl_t * dev, lis3mdl_3d_data_t * data)¶ Reads the magnometer value of LIS3MDL.
Parameters
dev: device descriptor of LIS3MDL data: measured magnetometer data
-
void
lis3mdl_read_temp
(const lis3mdl_t * dev, int16_t * value)¶ Reads the temperature value of LIS3MDL.
Parameters
dev: device descriptor of LIS3MDL value: measured temperature in degree celsius
-
void
lis3mdl_enable
(const lis3mdl_t * dev)¶ Enable the LIS3MDL device.
Parameters
dev: device descriptor of LIS3MDL
-
void
lis3mdl_disable
(const lis3mdl_t * dev)¶ Disable the LIS3MDL device.
Parameters
dev: device descriptor of LIS3MDL
-
struct
lis3mdl_3d_data_t
¶ 3d data container of the LIS3MDL sensor
-
int16_t
x_axis
¶ Magnometer data from x-axis.
-
int16_t
y_axis
¶ Magnometer data from y_axis.
-
int16_t
z_axis
¶ Magnometer data from z_axis.
-
int16_t
-
struct
lis3mdl_params_t
¶ Device initialization parameters.
-
i2c.h::i2c_t
i2c
¶ I2C device.
-
uint8_t
addr
¶ Magnometer I2C address.
-
lis3mdl.h::lis3mdl_xy_mode_t
xy_mode
¶ Power mode of x- and y-axis.
-
lis3mdl.h::lis3mdl_z_mode_t
z_mode
¶ Power mode of z-axis.
-
lis3mdl.h::lis3mdl_odr_t
odr
¶ Output data rate.
-
lis3mdl.h::lis3mdl_scale_t
scale
¶ Scale factor.
-
lis3mdl.h::lis3mdl_op_t
op_mode
¶ Operation mode.
-
-
struct
lis3mdl_t
¶ Device descriptor for LIS3MDL sensor.
-
lis3mdl_params_t
params
¶ Initialization parameters.
-
lis3mdl_params_t