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_ti2c¶ I2C device.
-
uint8_t
addr¶ Magnometer I2C address.
-
lis3mdl.h::lis3mdl_xy_mode_txy_mode¶ Power mode of x- and y-axis.
-
lis3mdl.h::lis3mdl_z_mode_tz_mode¶ Power mode of z-axis.
-
lis3mdl.h::lis3mdl_odr_todr¶ Output data rate.
-
lis3mdl.h::lis3mdl_scale_tscale¶ Scale factor.
-
lis3mdl.h::lis3mdl_op_top_mode¶ Operation mode.
-
-
struct
lis3mdl_t¶ Device descriptor for LIS3MDL sensor.
-
lis3mdl_params_t
params¶ Initialization parameters.
-
lis3mdl_params_t