mag3110.h¶
Interface definition for the MAG3110 magnetometer driver.
-
MAG3110_DROS_8000_16
¶ Output Rate 80 Hz, Over Sample Ratio 16.
1
0
-
MAG3110_DROS_4000_32
¶ Output Rate 40 Hz, Over Sample Ratio 32.
1
1
-
MAG3110_DROS_2000_64
¶ Output Rate 20 Hz, Over Sample Ratio 64.
1
2
-
MAG3110_DROS_1000_128
¶ Output Rate 10 Hz, Over Sample Ratio 128.
1
3
-
MAG3110_DROS_4000_16
¶ Output Rate 40 Hz, Over Sample Ratio 16.
1
4
-
MAG3110_DROS_2000_32
¶ Output Rate 20 Hz, Over Sample Ratio 32.
1
5
-
MAG3110_DROS_1000_64
¶ Output Rate 10 Hz, Over Sample Ratio 64.
1
6
-
MAG3110_DROS_0500_128
¶ Output Rate 5 Hz, Over Sample Ratio 128.
1
7
-
MAG3110_DROS_2000_16
¶ Output Rate 20 Hz, Over Sample Ratio 16.
1
8
-
MAG3110_DROS_1000_32
¶ Output Rate 10 Hz, Over Sample Ratio 32.
1
9
-
MAG3110_DROS_0500_64
¶ Output Rate 5 Hz, Over Sample Ratio 64.
1
10
-
MAG3110_DROS_0250_128
¶ Output Rate 2.5 Hz, Over Sample Ratio 128.
1
11
-
MAG3110_DROS_1000_16
¶ Output Rate 10 Hz, Over Sample Ratio 16.
1
12
-
MAG3110_DROS_0500_32
¶ Output Rate 5 Hz, Over Sample Ratio 32.
1
13
-
MAG3110_DROS_0250_64
¶ Output Rate 2.5 Hz, Over Sample Ratio 64.
1
14
-
MAG3110_DROS_0125_128
¶ Output Rate 1.25 Hz, Over Sample Ratio 128.
1
15
-
MAG3110_DROS_0500_16
¶ Output Rate 5 Hz, Over Sample Ratio 16.
1
16
-
MAG3110_DROS_0250_32
¶ Output Rate 2.5 Hz, Over Sample Ratio 32.
1
17
-
MAG3110_DROS_0125_64
¶ Output Rate 1.25 Hz, Over Sample Ratio 64.
1
18
-
MAG3110_DROS_0063_128
¶ Output Rate 0.63 Hz, Over Sample Ratio 128.
1
19
-
MAG3110_DROS_0250_16
¶ Output Rate 2.5 Hz, Over Sample Ratio 16.
1
20
-
MAG3110_DROS_0125_32
¶ Output Rate 1.25 Hz, Over Sample Ratio 32.
1
21
-
MAG3110_DROS_0063_64
¶ Output Rate 0.63 Hz, Over Sample Ratio 64.
1
22
-
MAG3110_DROS_0031_128
¶ Output Rate 0.31 Hz, Over Sample Ratio 128.
1
23
-
MAG3110_DROS_0125_16
¶ Output Rate 1.25 Hz, Over Sample Ratio 16.
1
24
-
MAG3110_DROS_0063_32
¶ Output Rate 0.63 Hz, Over Sample Ratio 32.
1
25
-
MAG3110_DROS_0031_64
¶ Output Rate 0.31 Hz, Over Sample Ratio 64.
1
26
-
MAG3110_DROS_0016_128
¶ Output Rate 0.16 Hz, Over Sample Ratio 128.
1
27
-
MAG3110_DROS_0063_16
¶ Output Rate 0.63 Hz, Over Sample Ratio 16.
1
28
-
MAG3110_DROS_0031_32
¶ Output Rate 0.31 Hz, Over Sample Ratio 32.
1
29
-
MAG3110_DROS_0016_64
¶ Output Rate 0.16 Hz, Over Sample Ratio 64.
1
30
-
MAG3110_DROS_0008_128
¶ Output Rate 0.08 Hz, Over Sample Ratio 128.
1
31
-
MAG3110_DROS_DEFAULT
¶ Default Setting for testing.
1
MAG3110_DROS_0125_128
-
MAG3110_I2C_ADDRESS
¶ Magnetometer Default Address.
1
0x0E
-
enum
@132
¶ - MAG3110_OK
- all good
- MAG3110_ERROR_I2C
- I2C communication failed.
- MAG3110_ERROR_DEV
- Device MAG3110 not found.
- MAG3110_ERROR_CNF
- Device configuration failed.
-
int
mag3110_init
(mag3110_t * dev, const mag3110_params_t * params)¶ Initialise the MAG3110 magnetometer driver.
Parameters
dev: device descriptor of magnetometer to initialize params: configuration parameters Return values
- 0 on success
- -1 if I2C communication failed
- -2 if magnetometer test failed
- -3 if magnetometer configuration failed
-
int
mag3110_set_user_offset
(const mag3110_t * dev, int16_t x, int16_t y, int16_t z)¶ Set user offset correction.
Offset correction register will be erased after accelerometer reset.
Parameters
dev: device descriptor of magnetometer x: offset offset correction value for x-axis y: offset offset correction value for y-axis z: offset offset correction value for z-axis Return values
- 0 on success
- -1 on error
-
int
mag3110_set_active
(const mag3110_t * dev)¶ Set active mode, this enables periodic measurements.
Parameters
dev: device descriptor of magnetometer Return values
- 0 on success
- -1 on error
-
int
mag3110_set_standby
(const mag3110_t * dev)¶ Set standby mode.
Parameters
dev: device descriptor of magnetometer Return values
- 0 on success
- -1 on error
-
int
mag3110_is_ready
(const mag3110_t * dev)¶ Check for new set of measurement data.
Parameters
dev: device descriptor of magnetometer Return values
- >0 if x-, y- and z-axis new sample is ready
- 0 if measurement is in progress
- -1 on error
-
int
mag3110_read
(const mag3110_t * dev, mag3110_data_t * data)¶ Read magnetometer’s data.
To get the actual values for the magnetic field in , one have to divide the returned values from the magnetometer by 10.
Parameters
dev: device descriptor of accelerometer data: the current magnetic field strength Return values
- 0 on success
- -1 on error
-
int
mag3110_read_dtemp
(const mag3110_t * dev, int8_t * dtemp)¶ Read die temperature.
Parameters
dev: device descriptor of magnetometer dtemp: die temperature Return values
- 0 on success
- -1 on error
-
struct
mag3110_params_t
¶ Configuration parameters.
-
i2c.h::i2c_t
i2c
¶ I2C bus the device is connected to.
-
uint8_t
addr
¶ I2C bus address of the device.
-
uint8_t
type
¶ device type
-
uint8_t
dros
¶ sampling rate to use
-
int16_t
offset
()¶ data offset in X, Y, and Z direction
-
-
struct
mag3110_t
¶ Device descriptor for MAG3110 magnetometer.
-
mag3110_params_t
params
¶ device configuration parameters
-
mag3110_params_t