M5Unit-IMU 0.0.2 git rev:e5b00aa
Loading...
Searching...
No Matches
m5::unit::mag3110::Data Struct Reference

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)
 

Detailed Description

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).