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

Classes | Typedefs | Enumerations
BNO08xPrivateTypes Namespace Reference

## Classes
struct | bno08x_init_status_t
| Holds info about which functionality has been successfully initialized (used by deconstructor during cleanup). More...
struct | bno08x_sync_ctx_t
| Holds context used to synchronize tasks and callback execution. More...

## Typedefs
using | bno08x_cb_list_t = etl::vector< etl::variant< BNO08xCbParamVoid, BNO08xCbParamRptID >, CONFIG_ESP32_BNO08X_CB_MAX >
| Alias for vector type to contain both cb flavors. More...
typedef struct BNO08xPrivateTypes::bno08x_init_status_t | bno08x_init_status_t
| Holds info about which functionality has been successfully initialized (used by deconstructor during cleanup). More...
typedef struct BNO08xPrivateTypes::bno08x_sync_ctx_t | bno08x_sync_ctx_t
| Holds context used to synchronize tasks and callback execution. More...

## Enumerations
enum | bno08x_rpt_bit_t : EventBits_t { EVT_GRP_RPT_RV_BIT = (1UL << 0U) , EVT_GRP_RPT_RV_GAME_BIT = (1UL << 1U) , EVT_GRP_RPT_RV_ARVR_S_BIT = (1UL << 2U) , EVT_GRP_RPT_RV_ARVR_S_GAME_BIT = (1UL << 3U) , EVT_GRP_RPT_GYRO_INTEGRATED_RV_BIT = (1UL << 4U) , EVT_GRP_RPT_GEOMAG_RV_BIT = (1UL << 5U) , EVT_GRP_RPT_ACCELEROMETER_BIT = (1UL << 6U) , EVT_GRP_RPT_LINEAR_ACCELEROMETER_BIT = (1UL << 7U) , EVT_GRP_RPT_GRAVITY_BIT = (1UL << 8U) , EVT_GRP_RPT_CAL_GYRO_BIT = (1UL << 9U) , EVT_GRP_RPT_UNCAL_GYRO_BIT = (1UL << 10U) , EVT_GRP_RPT_CAL_MAGNETOMETER_BIT = (1UL << 11U) , EVT_GRP_RPT_UNCAL_MAGNETOMETER_BIT = (1UL << 12U) , EVT_GRP_RPT_TAP_DETECTOR_BIT = (1UL << 13U) , EVT_GRP_RPT_STEP_COUNTER_BIT = (1UL << 14U) , EVT_GRP_RPT_STABILITY_CLASSIFIER_BIT = (1UL << 15U) , EVT_GRP_RPT_ACTIVITY_CLASSIFIER_BIT = (1UL << 16U) , EVT_GRP_RPT_SHAKE_DETECTOR_BIT = (1UL << 17U) , EVT_GRP_RPT_RAW_ACCELEROMETER_BIT = (1UL << 18U) , EVT_GRP_RPT_RAW_GYRO_BIT = (1UL << 19U) , EVT_GRP_RPT_RAW_MAGNETOMETER_BIT = (1UL << 20U) , EVT_GRP_RPT_CIRCLE_DETECTOR_BIT = (1UL << 21U) , EVT_GRP_RPT_ALL }
| Bits for evt_grp_rpt_en & evt_grp_rpt_data_available. More...
enum | bno08x_tsk_bit_t : EventBits_t { EVT_GRP_BNO08x_TASKS_RUNNING , EVT_GRP_BNO08x_TASK_HINT_ASSRT_BIT , EVT_GRP_BNO08x_TASK_RESET_OCCURRED , EVT_GRP_BNO08x_TASK_DATA_AVAILABLE }
| Bits for evt_grp_bno08x_task. More...

## Typedef Documentation

## ◆ bno08x_cb_list_t

using BNO08xPrivateTypes::bno08x_cb_list_t = typedef etl::vector<etl::variant<BNO08xCbParamVoid, BNO08xCbParamRptID>, CONFIG_ESP32_BNO08X_CB_MAX>

Alias for vector type to contain both cb flavors.

## ◆ bno08x_init_status_t

