|
M5Unit-IMU 0.0.2 git rev:e5b00aa
|
One MAG3110 sample: a 7-byte burst from DR_STATUS (0x00) More...
#include <unit_mag3110_data.hpp>
Public Member Functions | |
| bool | drdy () const |
| Data ready (DR_STATUS bit3 ZYXDR: new data on one or more axes) | |
| int16_t | x_raw () const |
| Raw X (big-endian, signed 16bit) | |
| int16_t | y_raw () const |
| Raw Y. | |
| int16_t | z_raw () const |
| Raw Z. | |
| int32_t | adj_x () const |
| X rescaled to the library-wide 16 LSB/µT. | |
| int32_t | adj_y () const |
| Y rescaled to the library-wide 16 LSB/µT. | |
| int32_t | adj_z () const |
| Z rescaled to the library-wide 16 LSB/µT. | |
Public Attributes | |
| std::array< uint8_t, 7 > | raw {} |
| DR_STATUS + X/Y/Z (big-endian) | |
One MAG3110 sample: a 7-byte burst from DR_STATUS (0x00)
raw = {DR_STATUS, XMSB, XLSB, YMSB, YLSB, ZMSB, ZLSB}. Axes are big-endian. adj_*() rescale the native 0.10 µT/LSB output to the library-wide 16 LSB/µT convention (so imu_convert_param_t::mag_res stays a uniform 1/16, matching the other magnetometers).