esp32_BNO08x 1.4
C++ BNO08x IMU driver component for esp-idf.
BNO08xRptUncalMagnetometer Class Reference

Class to represent uncalibrated magnetometer reports. (See Ref. Manual 6.5.17) More...

#include <report/BNO08xRptUncalMagnetometer.hpp>

Inheritance diagram for BNO08xRptUncalMagnetometer:
Collaboration diagram for BNO08xRptUncalMagnetometer:

Public Member Functions

 BNO08xRptUncalMagnetometer (uint8_t ID, EventBits_t rpt_bit, BNO08xPrivateTypes::bno08x_sync_ctx_t *sync_ctx)
 
bool enable (uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg) override
 Enables uncalibrated magnetometer reports such that the BNO08x begins sending them. More...
 
void get (bno08x_magf_t &magf, bno08x_magf_bias_t &bias)
 Grabs most recent uncalibrated magnetometer data, units are in uTesla. More...
 
bno08x_magf_t get_magf ()
 Grabs most recent uncalibrated magnetometer magnetic field data, units are in uTesla. More...
 
bno08x_magf_bias_t get_bias ()
 Grabs most recent uncalibrated magnetometer bias data, units are in uTesla. More...
 
- Public Member Functions inherited from BNO08xRpt
bool disable (sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)
 Disables a sensor report by setting its period to 0us such that the BNO08x stops sending it. More...
 
bool register_cb (std::function< void(void)> cb_fxn)
 Registers a callback to execute when new data from a specific report is received. More...
 
bool has_new_data ()
 Checks if a new report has been received since the last time this function was called. More...
 
bool flush ()
 Flush all buffered reports for this sensor/report module. More...
 
bool get_sample_counts (bno08x_sample_counts_t &sample_counts)
 Gets sample counts for this sensor (see SH-2 ref manual 6.4.3.1) More...
 
bool clear_sample_counts ()
 Clears BNO08x internal sample counts for this sensor. (see SH-2 ref manual 6.4.3.1) More...
 
bool get_meta_data (bno08x_meta_data_t &meta_data)
 Retrieves meta data for this sensor/report by reading respective record in FRS (flash record system). More...
 
virtual bool enable (uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)=0
 

Additional Inherited Members

- Protected Member Functions inherited from BNO08xRpt
bool rpt_enable (uint32_t time_between_reports, sh2_SensorConfig_t sensor_cfg=BNO08xPrivateTypes::default_sensor_cfg)
 Enables a sensor report such that the BNO08x begins sending it. More...
 
virtual void update_data (sh2_SensorValue_t *sensor_val)=0
 
 BNO08xRpt (uint8_t ID, EventBits_t rpt_bit, BNO08xPrivateTypes::bno08x_sync_ctx_t *sync_ctx)
 BNO08xRpt report constructor. More...
 
void unlock_sh2_HAL ()
 Unlocks sh2 HAL lib to allow other tasks to call its APIs. More...
 
void lock_sh2_HAL ()
 Locks sh2 HAL lib to only allow the calling task to call its APIs. More...
 
void unlock_user_data ()
 Unlocks user data to allow other tasks to read/modify it. More...
 
void lock_user_data ()
 Locks locks user data to only allow the calling task to read/modify it. More...
 
void signal_data_available ()
 Signals to BNO08x::data_available() that a new report has arrived. More...
 
- Protected Attributes inherited from BNO08xRpt
uint8_t ID
 Report ID, ex. SH2_ACCELERATION. More...
 
EventBits_t rpt_bit
 Respective enable and data bit for report in evt_grp_rpt_en and evt_grp_rpt_data. More...
 
uint32_t period_us
 The period/interval of the report in microseconds. More...
 
BNO08xPrivateTypes::bno08x_sync_ctx_tsync_ctx
 
- Static Protected Attributes inherited from BNO08xRpt
static const constexpr float RAD_2_DEG
 Constant for radian to degree conversions, sed in quaternion to euler function conversions. More...
 
static const constexpr char * TAG = "BNO08xRpt"
 

Detailed Description

Class to represent uncalibrated magnetometer reports. (See Ref. Manual 6.5.17)

Constructor & Destructor Documentation

◆ BNO08xRptUncalMagnetometer()

BNO08xRptUncalMagnetometer::BNO08xRptUncalMagnetometer ( uint8_t  ID,
EventBits_t  rpt_bit,
BNO08xPrivateTypes::bno08x_sync_ctx_t sync_ctx 
)
inline

Member Function Documentation

◆ enable()

bool BNO08xRptUncalMagnetometer::enable ( uint32_t  time_between_reports,
sh2_SensorConfig_t  sensor_cfg = BNO08xPrivateTypes::default_sensor_cfg 
)
overridevirtual

Enables uncalibrated magnetometer reports such that the BNO08x begins sending them.

Parameters
report_period_usThe period/interval of the report in microseconds.
sensor_cfgSensor special configuration (optional, see BNO08xPrivateTypes::default_sensor_cfg for defaults).
Returns
True if report was successfully enabled.

Implements BNO08xRpt.

Here is the call graph for this function:

◆ get()

void BNO08xRptUncalMagnetometer::get ( bno08x_magf_t magf,
bno08x_magf_bias_t bias 
)

Grabs most recent uncalibrated magnetometer data, units are in uTesla.

Parameters
magfStruct to store requested magf data.
biasStruct to store requested bias data.
Returns
void, nothing to return
Here is the call graph for this function:

◆ get_bias()

bno08x_magf_bias_t BNO08xRptUncalMagnetometer::get_bias ( )

Grabs most recent uncalibrated magnetometer bias data, units are in uTesla.

Returns
Struct containing requested data.
Here is the call graph for this function:

◆ get_magf()

bno08x_magf_t BNO08xRptUncalMagnetometer::get_magf ( )

Grabs most recent uncalibrated magnetometer magnetic field data, units are in uTesla.

Returns
Struct containing requested data.
Here is the call graph for this function:

The documentation for this class was generated from the following files: