Library containing Crazyflie 2.0 sensors drivers: - LPS25H (barometer) - MPU9250 (IMU) - PMW3901 (optical flow) - VL53L0X (range)
Dependents: Drones-Controlador controladoatitude_cteste Drone_Controlador_Atitude optical_test
Diff: MPU9250/MPU9250.cpp
- Revision:
- 9:350a1d643ef1
- Parent:
- 8:930aa9d0f5ae
- Child:
- 10:237258f2d05e
--- a/MPU9250/MPU9250.cpp Mon May 14 20:18:20 2018 +0000 +++ b/MPU9250/MPU9250.cpp Fri Jul 20 20:40:10 2018 +0000 @@ -122,10 +122,10 @@ int16_t ay_raw = (ay_raw_h << 8) | ay_raw_l; int16_t az_raw = (az_raw_h << 8) | az_raw_l; - // Convert raw data to SI units [m/s^2] - ax = ax_raw * a_res; - ay = ay_raw * a_res; - az = az_raw * a_res; + // Convert raw data to SI units [m/s^2] and also convert from sensor reference frame to drone reference frame + ax = ay_raw * a_res; + ay = -ax_raw * a_res; + az = -az_raw * a_res; } /** Read accelerometer data */ @@ -144,9 +144,9 @@ int16_t gy_raw = (gy_raw_h << 8 ) | gy_raw_l; int16_t gz_raw = (gz_raw_h << 8 ) | gz_raw_l; - // Convert raw data to SI units [rad/s] - gx = gx_raw * g_res; - gy = gy_raw * g_res; + // Convert raw data to SI units [rad/s] and also convert from sensor reference frame to drone reference frame + gx = -gy_raw * g_res; + gy = gx_raw * g_res; gz = gz_raw * g_res; }