typedef struct BNO08xPrivateTypes::bno08x_init_status_t BNO08xPrivateTypes::bno08x_init_status_t

Holds info about which functionality has been successfully initialized (used by deconstructor during cleanup).

## ◆ bno08x_sync_ctx_t

typedef struct BNO08xPrivateTypes::bno08x_sync_ctx_t BNO08xPrivateTypes::bno08x_sync_ctx_t

Holds context used to synchronize tasks and callback execution.

## Enumeration Type Documentation

## ◆ bno08x_rpt_bit_t

enum BNO08xPrivateTypes::bno08x_rpt_bit_t : EventBits_t

Bits for evt_grp_rpt_en & evt_grp_rpt_data_available.

Enumerator
EVT_GRP_RPT_RV_BIT | When set, rotation vector reports are active.
EVT_GRP_RPT_RV_GAME_BIT | When set, game rotation vector reports are active.
EVT_GRP_RPT_RV_ARVR_S_BIT | When set, ARVR stabilized rotation vector reports are active.
EVT_GRP_RPT_RV_ARVR_S_GAME_BIT | When set, ARVR stabilized game rotation vector reports are active.
EVT_GRP_RPT_GYRO_INTEGRATED_RV_BIT | When set, gyro integrator rotation vector reports are active.
EVT_GRP_RPT_GEOMAG_RV_BIT | When set, geomagnetic rotation vector reports are active.
EVT_GRP_RPT_ACCELEROMETER_BIT | When set, accelerometer reports are active.
EVT_GRP_RPT_LINEAR_ACCELEROMETER_BIT | When set, linear accelerometer reports are active.
EVT_GRP_RPT_GRAVITY_BIT | When set, gravity reports are active.
EVT_GRP_RPT_CAL_GYRO_BIT | When set, calibrated gyro reports are active.
EVT_GRP_RPT_UNCAL_GYRO_BIT | When set, uncalibrated gyro reports are active.
EVT_GRP_RPT_CAL_MAGNETOMETER_BIT | When set, calibrated magnetometer reports are active.
EVT_GRP_RPT_UNCAL_MAGNETOMETER_BIT | When set, uncalibrated magnetometer reports are active.
EVT_GRP_RPT_TAP_DETECTOR_BIT | When set, tap detector reports are active.
EVT_GRP_RPT_STEP_COUNTER_BIT | When set, step counter reports are active.
EVT_GRP_RPT_STABILITY_CLASSIFIER_BIT | When set, stability classifier reports are active.
EVT_GRP_RPT_ACTIVITY_CLASSIFIER_BIT | When set, activity classifier reports are active.
EVT_GRP_RPT_SHAKE_DETECTOR_BIT | When set, shake detector reports are active.
EVT_GRP_RPT_RAW_ACCELEROMETER_BIT | When set, raw accelerometer reports are active.
EVT_GRP_RPT_RAW_GYRO_BIT | When set, raw gyro reports are active.
EVT_GRP_RPT_RAW_MAGNETOMETER_BIT | When set, raw magnetometer reports are active.
EVT_GRP_RPT_CIRCLE_DETECTOR_BIT | When set, circle detector reports are active.
EVT_GRP_RPT_ALL |

## ◆ bno08x_tsk_bit_t

enum BNO08xPrivateTypes::bno08x_tsk_bit_t : EventBits_t

Bits for evt_grp_bno08x_task.

Enumerator
EVT_GRP_BNO08x_TASKS_RUNNING | When this bit is set it indicates the BNO08x tasks are running, it is always set to 1 for the duration of the BNO08x driver object. Cleared in the destructor for safe task deletion.
EVT_GRP_BNO08x_TASK_HINT_ASSRT_BIT | When this bit is set it indicates the BNO08x has asserted its host interrupt pin, thus an SPI transaction should commence.
EVT_GRP_BNO08x_TASK_RESET_OCCURRED | When this bit is set it indicates the SH2 HAL lib has reset the IMU, any reports enabled by the user must be re-enabled.
EVT_GRP_BNO08x_TASK_DATA_AVAILABLE | When this bit is set it indicates a report has been received for the user to read, cleared in data_available() set/cleared in handle_sensor_report().