10#include <etl/variant.h>
12#include <freertos/FreeRTOS.h>
13#include <freertos/semphr.h>
14#include <freertos/event_groups.h>
22 using bno08x_cb_list_t = etl::vector<etl::variant<BNO08xCbParamVoid, BNO08xCbParamRptID>,
23 CONFIG_ESP32_BNO08X_CB_MAX>;
126 .changeSensitivityEnabled =
false,
127 .changeSensitivityRelative =
false,
128 .wakeupEnabled =
false,
129 .alwaysOnEnabled =
false,
130 .changeSensitivity = 0,
131 .reportInterval_us = 0,
132 .batchInterval_us = 0,
133 .sensorSpecific = 0};
Definition BNO08xPrivateTypes.hpp:21
struct BNO08xPrivateTypes::bno08x_init_status_t bno08x_init_status_t
Holds info about which functionality has been successfully initialized (used by deconstructor during ...
static sh2_SensorConfig default_sensor_cfg
Definition BNO08xPrivateTypes.hpp:125
bno08x_tsk_bit_t
Bits for evt_grp_bno08x_task.
Definition BNO08xPrivateTypes.hpp:114
@ EVT_GRP_BNO08x_TASK_DATA_AVAILABLE
When this bit is set it indicates a report has been received for the user to read,...
Definition BNO08xPrivateTypes.hpp:121
@ 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 duratio...
Definition BNO08xPrivateTypes.hpp:115
@ 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 transac...
Definition BNO08xPrivateTypes.hpp:117
@ 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 ...
Definition BNO08xPrivateTypes.hpp:119
struct BNO08xPrivateTypes::bno08x_sync_ctx_t bno08x_sync_ctx_t
Holds context used to synchronize tasks and callback execution.
etl::vector< etl::variant< BNO08xCbParamVoid, BNO08xCbParamRptID >, CONFIG_ESP32_BNO08X_CB_MAX > bno08x_cb_list_t
Alias for vector type to contain both cb flavors.
Definition BNO08xPrivateTypes.hpp:22
bno08x_rpt_bit_t
Bits for evt_grp_rpt_en & evt_grp_rpt_data_available.
Definition BNO08xPrivateTypes.hpp:80
@ EVT_GRP_RPT_UNCAL_GYRO_BIT
When set, uncalibrated gyro reports are active.
Definition BNO08xPrivateTypes.hpp:91
@ EVT_GRP_RPT_GYRO_INTEGRATED_RV_BIT
When set, gyro integrator rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:85
@ EVT_GRP_RPT_LINEAR_ACCELEROMETER_BIT
When set, linear accelerometer reports are active.
Definition BNO08xPrivateTypes.hpp:88
@ EVT_GRP_RPT_ALL
Definition BNO08xPrivateTypes.hpp:103
@ EVT_GRP_RPT_GEOMAG_RV_BIT
When set, geomagnetic rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:86
@ EVT_GRP_RPT_ACTIVITY_CLASSIFIER_BIT
When set, activity classifier reports are active.
Definition BNO08xPrivateTypes.hpp:97
@ EVT_GRP_RPT_UNCAL_MAGNETOMETER_BIT
When set, uncalibrated magnetometer reports are active.
Definition BNO08xPrivateTypes.hpp:93
@ EVT_GRP_RPT_ACCELEROMETER_BIT
When set, accelerometer reports are active.
Definition BNO08xPrivateTypes.hpp:87
@ EVT_GRP_RPT_RAW_MAGNETOMETER_BIT
When set, raw magnetometer reports are active.
Definition BNO08xPrivateTypes.hpp:101
@ EVT_GRP_RPT_RV_ARVR_S_BIT
When set, ARVR stabilized rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:83
@ EVT_GRP_RPT_RV_ARVR_S_GAME_BIT
When set, ARVR stabilized game rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:84
@ EVT_GRP_RPT_RAW_ACCELEROMETER_BIT
When set, raw accelerometer reports are active.
Definition BNO08xPrivateTypes.hpp:99
@ EVT_GRP_RPT_GRAVITY_BIT
When set, gravity reports are active.
Definition BNO08xPrivateTypes.hpp:89
@ EVT_GRP_RPT_RV_BIT
When set, rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:81
@ EVT_GRP_RPT_CAL_MAGNETOMETER_BIT
When set, calibrated magnetometer reports are active.
Definition BNO08xPrivateTypes.hpp:92
@ EVT_GRP_RPT_RV_GAME_BIT
When set, game rotation vector reports are active.
Definition BNO08xPrivateTypes.hpp:82
@ EVT_GRP_RPT_TAP_DETECTOR_BIT
When set, tap detector reports are active.
Definition BNO08xPrivateTypes.hpp:94
@ EVT_GRP_RPT_SHAKE_DETECTOR_BIT
When set, shake detector reports are active.
Definition BNO08xPrivateTypes.hpp:98
@ EVT_GRP_RPT_RAW_GYRO_BIT
When set, raw gyro reports are active.
Definition BNO08xPrivateTypes.hpp:100
@ EVT_GRP_RPT_STABILITY_CLASSIFIER_BIT
When set, stability classifier reports are active.
Definition BNO08xPrivateTypes.hpp:96
@ EVT_GRP_RPT_CAL_GYRO_BIT
When set, calibrated gyro reports are active.
Definition BNO08xPrivateTypes.hpp:90
@ EVT_GRP_RPT_STEP_COUNTER_BIT
When set, step counter reports are active.
Definition BNO08xPrivateTypes.hpp:95
Holds info about which functionality has been successfully initialized (used by deconstructor during ...
Definition BNO08xPrivateTypes.hpp:28
bool sh2_HAL_service_task
True if xTaskCreate has been called successfully for sh2_HAL_service_task.
Definition BNO08xPrivateTypes.hpp:36
bool isr_service
True if global ISR service has been initialized.
Definition BNO08xPrivateTypes.hpp:31
bool sh2_HAL
True if sh2_open() has been called successfully.
Definition BNO08xPrivateTypes.hpp:38
bno08x_init_status_t()
Definition BNO08xPrivateTypes.hpp:40
bool isr_handler
True if HINT ISR handler has been initialized.
Definition BNO08xPrivateTypes.hpp:32
bool spi_bus
True if spi_bus_initialize() has been called successfully.
Definition BNO08xPrivateTypes.hpp:33
bool gpio_inputs
True if GPIO inputs have been initialized.
Definition BNO08xPrivateTypes.hpp:30
bool spi_device
True if spi_bus_add_device() has been called successfully.
Definition BNO08xPrivateTypes.hpp:34
bool gpio_outputs
True if GPIO outputs have been initialized.
Definition BNO08xPrivateTypes.hpp:29
bool cb_task
True if xTaskCreate has been called successfully for cb_task.
Definition BNO08xPrivateTypes.hpp:37
bool data_proc_task
True if xTaskCreate has been called successfully for data_proc_task.
Definition BNO08xPrivateTypes.hpp:35
Holds context used to synchronize tasks and callback execution.
Definition BNO08xPrivateTypes.hpp:57
EventGroupHandle_t evt_grp_rpt_data_available
Event group for indicating to BNO08xRpt::has_new_data() that a module received a new report.
Definition BNO08xPrivateTypes.hpp:63
bno08x_sync_ctx_t()
Definition BNO08xPrivateTypes.hpp:68
SemaphoreHandle_t sh2_HAL_lock
Mutex to prevent sh2 HAL lib functions from being accessed at same time.
Definition BNO08xPrivateTypes.hpp:58
SemaphoreHandle_t data_lock
Mutex to prevent user from reading data while data_proc_task() updates it, and vice versa.
Definition BNO08xPrivateTypes.hpp:60
etl::vector< uint8_t, TOTAL_RPT_COUNT > en_report_ids
Vector to contain IDs of currently enabled reports.
Definition BNO08xPrivateTypes.hpp:65
EventGroupHandle_t evt_grp_task
Event group for indicating various BNO08x related events between tasks.
Definition BNO08xPrivateTypes.hpp:64
bno08x_cb_list_t cb_list
Vector to contain registered callbacks.
Definition BNO08xPrivateTypes.hpp:66
EventGroupHandle_t evt_grp_rpt_en
Event group for indicating which reports are currently enabled.
Definition BNO08xPrivateTypes.hpp:61