4 #if defined (ESP_PLATFORM)
7 #include <freertos/FreeRTOS.h>
8 #include <freertos/task.h>
14 : IMU_Base ( i2c_addr, freq, i2c )
17 IMU_Base::imu_spec_t BMM150_Class::begin(I2C_Class* i2c)
24 writeRegister8(0x4B, 0x83);
33 writeRegister8(0x4C, 0x38);
58 std::uint8_t BMM150_Class::WhoAmI(
void)
60 return readRegister8(CHIP_ID_ADDR);
63 IMU_Base::imu_spec_t BMM150_Class::getImuRawData(imu_raw_data_t* data)
const
65 if (readRegister8(0x48) & 1)
68 if (readRegister(0x42, (std::uint8_t*)buf, 6))
70 data->mag.x = buf[0] >> 2;
71 data->mag.y = buf[1] >> 2;
72 data->mag.z = buf[2] & 0xFFFEu;
79 void BMM150_Class::getConvertParam(imu_convert_param_t* param)
const
81 param->mag_res = 10.0f * 4912.0f / 32760.0f;
BMM150_Class(std::uint8_t i2c_addr=DEFAULT_ADDRESS, std::uint32_t freq=400000, I2C_Class *i2c=&In_I2C)