|
esp32_BNO08x 1.31
C++ BNO08x IMU driver component for esp-idf.
|
Class to represent step counter reports. (See Ref. Manual 6.5.29) More...
#include <BNO08xRptStepCounter.hpp>


Public Member Functions | |
| BNO08xRptStepCounter (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 step counter reports such that the BNO08x begins sending them. | |
| bno08x_step_counter_t | get () |
| Grabs most recent step counter data (rollover not accounted for in step count, just most recent report data). | |
| uint32_t | get_total_steps () |
| Grabs the total step count since boot, accounts for rollover in report data. | |
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. | |
| bool | register_cb (std::function< void(void)> cb_fxn) |
| Registers a callback to execute when new data from a specific report is received. | |
| bool | has_new_data () |
| Checks if a new report has been received since the last time this function was called. | |
| bool | flush () |
| Flush all buffered reports for this sensor/report module. | |
| 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) | |
| bool | clear_sample_counts () |
| Clears BNO08x internal sample counts for this sensor. (see SH-2 ref manual 6.4.3.1) | |
| 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). | |
Private Member Functions | |
| void | update_data (sh2_SensorValue_t *sensor_val) override |
| Updates step counter data from decoded sensor event. | |
Private Attributes | |
| bno08x_step_counter_t | data |
| Most recent report data, doesn't account for step rollover. | |
| uint32_t | step_accumulator |
| Every time step count rolls over, the previous steps are accumulated here such that the total steps can always be calculated. | |
Static Private Attributes | |
| static const constexpr char * | TAG = "BNO08xRptStepCounter" |
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. | |
| BNO08xRpt (uint8_t ID, EventBits_t rpt_bit, BNO08xPrivateTypes::bno08x_sync_ctx_t *sync_ctx) | |
| BNO08xRpt report constructor. | |
| void | unlock_sh2_HAL () |
| Unlocks sh2 HAL lib to allow other tasks to call its APIs. | |
| void | lock_sh2_HAL () |
| Locks sh2 HAL lib to only allow the calling task to call its APIs. | |
| void | unlock_user_data () |
| Unlocks user data to allow other tasks to read/modify it. | |
| void | lock_user_data () |
| Locks locks user data to only allow the calling task to read/modify it. | |
| void | signal_data_available () |
| Signals to BNO08x::data_available() that a new report has arrived. | |
Protected Attributes inherited from BNO08xRpt | |
| uint8_t | ID |
| Report ID, ex. SH2_ACCELERATION. | |
| EventBits_t | rpt_bit |
| Respective enable and data bit for report in evt_grp_rpt_en and evt_grp_rpt_data. | |
| uint32_t | period_us |
| The period/interval of the report in microseconds. | |
| BNO08xPrivateTypes::bno08x_sync_ctx_t * | sync_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. | |
| static const constexpr char * | TAG = "BNO08xRpt" |
Class to represent step counter reports. (See Ref. Manual 6.5.29)
|
inline |
|
overridevirtual |
Enables step counter reports such that the BNO08x begins sending them.
| report_period_us | The period/interval of the report in microseconds. |
| sensor_cfg | Sensor special configuration (optional, see BNO08xPrivateTypes::default_sensor_cfg for defaults). |
Implements BNO08xRpt.

| bno08x_step_counter_t BNO08xRptStepCounter::get | ( | ) |
Grabs most recent step counter data (rollover not accounted for in step count, just most recent report data).

| uint32_t BNO08xRptStepCounter::get_total_steps | ( | ) |
Grabs the total step count since boot, accounts for rollover in report data.

|
overrideprivatevirtual |
Updates step counter data from decoded sensor event.
| sensor_val | The sh2_SensorValue_t struct used in sh2_decodeSensorEvent() call. |
Implements BNO08xRpt.

|
private |
Most recent report data, doesn't account for step rollover.
|
private |
Every time step count rolls over, the previous steps are accumulated here such that the total steps can always be calculated.
|
staticconstexprprivate |