# esp32_BNO08x: include/BNO08xGlobalTypes.hpp Source File

Loading...
Searching...
No Matches
BNO08xGlobalTypes.hpp
Go to the documentation of this file.
#pragma once
// macros for bno08x_tap_detector_t
#define TAP_DETECTED_X_AXIS(tap) ((tap) & (1U << 0U) ? 1 : 0)
#define TAP_DETECTED_X_AXIS_POSITIVE(tap) ((tap) & (1U << 1U) ? 1 : 0)
#define TAP_DETECTED_Y_AXIS(tap) ((tap) & (1U << 2U) ? 1 : 0)
#define TAP_DETECTED_Y_AXIS_POSITIVE(tap) ((tap) & (1U << 3U) ? 1 : 0)
#define TAP_DETECTED_Z_AXIS(tap) ((tap) & (1U << 4U) ? 1 : 0)
#define TAP_DETECTED_Z_AXIS_POSITIVE(tap) ((tap) & (1U << 5U) ? 1 : 0)
#define TAP_DETECTED_DOUBLE(tap) ((tap) & (1U << 6U) ? 1 : 0)
// macros for bno08x_shake_detector_t
#define SHAKE_DETECTED_X(tap) ((tap) & (1U << 0U) ? 1 : 0)
#define SHAKE_DETECTED_Y(tap) ((tap) & (1U << 1U) ? 1 : 0)
#define SHAKE_DETECTED_Z(tap) ((tap) & (1U << 2U) ? 1 : 0)
// standard library includes
#include <math.h>
#include <inttypes.h>
#include <stdint.h>
#include <cstring>
// esp-idf includes
#include <driver/gpio.h>
#include <driver/spi_common.h>
#include <driver/spi_master.h>
// third-party includes
#include "sh2_SensorValue.h"
typedef struct bno08x_config_t
{
spi_host_device_t spi_peripheral;
gpio_num_t io_mosi;
gpio_num_t io_miso;
gpio_num_t io_sclk;
gpio_num_t io_cs;
gpio_num_t io_int;
gpio_num_t io_rst;
uint32_t sclk_speed;
bool install_isr_service;
bno08x_config_t(bool install_isr_service = true)
: spi_peripheral((spi_host_device_t) CONFIG_ESP32_BNO08x_SPI_HOST)
, io_mosi(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_DI)) // default: 23
, io_miso(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_SDA)) // default: 19
, io_sclk(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_SCL)) // default: 18
, io_cs(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_CS)) // default: 33
, io_int(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_HINT)) // default: 26
, io_rst(static_cast<gpio_num_t>(CONFIG_ESP32_BNO08X_GPIO_RST)) // default: 32
, sclk_speed(static_cast<uint32_t>(CONFIG_ESP32_BNO08X_SCL_SPEED_HZ)) // default: 2MHz
, install_isr_service(install_isr_service) // default: true
{
}
bno08x_config_t(spi_host_device_t spi_peripheral, gpio_num_t io_mosi, gpio_num_t io_miso, gpio_num_t io_sclk,
gpio_num_t io_cs, gpio_num_t io_int, gpio_num_t io_rst, uint32_t sclk_speed, bool install_isr_service = true)
: spi_peripheral(spi_peripheral)
, io_mosi(io_mosi)
, io_miso(io_miso)
, io_sclk(io_sclk)
, io_cs(io_cs)
, io_int(io_int)
, io_rst(io_rst)
, sclk_speed(sclk_speed)
, install_isr_service(install_isr_service)
{
}
} bno08x_config_t;
typedef bno08x_config_t imu_config_t; // legacy version compatibility
enum class BNO08xCalSel
{
accelerometer = SH2_CAL_ACCEL,
gyro = SH2_CAL_GYRO,
magnetometer = SH2_CAL_MAG,
planar_accelerometer = SH2_CAL_PLANAR,
all = (SH2_CAL_ACCEL | SH2_CAL_GYRO | SH2_CAL_MAG | SH2_CAL_PLANAR)
};
enum class BNO08xResetReason
{
UNDEFINED,
POR,
INT_RST,
WTD,
EXT_RST,
OTHER
};
enum class BNO08xAccuracy
{
UNRELIABLE,
LOW,
MED,
HIGH,
UNDEFINED
};
using IMUAccuracy = BNO08xAccuracy; // legacy version compatibility
enum class BNO08xActivityEnable
{
UNKNOWN = (1U << 0U),
IN_VEHICLE = (1U << 1U),
ON_BICYCLE = (1U << 2U),
ON_FOOT = (1U << 3U),
STILL = (1U << 4U),
TILTING = (1U << 5U),
WALKING = (1U << 6U),
RUNNING = (1U << 7U),
ON_STAIRS = (1U << 8U),
ALL = 0x1FU
};
enum class BNO08xActivity
{
UNKNOWN = 0, // 0 = unknown
IN_VEHICLE = 1, // 1 = in vehicle
ON_BICYCLE = 2, // 2 = on bicycle
ON_FOOT = 3, // 3 = on foot
STILL = 4, // 4 = still
TILTING = 5, // 5 = tilting
WALKING = 6, // 6 = walking
RUNNING = 7, // 7 = running
ON_STAIRS = 8, // 8 = on stairs
UNDEFINED = 9 // used for unit tests
};
enum class BNO08xStability
{
UNKNOWN = 0, // 0 = unknown
ON_TABLE = 1, // 1 = on table
STATIONARY = 2, // 2 = stationary
STABLE = 3, // 3 = stable
MOTION = 4, // 4 = in motion
RESERVED = 5, // 5 = reserved (not used)
UNDEFINED = 6 // used for unit tests
};
typedef struct bno08x_quat_t
{
float real;
float i;
float j;
float k;
BNO08xAccuracy accuracy;
float rad_accuracy;
bno08x_quat_t()
: real(0.0f)
, i(0.0f)
, j(0.0f)
, k(0.0f)
, accuracy(BNO08xAccuracy::UNDEFINED)
, rad_accuracy(0.0f)
{
}
// overloaded assignment operator to handle RV with rad accuracy
bno08x_quat_t& operator=(const sh2_RotationVectorWAcc_t& source)
{
this->real = source.real;
this->i = source.i;
this->j = source.j;
this->k = source.k;
this->rad_accuracy = source.accuracy;
return *this;
}
// overloaded assignment operator to handle RV with w/o rad accuracy
bno08x_quat_t& operator=(const sh2_RotationVector_t& source)
{
this->real = source.real;
this->i = source.i;
this->j = source.j;
this->k = source.k;
this->rad_accuracy = 0.0f;
return *this;
}
// overloaded assignment operator to handle IRV report
bno08x_quat_t& operator=(const sh2_GyroIntegratedRV_t& source)
{
this->real = source.real;
this->i = source.i;
this->j = source.j;
this->k = source.k;
this->rad_accuracy = 0.0f;
return *this;
}
} bno08x_quat_t;
typedef struct bno08x_euler_angle_t
{
float x;
float y;
float z;
BNO08xAccuracy accuracy;
float rad_accuracy;
bno08x_euler_angle_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
, accuracy(BNO08xAccuracy::UNDEFINED)
, rad_accuracy(0.0f)
{
}
// overloaded = operator for quat to euler conversion
bno08x_euler_angle_t& operator=(const bno08x_quat_t& source)
{
this->x = atan2(2.0f * (source.real * source.i + source.j * source.k),
1.0f - 2.0f * (source.i * source.i + source.j * source.j));
this->y = asin(2.0f * (source.real * source.j - source.k * source.i));
this->z = atan2(2.0f * (source.real * source.k + source.i * source.j),
1.0f - 2.0f * (source.j * source.j + source.k * source.k));
this->rad_accuracy = source.rad_accuracy;
this->accuracy = source.accuracy;
return *this;
}
// overloaded *= operator for rad2deg conversions
template <typename T>
bno08x_euler_angle_t& operator*=(T value)
{
x *= static_cast<float>(value);
y *= static_cast<float>(value);
z *= static_cast<float>(value);
rad_accuracy *= static_cast<float>(value);
return *this;
}
} bno08x_euler_angle_t;
typedef struct bno08x_ang_vel_t
{
float x;
float y;
float z;
bno08x_ang_vel_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
{
}
// overloaded *= operator for rad2deg conversions
template <typename T>
bno08x_ang_vel_t& operator*=(T value)
{
x *= static_cast<float>(value);
y *= static_cast<float>(value);
z *= static_cast<float>(value);
return *this;
}
// strip sh2_GyroIntegratedRV_t of velocity data for IRV reports
bno08x_ang_vel_t& operator=(const sh2_GyroIntegratedRV_t& source)
{
this->x = source.angVelX;
this->y = source.angVelY;
this->z = source.angVelZ;
return *this;
}
} bno08x_ang_vel_t;
typedef struct bno08x_magf_t
{
float x;
float y;
float z;
BNO08xAccuracy accuracy;
bno08x_magf_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// overloaded = operator for sh2_MagneticField_t conversion
bno08x_magf_t& operator=(const sh2_MagneticField_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
return *this;
}
// overloaded = operator for sh2_MagneticFieldUncalibrated_t conversion
bno08x_magf_t& operator=(const sh2_MagneticFieldUncalibrated_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
return *this;
}
} bno08x_magf_t;
typedef struct bno08x_magf_bias_t
{
float x;
float y;
float z;
bno08x_magf_bias_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
{
}
// overloaded = operator for sh2_MagneticFieldUncalibrated_t conversion
bno08x_magf_bias_t& operator=(const sh2_MagneticFieldUncalibrated_t& source)
{
this->x = source.biasX;
this->y = source.biasY;
this->z = source.biasZ;
return *this;
}
} bno08x_magf_bias_t;
typedef struct bno08x_gyro_t
{
float x;
float y;
float z;
BNO08xAccuracy accuracy;
bno08x_gyro_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// overloaded = operator for sh2_Gyroscope_t conversion
bno08x_gyro_t& operator=(const sh2_Gyroscope_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
return *this;
}
// overloaded = operator for sh2_GyroscopeUncalibrated conversion
bno08x_gyro_t& operator=(const sh2_GyroscopeUncalibrated& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
return *this;
}
} bno08x_gyro_t;
typedef struct bno08x_gyro_bias_t
{
float x;
float y;
float z;
bno08x_gyro_bias_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
{
}
// overloaded = operator for sh2_GyroscopeUncalibrated conversion
bno08x_gyro_bias_t& operator=(const sh2_GyroscopeUncalibrated& source)
{
this->x = source.biasX;
this->y = source.biasY;
this->z = source.biasZ;
return *this;
}
} bno08x_gyro_bias_t;
typedef struct bno08x_activity_classifier_t
{
uint8_t page;
bool lastPage;
BNO08xActivity mostLikelyState;
uint8_t confidence[10];
BNO08xAccuracy accuracy;
bno08x_activity_classifier_t()
: page(0U)
, lastPage(false)
, mostLikelyState(BNO08xActivity::UNDEFINED)
, confidence({})
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_PersonalActivityClassifier_t
bno08x_activity_classifier_t& operator=(const sh2_PersonalActivityClassifier_t& source)
{
this->page = source.page;
this->lastPage = source.lastPage;
this->mostLikelyState = static_cast< BNO08xActivity >(source.mostLikelyState);
for (int i = 0; i < 10; ++i)
this->confidence[i] = source.confidence[i];
return *this;
}
} bno08x_activity_classifier_t;
typedef struct bno08x_tap_detector_t
{
int8_t x_flag;
int8_t y_flag;
int8_t z_flag;
bool double_tap;
BNO08xAccuracy accuracy;
bno08x_tap_detector_t()
: x_flag(0)
, y_flag(0)
, z_flag(0)
, double_tap(false)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// overloaded = operator for sh2_GyroscopeUncalibrated conversion
bno08x_tap_detector_t& operator=(const sh2_TapDetector_t& source)
{
if (TAP_DETECTED_X_AXIS(source.flags))
this->x_flag = -1;
else
this->x_flag = 0;
if (TAP_DETECTED_X_AXIS_POSITIVE(source.flags))
this->x_flag = 1;
if (TAP_DETECTED_Y_AXIS(source.flags))
this->y_flag = -1;
else
this->y_flag = 0;
if (TAP_DETECTED_Y_AXIS_POSITIVE(source.flags))
this->y_flag = 1;
if (TAP_DETECTED_Z_AXIS(source.flags))
this->z_flag = -1;
else
this->z_flag = 0;
if (TAP_DETECTED_Z_AXIS_POSITIVE(source.flags))
this->z_flag = 1;
if (TAP_DETECTED_DOUBLE(source.flags))
this->double_tap = true;
else
this->double_tap = false;
return *this;
}
} bno08x_tap_detector_t;
typedef struct bno08x_shake_detector_t
{
uint8_t x_flag;
uint8_t y_flag;
uint8_t z_flag;
BNO08xAccuracy accuracy;
bno08x_shake_detector_t()
: x_flag(0U)
, y_flag(0U)
, z_flag(0U)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// overloaded = operator for sh2_GyroscopeUncalibrated conversion
bno08x_shake_detector_t& operator=(const sh2_ShakeDetector_t& source)
{
if (SHAKE_DETECTED_X(source.shake))
this->x_flag = 1U;
else
this->x_flag = 0U;
if (SHAKE_DETECTED_Y(source.shake))
this->y_flag = 1U;
else
this->y_flag = 0U;
if (SHAKE_DETECTED_Z(source.shake))
this->z_flag = 1U;
else
this->z_flag = 0U;
return *this;
}
} bno08x_shake_detector_t;
typedef struct bno08x_accel_t
{
float x;
float y;
float z;
BNO08xAccuracy accuracy;
bno08x_accel_t()
: x(0.0f)
, y(0.0f)
, z(0.0f)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_Accelerometer_t
bno08x_accel_t& operator=(const sh2_Accelerometer_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
return *this;
}
} bno08x_accel_t;
typedef struct bno08x_step_counter_t
{
uint32_t latency;
uint16_t steps;
BNO08xAccuracy accuracy;
bno08x_step_counter_t()
: latency(0UL)
, steps(0U)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_StepCounter_t
bno08x_step_counter_t& operator=(const sh2_StepCounter_t& source)
{
this->latency = source.latency;
this->steps = source.steps;
return *this;
}
} bno08x_step_counter_t;
typedef struct bno08x_raw_gyro_t
{
int16_t x;
int16_t y;
int16_t z;
int16_t temperature;
uint32_t timestamp_us;
BNO08xAccuracy accuracy;
bno08x_raw_gyro_t()
: x(0U)
, y(0U)
, z(0U)
, temperature(0U)
, timestamp_us(0UL)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_RawGyroscope_t
bno08x_raw_gyro_t& operator=(const sh2_RawGyroscope_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
this->temperature = source.temperature;
this->timestamp_us = source.timestamp;
return *this;
}
} bno08x_raw_gyro_t;
typedef struct bno08x_raw_accel_t
{
int16_t x;
int16_t y;
int16_t z;
uint32_t timestamp_us;
BNO08xAccuracy accuracy;
bno08x_raw_accel_t()
: x(0U)
, y(0U)
, z(0U)
, timestamp_us(0UL)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_RawAccelerometer_t
bno08x_raw_accel_t& operator=(const sh2_RawAccelerometer_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
this->timestamp_us = source.timestamp;
return *this;
}
} bno08x_raw_accel_t;
typedef struct bno08x_raw_magf_t
{
int16_t x;
int16_t y;
int16_t z;
uint32_t timestamp_us;
BNO08xAccuracy accuracy;
bno08x_raw_magf_t()
: x(0U)
, y(0U)
, z(0U)
, timestamp_us(0UL)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_RawMagnetometer_t
bno08x_raw_magf_t& operator=(const sh2_RawMagnetometer_t& source)
{
this->x = source.x;
this->y = source.y;
this->z = source.z;
this->timestamp_us = source.timestamp;
return *this;
}
} bno08x_raw_magf_t;
typedef struct bno08x_stability_classifier_t
{
BNO08xStability stability;
BNO08xAccuracy accuracy;
bno08x_stability_classifier_t()
: stability(BNO08xStability::UNDEFINED)
, accuracy(BNO08xAccuracy::UNDEFINED)
{
}
// conversion from sh2_StabilityClassifier_t
bno08x_stability_classifier_t& operator=(const sh2_StabilityClassifier_t& source)
{
this->stability = static_cast< BNO08xStability >(source.classification);
return *this;
}
} bno08x_stability_classifier_t;
typedef struct bno08x_sample_counts_t
{
uint32_t offered;
uint32_t on;
uint32_t accepted;
uint32_t
attempted;
bno08x_sample_counts_t()
: offered(0UL)
, on(0UL)
, accepted(0UL)
, attempted(0UL)
{
}
// conversion from sh2_PersonalActivityClassifier_t
bno08x_sample_counts_t& operator=(const sh2_Counts_t& source)
{
this->offered = source.offered;
this->on = source.on;
this->accepted = source.accepted;
this->attempted = source.attempted;
return *this;
}
} bno08x_sample_counts_t;
typedef struct bno08x_meta_data_t
{
uint8_t me_version;
uint8_t mh_version;
uint8_t sh_version;
uint32_t range;
uint32_t resolution;
uint16_t revision;
uint16_t power_mA;
uint32_t min_period_us;
uint32_t max_period_us;
uint32_t fifo_reserved;
uint32_t fifo_max;
uint32_t batch_buffer_bytes;
uint16_t q_point_1;
uint16_t q_point_2;
uint16_t q_point_3;
uint32_t vendor_id_len;
char vendor_ID[48];
uint32_t sensor_specific_len;
uint8_t sensor_specific[48];
// Default constructor
bno08x_meta_data_t()
: me_version(0)
, mh_version(0)
, sh_version(0)
, range(0)
, resolution(0)
, revision(0)
, power_mA(0)
, min_period_us(0)
, max_period_us(0)
, fifo_reserved(0)
, fifo_max(0)
, batch_buffer_bytes(0)
, q_point_1(0)
, q_point_2(0)
, q_point_3(0)
, vendor_id_len(0)
, sensor_specific_len(0)
{
memset(vendor_ID, 0, sizeof(vendor_ID));
memset(sensor_specific, 0, sizeof(sensor_specific));
}
// Conversion constructor from sh2_SensorMetadata_t
bno08x_meta_data_t(const sh2_SensorMetadata_t& src)
{
me_version = src.meVersion;
mh_version = src.mhVersion;
sh_version = src.shVersion;
range = src.range;
resolution = src.resolution;
revision = src.revision;
power_mA = src.power_mA;
min_period_us = src.minPeriod_uS;
max_period_us = src.maxPeriod_uS;
fifo_reserved = src.fifoReserved;
fifo_max = src.fifoMax;
batch_buffer_bytes = src.batchBufferBytes;
q_point_1 = src.qPoint1;
q_point_2 = src.qPoint2;
q_point_3 = src.qPoint3;
vendor_id_len = src.vendorIdLen;
sensor_specific_len = src.sensorSpecificLen;
memcpy(vendor_ID, src.vendorId, vendor_id_len);
memcpy(sensor_specific, src.sensorSpecific, sensor_specific_len);
}
} bno08x_meta_data_t;
static const constexpr uint8_t TOTAL_RPT_COUNT = 38;
SHAKE_DETECTED_Y
#define SHAKE_DETECTED_Y(tap)
Definition BNO08xGlobalTypes.hpp:19
bno08x_accel_t
struct bno08x_accel_t bno08x_accel_t
Struct to represent acceleration data from acceleration, linear acceleration, and gravity reports.
bno08x_quat_t
struct bno08x_quat_t bno08x_quat_t
Struct to represent unit quaternion.
bno08x_meta_data_t
struct bno08x_meta_data_t bno08x_meta_data_t
Struct to represent sensor/report meta data, returned from BNO08xRpt::get_meta_data()
bno08x_ang_vel_t
struct bno08x_ang_vel_t bno08x_ang_vel_t
Struct to represent angular velocity (units in rad/s)
TAP_DETECTED_Y_AXIS_POSITIVE
#define TAP_DETECTED_Y_AXIS_POSITIVE(tap)
Definition BNO08xGlobalTypes.hpp:12
bno08x_magf_bias_t
struct bno08x_magf_bias_t bno08x_magf_bias_t
Struct to represent magnetic field bias data (units in uTesla)
bno08x_raw_gyro_t
struct bno08x_raw_gyro_t bno08x_raw_gyro_t
Struct to represent raw mems gyro data from raw gyro reports (units in ADC counts).
bno08x_magf_t
struct bno08x_magf_t bno08x_magf_t
Struct to represent magnetic field data (units in uTesla)
BNO08xStability
BNO08xStability
BNO08xStability states returned from BNO08x::stability_classifier.get()
Definition BNO08xGlobalTypes.hpp:147
BNO08xStability::STABLE
@ STABLE
BNO08xStability::STATIONARY
@ STATIONARY
BNO08xStability::ON_TABLE
@ ON_TABLE
BNO08xStability::RESERVED
@ RESERVED
BNO08xStability::MOTION
@ MOTION
bno08x_config_t
struct bno08x_config_t bno08x_config_t
IMU configuration settings passed into constructor.
bno08x_raw_magf_t
struct bno08x_raw_magf_t bno08x_raw_magf_t
Struct to represent raw mems magnetometer data from raw magnetometer reports (units in ADC counts).
TAP_DETECTED_Z_AXIS_POSITIVE
#define TAP_DETECTED_Z_AXIS_POSITIVE(tap)
Definition BNO08xGlobalTypes.hpp:14
bno08x_activity_classifier_t
struct bno08x_activity_classifier_t bno08x_activity_classifier_t
Struct to represent activity classifier data.
bno08x_gyro_bias_t
struct bno08x_gyro_bias_t bno08x_gyro_bias_t
Struct to represent gyro bias data (units in rad/s)
bno08x_shake_detector_t
struct bno08x_shake_detector_t bno08x_shake_detector_t
Struct to represent shake detector data (flag meaning: 0 = no shake 1 = shake detected)
TAP_DETECTED_X_AXIS_POSITIVE
#define TAP_DETECTED_X_AXIS_POSITIVE(tap)
Definition BNO08xGlobalTypes.hpp:10
bno08x_euler_angle_t
struct bno08x_euler_angle_t bno08x_euler_angle_t
Struct to represent euler angle (units in degrees or rads)
TAP_DETECTED_DOUBLE
#define TAP_DETECTED_DOUBLE(tap)
Definition BNO08xGlobalTypes.hpp:15
TOTAL_RPT_COUNT
static const constexpr uint8_t TOTAL_RPT_COUNT
Amount of possible reports returned from BNO08x.
Definition BNO08xGlobalTypes.hpp:803
SHAKE_DETECTED_Z
#define SHAKE_DETECTED_Z(tap)
Definition BNO08xGlobalTypes.hpp:20
bno08x_stability_classifier_t
struct bno08x_stability_classifier_t bno08x_stability_classifier_t
Struct to represent stability classifier data from stability classifier reports.
TAP_DETECTED_Z_AXIS
#define TAP_DETECTED_Z_AXIS(tap)
Definition BNO08xGlobalTypes.hpp:13
imu_config_t
bno08x_config_t imu_config_t
Definition BNO08xGlobalTypes.hpp:81
BNO08xResetReason
BNO08xResetReason
Reason for previous IMU reset (returned by get_reset_reason())
Definition BNO08xGlobalTypes.hpp:94
BNO08xResetReason::OTHER
@ OTHER
Previous reset was due to power other reason.
BNO08xResetReason::UNDEFINED
@ UNDEFINED
Undefined reset reason, this should never occur and is an error.
BNO08xResetReason::WTD
@ WTD
Previous reset was due to watchdog timer.
BNO08xResetReason::POR
@ POR
Previous reset was due to power on reset.
BNO08xResetReason::EXT_RST
@ EXT_RST
Previous reset was due to external reset.
BNO08xResetReason::INT_RST
@ INT_RST
Previous reset was due to internal reset.
BNO08xActivity
BNO08xActivity
BNO08xActivity states returned from BNO08x::activity_classifier.get()
Definition BNO08xGlobalTypes.hpp:132
bno08x_gyro_t
struct bno08x_gyro_t bno08x_gyro_t
Struct to represent gyro data (units in rad/s)
bno08x_raw_accel_t
struct bno08x_raw_accel_t bno08x_raw_accel_t
Struct to represent raw mems accelerometer data from raw accelerometer reports (units in ADC counts).
TAP_DETECTED_X_AXIS
#define TAP_DETECTED_X_AXIS(tap)
Definition BNO08xGlobalTypes.hpp:9
TAP_DETECTED_Y_AXIS
#define TAP_DETECTED_Y_AXIS(tap)
Definition BNO08xGlobalTypes.hpp:11
bno08x_step_counter_t
struct bno08x_step_counter_t bno08x_step_counter_t
Struct to represent step counter data from step counter reports.
BNO08xActivityEnable
BNO08xActivityEnable
BNO08xActivity Classifier enable bits passed to enable_activity_classifier()
Definition BNO08xGlobalTypes.hpp:117
BNO08xActivityEnable::RUNNING
@ RUNNING
BNO08xActivityEnable::ALL
@ ALL
BNO08xActivityEnable::WALKING
@ WALKING
BNO08xActivityEnable::UNKNOWN
@ UNKNOWN
BNO08xActivityEnable::TILTING
@ TILTING
BNO08xActivityEnable::ON_FOOT
@ ON_FOOT
BNO08xActivityEnable::STILL
@ STILL
BNO08xActivityEnable::ON_BICYCLE
@ ON_BICYCLE
BNO08xActivityEnable::IN_VEHICLE
@ IN_VEHICLE
BNO08xActivityEnable::ON_STAIRS
@ ON_STAIRS
bno08x_tap_detector_t
struct bno08x_tap_detector_t bno08x_tap_detector_t
Struct to represent tap detector data (flag meaning: 0 = no tap, 1 = positive tap on axis,...
SHAKE_DETECTED_X
#define SHAKE_DETECTED_X(tap)
Definition BNO08xGlobalTypes.hpp:18
BNO08xAccuracy
BNO08xAccuracy
Sensor accuracy returned from input reports, corresponds to status bits (see ref. manual 6....
Definition BNO08xGlobalTypes.hpp:106
BNO08xAccuracy::UNDEFINED
@ UNDEFINED
BNO08xAccuracy::MED
@ MED
BNO08xAccuracy::LOW
@ LOW
BNO08xAccuracy::UNRELIABLE
@ UNRELIABLE
BNO08xAccuracy::HIGH
@ HIGH
BNO08xCalSel
BNO08xCalSel
Definition BNO08xGlobalTypes.hpp:84
BNO08xCalSel::accelerometer
@ accelerometer
BNO08xCalSel::magnetometer
@ magnetometer
BNO08xCalSel::gyro
@ gyro
BNO08xCalSel::all
@ all
BNO08xCalSel::planar_accelerometer
@ planar_accelerometer
bno08x_sample_counts_t
struct bno08x_sample_counts_t bno08x_sample_counts_t
Struct to represent sample counts, returned from BNO08xRpt::get_sample_counts()
bno08x_accel_t
Struct to represent acceleration data from acceleration, linear acceleration, and gravity reports.
Definition BNO08xGlobalTypes.hpp:542
bno08x_accel_t::z
float z
Definition BNO08xGlobalTypes.hpp:545
bno08x_accel_t::bno08x_accel_t
bno08x_accel_t()
Definition BNO08xGlobalTypes.hpp:548
bno08x_accel_t::operator=
bno08x_accel_t & operator=(const sh2_Accelerometer_t &source)
Definition BNO08xGlobalTypes.hpp:557
bno08x_accel_t::y
float y
Definition BNO08xGlobalTypes.hpp:544
bno08x_accel_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:546
bno08x_accel_t::x
float x
Definition BNO08xGlobalTypes.hpp:543
bno08x_activity_classifier_t
Struct to represent activity classifier data.
Definition BNO08xGlobalTypes.hpp:414
bno08x_activity_classifier_t::mostLikelyState
BNO08xActivity mostLikelyState
Definition BNO08xGlobalTypes.hpp:417
bno08x_activity_classifier_t::bno08x_activity_classifier_t
bno08x_activity_classifier_t()
Definition BNO08xGlobalTypes.hpp:421
bno08x_activity_classifier_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:419
bno08x_activity_classifier_t::confidence
uint8_t confidence[10]
Definition BNO08xGlobalTypes.hpp:418
bno08x_activity_classifier_t::lastPage
bool lastPage
Definition BNO08xGlobalTypes.hpp:416
bno08x_activity_classifier_t::page
uint8_t page
Definition BNO08xGlobalTypes.hpp:415
bno08x_activity_classifier_t::operator=
bno08x_activity_classifier_t & operator=(const sh2_PersonalActivityClassifier_t &source)
Definition BNO08xGlobalTypes.hpp:431
bno08x_ang_vel_t
Struct to represent angular velocity (units in rad/s)
Definition BNO08xGlobalTypes.hpp:258
bno08x_ang_vel_t::bno08x_ang_vel_t
bno08x_ang_vel_t()
Definition BNO08xGlobalTypes.hpp:263
bno08x_ang_vel_t::z
float z
Definition BNO08xGlobalTypes.hpp:261
bno08x_ang_vel_t::x
float x
Definition BNO08xGlobalTypes.hpp:259
bno08x_ang_vel_t::operator*=
bno08x_ang_vel_t & operator*=(T value)
Definition BNO08xGlobalTypes.hpp:272
bno08x_ang_vel_t::y
float y
Definition BNO08xGlobalTypes.hpp:260
bno08x_ang_vel_t::operator=
bno08x_ang_vel_t & operator=(const sh2_GyroIntegratedRV_t &source)
Definition BNO08xGlobalTypes.hpp:281
bno08x_config_t
IMU configuration settings passed into constructor.
Definition BNO08xGlobalTypes.hpp:38
bno08x_config_t::spi_peripheral
spi_host_device_t spi_peripheral
SPI peripheral to be used.
Definition BNO08xGlobalTypes.hpp:39
bno08x_config_t::install_isr_service
bool install_isr_service
Indicates whether the ISR service for the HINT should be installed at IMU initialization,...
Definition BNO08xGlobalTypes.hpp:47
bno08x_config_t::sclk_speed
uint32_t sclk_speed
Reset pin (connects to BNO08x RST pin)
Definition BNO08xGlobalTypes.hpp:46
bno08x_config_t::io_int
gpio_num_t io_int
Chip select pin (connects to BNO08x CS pin)
Definition BNO08xGlobalTypes.hpp:44
bno08x_config_t::io_rst
gpio_num_t io_rst
Host interrupt pin (connects to BNO08x INT pin)
Definition BNO08xGlobalTypes.hpp:45
bno08x_config_t::io_sclk
gpio_num_t io_sclk
SCLK pin (connects to BNO08x SCL pin)
Definition BNO08xGlobalTypes.hpp:42
bno08x_config_t::bno08x_config_t
bno08x_config_t(bool install_isr_service=true)
Default IMU configuration settings constructor. To modify default GPIO pins, run "idf....
Definition BNO08xGlobalTypes.hpp:52
bno08x_config_t::io_mosi
gpio_num_t io_mosi
MOSI GPIO pin (connects to BNO08x DI pin)
Definition BNO08xGlobalTypes.hpp:40
bno08x_config_t::io_miso
gpio_num_t io_miso
MISO GPIO pin (connects to BNO08x SDA pin)
Definition BNO08xGlobalTypes.hpp:41
bno08x_config_t::io_cs
gpio_num_t io_cs
Definition BNO08xGlobalTypes.hpp:43
bno08x_config_t::bno08x_config_t
bno08x_config_t(spi_host_device_t spi_peripheral, gpio_num_t io_mosi, gpio_num_t io_miso, gpio_num_t io_sclk, gpio_num_t io_cs, gpio_num_t io_int, gpio_num_t io_rst, uint32_t sclk_speed, bool install_isr_service=true)
Overloaded IMU configuration settings constructor for custom pin settings.
Definition BNO08xGlobalTypes.hpp:67
bno08x_euler_angle_t
Struct to represent euler angle (units in degrees or rads)
Definition BNO08xGlobalTypes.hpp:214
bno08x_euler_angle_t::operator*=
bno08x_euler_angle_t & operator*=(T value)
Definition BNO08xGlobalTypes.hpp:245
bno08x_euler_angle_t::y
float y
Definition BNO08xGlobalTypes.hpp:216
bno08x_euler_angle_t::bno08x_euler_angle_t
bno08x_euler_angle_t()
Definition BNO08xGlobalTypes.hpp:221
bno08x_euler_angle_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:218
bno08x_euler_angle_t::z
float z
Definition BNO08xGlobalTypes.hpp:217
bno08x_euler_angle_t::x
float x
Definition BNO08xGlobalTypes.hpp:215
bno08x_euler_angle_t::rad_accuracy
float rad_accuracy
Definition BNO08xGlobalTypes.hpp:219
bno08x_euler_angle_t::operator=
bno08x_euler_angle_t & operator=(const bno08x_quat_t &source)
Definition BNO08xGlobalTypes.hpp:231
bno08x_gyro_bias_t
Struct to represent gyro bias data (units in rad/s)
Definition BNO08xGlobalTypes.hpp:389
bno08x_gyro_bias_t::bno08x_gyro_bias_t
bno08x_gyro_bias_t()
Definition BNO08xGlobalTypes.hpp:394
bno08x_gyro_bias_t::y
float y
Definition BNO08xGlobalTypes.hpp:391
bno08x_gyro_bias_t::x
float x
Definition BNO08xGlobalTypes.hpp:390
bno08x_gyro_bias_t::operator=
bno08x_gyro_bias_t & operator=(const sh2_GyroscopeUncalibrated &source)
Definition BNO08xGlobalTypes.hpp:402
bno08x_gyro_bias_t::z
float z
Definition BNO08xGlobalTypes.hpp:392
bno08x_gyro_t
Struct to represent gyro data (units in rad/s)
Definition BNO08xGlobalTypes.hpp:353
bno08x_gyro_t::operator=
bno08x_gyro_t & operator=(const sh2_Gyroscope_t &source)
Definition BNO08xGlobalTypes.hpp:368
bno08x_gyro_t::x
float x
Definition BNO08xGlobalTypes.hpp:354
bno08x_gyro_t::operator=
bno08x_gyro_t & operator=(const sh2_GyroscopeUncalibrated &source)
Definition BNO08xGlobalTypes.hpp:377
bno08x_gyro_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:357
bno08x_gyro_t::bno08x_gyro_t
bno08x_gyro_t()
Definition BNO08xGlobalTypes.hpp:359
bno08x_gyro_t::y
float y
Definition BNO08xGlobalTypes.hpp:355
bno08x_gyro_t::z
float z
Definition BNO08xGlobalTypes.hpp:356
bno08x_magf_bias_t
Struct to represent magnetic field bias data (units in uTesla)
Definition BNO08xGlobalTypes.hpp:328
bno08x_magf_bias_t::y
float y
Definition BNO08xGlobalTypes.hpp:330
bno08x_magf_bias_t::z
float z
Definition BNO08xGlobalTypes.hpp:331
bno08x_magf_bias_t::bno08x_magf_bias_t
bno08x_magf_bias_t()
Definition BNO08xGlobalTypes.hpp:333
bno08x_magf_bias_t::x
float x
Definition BNO08xGlobalTypes.hpp:329
bno08x_magf_bias_t::operator=
bno08x_magf_bias_t & operator=(const sh2_MagneticFieldUncalibrated_t &source)
Definition BNO08xGlobalTypes.hpp:341
bno08x_magf_t
Struct to represent magnetic field data (units in uTesla)
Definition BNO08xGlobalTypes.hpp:292
bno08x_magf_t::y
float y
Definition BNO08xGlobalTypes.hpp:294
bno08x_magf_t::z
float z
Definition BNO08xGlobalTypes.hpp:295
bno08x_magf_t::operator=
bno08x_magf_t & operator=(const sh2_MagneticFieldUncalibrated_t &source)
Definition BNO08xGlobalTypes.hpp:316
bno08x_magf_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:296
bno08x_magf_t::x
float x
Definition BNO08xGlobalTypes.hpp:293
bno08x_magf_t::bno08x_magf_t
bno08x_magf_t()
Definition BNO08xGlobalTypes.hpp:298
bno08x_magf_t::operator=
bno08x_magf_t & operator=(const sh2_MagneticField_t &source)
Definition BNO08xGlobalTypes.hpp:307
bno08x_meta_data_t
Struct to represent sensor/report meta data, returned from BNO08xRpt::get_meta_data()
Definition BNO08xGlobalTypes.hpp:733
bno08x_meta_data_t::q_point_2
uint16_t q_point_2
q point for accuracy or bias fields
Definition BNO08xGlobalTypes.hpp:747
bno08x_meta_data_t::vendor_id_len
uint32_t vendor_id_len
[bytes]
Definition BNO08xGlobalTypes.hpp:749
bno08x_meta_data_t::q_point_1
uint16_t q_point_1
q point for sensor values
Definition BNO08xGlobalTypes.hpp:746
bno08x_meta_data_t::q_point_3
uint16_t q_point_3
q point for sensor data change sensitivity
Definition BNO08xGlobalTypes.hpp:748
bno08x_meta_data_t::revision
uint16_t revision
Metadata record format revision.
Definition BNO08xGlobalTypes.hpp:739
bno08x_meta_data_t::fifo_reserved
uint32_t fifo_reserved
(Unused)
Definition BNO08xGlobalTypes.hpp:743
bno08x_meta_data_t::bno08x_meta_data_t
bno08x_meta_data_t()
Definition BNO08xGlobalTypes.hpp:755
bno08x_meta_data_t::max_period_us
uint32_t max_period_us
[uS] max period to use with enable_report
Definition BNO08xGlobalTypes.hpp:742
bno08x_meta_data_t::sensor_specific
uint8_t sensor_specific[48]
See SH-2 Reference Manual.
Definition BNO08xGlobalTypes.hpp:752
bno08x_meta_data_t::vendor_ID
char vendor_ID[48]
Vendor name and part number.
Definition BNO08xGlobalTypes.hpp:750
bno08x_meta_data_t::min_period_us
uint32_t min_period_us
[uS] min period to use with enable_report
Definition BNO08xGlobalTypes.hpp:741
bno08x_meta_data_t::bno08x_meta_data_t
bno08x_meta_data_t(const sh2_SensorMetadata_t &src)
Definition BNO08xGlobalTypes.hpp:779
bno08x_meta_data_t::mh_version
uint8_t mh_version
Motion Hub Version.
Definition BNO08xGlobalTypes.hpp:735
bno08x_meta_data_t::range
uint32_t range
Same units as sensor reports.
Definition BNO08xGlobalTypes.hpp:737
bno08x_meta_data_t::me_version
uint8_t me_version
Motion Engine Version.
Definition BNO08xGlobalTypes.hpp:734
bno08x_meta_data_t::sh_version
uint8_t sh_version
SensorHub Version.
Definition BNO08xGlobalTypes.hpp:736
bno08x_meta_data_t::resolution
uint32_t resolution
Same units as sensor reports.
Definition BNO08xGlobalTypes.hpp:738
bno08x_meta_data_t::fifo_max
uint32_t fifo_max
(Unused)
Definition BNO08xGlobalTypes.hpp:744
bno08x_meta_data_t::sensor_specific_len
uint32_t sensor_specific_len
[bytes]
Definition BNO08xGlobalTypes.hpp:751
bno08x_meta_data_t::power_mA
uint16_t power_mA
[mA] Fixed point 16Q10 format
Definition BNO08xGlobalTypes.hpp:740
bno08x_meta_data_t::batch_buffer_bytes
uint32_t batch_buffer_bytes
(Unused)
Definition BNO08xGlobalTypes.hpp:745
bno08x_quat_t
Struct to represent unit quaternion.
Definition BNO08xGlobalTypes.hpp:159
bno08x_quat_t::operator=
bno08x_quat_t & operator=(const sh2_RotationVectorWAcc_t &source)
Definition BNO08xGlobalTypes.hpp:178
bno08x_quat_t::operator=
bno08x_quat_t & operator=(const sh2_RotationVector_t &source)
Definition BNO08xGlobalTypes.hpp:189
bno08x_quat_t::rad_accuracy
float rad_accuracy
Definition BNO08xGlobalTypes.hpp:165
bno08x_quat_t::j
float j
Definition BNO08xGlobalTypes.hpp:162
bno08x_quat_t::real
float real
Definition BNO08xGlobalTypes.hpp:160
bno08x_quat_t::i
float i
Definition BNO08xGlobalTypes.hpp:161
bno08x_quat_t::k
float k
Definition BNO08xGlobalTypes.hpp:163
bno08x_quat_t::operator=
bno08x_quat_t & operator=(const sh2_GyroIntegratedRV_t &source)
Definition BNO08xGlobalTypes.hpp:200
bno08x_quat_t::bno08x_quat_t
bno08x_quat_t()
Definition BNO08xGlobalTypes.hpp:167
bno08x_quat_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:164
bno08x_raw_accel_t
Struct to represent raw mems accelerometer data from raw accelerometer reports (units in ADC counts).
Definition BNO08xGlobalTypes.hpp:624
bno08x_raw_accel_t::z
int16_t z
Definition BNO08xGlobalTypes.hpp:627
bno08x_raw_accel_t::timestamp_us
uint32_t timestamp_us
Definition BNO08xGlobalTypes.hpp:628
bno08x_raw_accel_t::operator=
bno08x_raw_accel_t & operator=(const sh2_RawAccelerometer_t &source)
Definition BNO08xGlobalTypes.hpp:641
bno08x_raw_accel_t::y
int16_t y
Definition BNO08xGlobalTypes.hpp:626
bno08x_raw_accel_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:629
bno08x_raw_accel_t::x
int16_t x
Definition BNO08xGlobalTypes.hpp:625
bno08x_raw_accel_t::bno08x_raw_accel_t
bno08x_raw_accel_t()
Definition BNO08xGlobalTypes.hpp:631
bno08x_raw_gyro_t
Struct to represent raw mems gyro data from raw gyro reports (units in ADC counts).
Definition BNO08xGlobalTypes.hpp:591
bno08x_raw_gyro_t::bno08x_raw_gyro_t
bno08x_raw_gyro_t()
Definition BNO08xGlobalTypes.hpp:599
bno08x_raw_gyro_t::operator=
bno08x_raw_gyro_t & operator=(const sh2_RawGyroscope_t &source)
Definition BNO08xGlobalTypes.hpp:610
bno08x_raw_gyro_t::x
int16_t x
Definition BNO08xGlobalTypes.hpp:592
bno08x_raw_gyro_t::timestamp_us
uint32_t timestamp_us
Definition BNO08xGlobalTypes.hpp:596
bno08x_raw_gyro_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:597
bno08x_raw_gyro_t::temperature
int16_t temperature
Definition BNO08xGlobalTypes.hpp:595
bno08x_raw_gyro_t::y
int16_t y
Definition BNO08xGlobalTypes.hpp:593
bno08x_raw_gyro_t::z
int16_t z
Definition BNO08xGlobalTypes.hpp:594
bno08x_raw_magf_t
Struct to represent raw mems magnetometer data from raw magnetometer reports (units in ADC counts).
Definition BNO08xGlobalTypes.hpp:654
bno08x_raw_magf_t::z
int16_t z
Definition BNO08xGlobalTypes.hpp:657
bno08x_raw_magf_t::x
int16_t x
Definition BNO08xGlobalTypes.hpp:655
bno08x_raw_magf_t::timestamp_us
uint32_t timestamp_us
Definition BNO08xGlobalTypes.hpp:658
bno08x_raw_magf_t::bno08x_raw_magf_t
bno08x_raw_magf_t()
Definition BNO08xGlobalTypes.hpp:661
bno08x_raw_magf_t::y
int16_t y
Definition BNO08xGlobalTypes.hpp:656
bno08x_raw_magf_t::operator=
bno08x_raw_magf_t & operator=(const sh2_RawMagnetometer_t &source)
Definition BNO08xGlobalTypes.hpp:671
bno08x_raw_magf_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:659
bno08x_sample_counts_t
Struct to represent sample counts, returned from BNO08xRpt::get_sample_counts()
Definition BNO08xGlobalTypes.hpp:704
bno08x_sample_counts_t::on
uint32_t on
Number of "offered" samples while this sensor was requested by host.
Definition BNO08xGlobalTypes.hpp:706
bno08x_sample_counts_t::accepted
uint32_t accepted
Number of "on" samples that passed decimation filter.
Definition BNO08xGlobalTypes.hpp:707
bno08x_sample_counts_t::attempted
uint32_t attempted
Number of "accepted" samples that passed threshold requirements and had transmission to the host atte...
Definition BNO08xGlobalTypes.hpp:709
bno08x_sample_counts_t::offered
uint32_t offered
Number of samples produced by underlying data source.
Definition BNO08xGlobalTypes.hpp:705
bno08x_sample_counts_t::bno08x_sample_counts_t
bno08x_sample_counts_t()
Definition BNO08xGlobalTypes.hpp:711
bno08x_sample_counts_t::operator=
bno08x_sample_counts_t & operator=(const sh2_Counts_t &source)
Definition BNO08xGlobalTypes.hpp:720
bno08x_shake_detector_t
Struct to represent shake detector data (flag meaning: 0 = no shake 1 = shake detected)
Definition BNO08xGlobalTypes.hpp:502
bno08x_shake_detector_t::x_flag
uint8_t x_flag
Definition BNO08xGlobalTypes.hpp:503
bno08x_shake_detector_t::bno08x_shake_detector_t
bno08x_shake_detector_t()
Definition BNO08xGlobalTypes.hpp:508
bno08x_shake_detector_t::z_flag
uint8_t z_flag
Definition BNO08xGlobalTypes.hpp:505
bno08x_shake_detector_t::operator=
bno08x_shake_detector_t & operator=(const sh2_ShakeDetector_t &source)
Definition BNO08xGlobalTypes.hpp:517
bno08x_shake_detector_t::y_flag
uint8_t y_flag
Definition BNO08xGlobalTypes.hpp:504
bno08x_shake_detector_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:506
bno08x_stability_classifier_t
Struct to represent stability classifier data from stability classifier reports.
Definition BNO08xGlobalTypes.hpp:683
bno08x_stability_classifier_t::bno08x_stability_classifier_t
bno08x_stability_classifier_t()
Definition BNO08xGlobalTypes.hpp:687
bno08x_stability_classifier_t::stability
BNO08xStability stability
Definition BNO08xGlobalTypes.hpp:684
bno08x_stability_classifier_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:685
bno08x_stability_classifier_t::operator=
bno08x_stability_classifier_t & operator=(const sh2_StabilityClassifier_t &source)
Definition BNO08xGlobalTypes.hpp:694
bno08x_step_counter_t
Struct to represent step counter data from step counter reports.
Definition BNO08xGlobalTypes.hpp:568
bno08x_step_counter_t::bno08x_step_counter_t
bno08x_step_counter_t()
Definition BNO08xGlobalTypes.hpp:573
bno08x_step_counter_t::steps
uint16_t steps
Definition BNO08xGlobalTypes.hpp:570
bno08x_step_counter_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:571
bno08x_step_counter_t::latency
uint32_t latency
Definition BNO08xGlobalTypes.hpp:569
bno08x_step_counter_t::operator=
bno08x_step_counter_t & operator=(const sh2_StepCounter_t &source)
Definition BNO08xGlobalTypes.hpp:581
bno08x_tap_detector_t
Struct to represent tap detector data (flag meaning: 0 = no tap, 1 = positive tap on axis,...
Definition BNO08xGlobalTypes.hpp:447
bno08x_tap_detector_t::x_flag
int8_t x_flag
Definition BNO08xGlobalTypes.hpp:448
bno08x_tap_detector_t::operator=
bno08x_tap_detector_t & operator=(const sh2_TapDetector_t &source)
Definition BNO08xGlobalTypes.hpp:464
bno08x_tap_detector_t::z_flag
int8_t z_flag
Definition BNO08xGlobalTypes.hpp:450
bno08x_tap_detector_t::bno08x_tap_detector_t
bno08x_tap_detector_t()
Definition BNO08xGlobalTypes.hpp:454
bno08x_tap_detector_t::accuracy
BNO08xAccuracy accuracy
Definition BNO08xGlobalTypes.hpp:452
bno08x_tap_detector_t::y_flag
int8_t y_flag
Definition BNO08xGlobalTypes.hpp:449
bno08x_tap_detector_t::double_tap
bool double_tap
Definition BNO08xGlobalTypes.hpp:451