函数原型:
bool begin(I2C_Class* i2c = nullptr, board_t board = board_t::board_unknown); 功能说明:
传入参数:
返回值:
函数原型:
bool init(I2C_Class* i2c = nullptr) { return begin(i2c); } 功能说明:
传入参数:
返回值:
函数原型:
bool sleep(void); 功能说明:
传入参数:
返回值:
函数原型:
void setClock(std::uint32_t freq); 功能说明:
传入参数:
返回值:
函数原型:
sensor_mask_t update(void); 功能说明:
传入参数:
返回值:
0000000100100100enum sensor_index_t
{
sensor_index_accel = 0,
sensor_index_gyro = 1,
sensor_index_mag = 2,
};
enum sensor_mask_t
{
sensor_mask_none = 0,
sensor_mask_accel = 1 << sensor_index_accel,
sensor_mask_gyro = 1 << sensor_index_gyro,
sensor_mask_mag = 1 << sensor_index_mag,
};函数原型:
void getImuData(imu_data_t* imu_data); const imu_data_t& getImuData(void) { getImuData(&_last_data); return _last_data; } 功能说明:
传入参数:
返回值:
data.accel.x: accel x-axis value.data.accel.y: accel y-axis value.data.accel.z: accel z-axis value.data.accel.value: accel 3values array [0]=x / [1]=y / [2]=z.data.gyro.x: gyro x-axis value.data.gyro.y: gyro y-axis value.data.gyro.z: gyro z-axis value.data.gyro.value: gyro 3values array [0]=x / [1]=y / [2]=z.data.mag.x: mag x-axis value.data.mag.y: mag y-axis value.data.mag.z: mag z-axis value.data.mag.value: mag 3values array [0]=x / [1]=y / [2]=z.data.value: all sensor 9values array [0-2]=accel / [3-5]=gyro / [6-8]=mag函数原型:
bool setAxisOrder(axis_t axis0, axis_t axis1, axis_t axis2); 功能说明:
传入参数:
enum axis_t
{
axis_x_pos = 0,
axis_x_neg = 1,
axis_y_pos = 2,
axis_y_neg = 3,
axis_z_pos = 4,
axis_z_neg = 5,
};返回值:
函数原型:
bool setAxisOrderRightHanded(axis_t axis0, axis_t axis1); 功能说明:
传入参数:
返回值:
函数原型:
bool setAxisOrderLeftHanded(axis_t axis0, axis_t axis1); 函数原型:
bool getAccel(float* ax, float* ay, float* az); 功能说明:
传入参数:
返回值:
函数原型:
bool getGyro(float* gx, float* gy, float* gz); 功能说明:
传入参数:
返回值:
函数原型:
bool getMag(float* mx, float* my, float* mz); 功能说明:
传入参数:
返回值:
函数原型:
bool getTemp(float *t); 功能说明:
传入参数:
返回值:
函数原型:
bool isEnabled(void) const { return _imu != imu_none; } 功能说明:
传入参数:
返回值:
函数原型:
imu_t getType(void) const { return _imu; } 功能说明:
传入参数:
返回值:
enum imu_t
{ imu_none,
imu_unknown,
imu_sh200q,
imu_mpu6050,
imu_mpu6886,
imu_mpu9250,
imu_bmi270,
};函数原型:
bool setINTPinActiveLogic(bool level); 功能说明:
传入参数:
返回值:
函数原型:
void setCalibration(uint8_t accel_strength, uint8_t gyro_strength, uint8_t mag_strength); 功能说明:
传入参数:
返回值:
函数原型:
bool saveOffsetToNVS(void); 功能说明:
传入参数:
返回值:
函数原型:
bool loadOffsetFromNVS(void); 功能说明:
传入参数:
返回值:
函数原型:
void clearOffsetData(void); 功能说明:
传入参数:
返回值:
函数原型:
void setOffsetData(size_t index, int32_t value); 功能说明:
传入参数:
返回值:
函数原型:
int32_t getOffsetData(size_t index); 功能说明:
传入参数:
返回值:
函数原型:
int16_t getRawData(size_t index); 功能说明:
传入参数:
返回值:
函数原型:
IMU_Base* getImuInstancePtr(int idx) const { return _imu_instance[idx].get(); } 功能说明:
传入参数:
返回值: