esp32_BNO08x 1.3
C++ BNO08x IMU driver component for esp-idf.
Loading...
Searching...
No Matches
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
 Alias for vector type to contain both cb flavors.
 
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).
 
typedef struct BNO08xPrivateTypes::bno08x_sync_ctx_t bno08x_sync_ctx_t
 Holds context used to synchronize tasks and callback execution.
 

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

Variables

static sh2_SensorConfig default_sensor_cfg
 

Typedef Documentation

◆ bno08x_cb_list_t

Initial value:
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

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_ALL 

◆ bno08x_tsk_bit_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().

Variable Documentation

◆ default_sensor_cfg

sh2_SensorConfig BNO08xPrivateTypes::default_sensor_cfg
inlinestatic
Initial value:
= {
.changeSensitivityEnabled = false,
.changeSensitivityRelative = false,
.wakeupEnabled = false,
.alwaysOnEnabled = false,
.changeSensitivity = 0,
.reportInterval_us = 0,
.batchInterval_us = 0,
.sensorSpecific = 0}