10#ifndef M5_UNIT_IMU_UNIT_UNIT_SH200Q_DATA_HPP
11#define M5_UNIT_IMU_UNIT_UNIT_SH200Q_DATA_HPP
84 return (4.0f * (1 <<
static_cast<uint8_t
>(r))) / 32768;
89 return (2000.0f / (1 <<
static_cast<uint8_t
>(r))) / 32768;
94 return 1000U >>
static_cast<uint8_t
>(r);
102 std::array<uint8_t, 14>
raw{};
109 return static_cast<int16_t
>((
raw[1] << 8) |
raw[0]);
114 return static_cast<int16_t
>((
raw[3] << 8) |
raw[2]);
119 return static_cast<int16_t
>((
raw[5] << 8) |
raw[4]);
124 return static_cast<int16_t
>((
raw[7] << 8) |
raw[6]);
129 return static_cast<int16_t
>((
raw[9] << 8) |
raw[8]);
134 return static_cast<int16_t
>((
raw[11] << 8) |
raw[10]);
139 return static_cast<int16_t
>((
raw[13] << 8) |
raw[12]);
149 return temp_adc() / 333.87f + 21.0f;
Top level namespace of M5Stack.
Definition ahrs_controller.cpp:26
One measurement (14 bytes burst from REG_OUTPUT, little-endian – NOT the MPU byte order)
Definition unit_sh200q_data.hpp:101
int16_t gyro_y() const
Raw gyroscope Y.
Definition unit_sh200q_data.hpp:127
float temperature() const
Temperature in degC (T = adc/333.87 + 21.0)
Definition unit_sh200q_data.hpp:147
int16_t accel_x() const
Raw accelerometer X.
Definition unit_sh200q_data.hpp:107
int16_t gyro_x() const
Raw gyroscope X.
Definition unit_sh200q_data.hpp:122
int16_t accel_y() const
Raw accelerometer Y.
Definition unit_sh200q_data.hpp:112
std::array< uint8_t, 14 > raw
[0..5] accel, [6..11] gyro, [12..13] temp
Definition unit_sh200q_data.hpp:102
int16_t gyro_z() const
Raw gyroscope Z.
Definition unit_sh200q_data.hpp:132
int16_t temp_adc() const
Raw temperature ADC.
Definition unit_sh200q_data.hpp:137
int16_t accel_z() const
Raw accelerometer Z.
Definition unit_sh200q_data.hpp:117
AccelOdr
Accelerometer output data rate (REG_ACC_CONFIG bits[4:3], normal mode)
Definition unit_sh200q_data.hpp:49
AccelRange
Accelerometer full scale range (REG_ACC_RANGE bits[1:0], register value = enum)
Definition unit_sh200q_data.hpp:25
GyroRange
Gyroscope full scale range (REG_GYRO_RANGE bits[2:0], register value = enum)
Definition unit_sh200q_data.hpp:37
GyroDlpf
Gyro digital low pass filter (REG_GYRO_DLPF). Bandwidths quoted at the default 500 Hz ODR; they scale...
Definition unit_sh200q_data.hpp:73
constexpr uint32_t gyro_odr_hz(const GyroOdr r)
Gyroscope ODR in Hz (used to derive the periodic measurement interval)
Definition unit_sh200q_data.hpp:92
GyroOdr
Gyroscope output data rate (REG_GYRO_CONFIG bits[3:1])
Definition unit_sh200q_data.hpp:62