diff --git a/src/main/flight/imu.c b/src/main/flight/imu.c index 5d4e9e947..b530fa9c2 100644 --- a/src/main/flight/imu.c +++ b/src/main/flight/imu.c @@ -724,5 +724,9 @@ void imuQuaternionHeadfreeTransformVectorEarthToBody(t_fp_vector_def *v) bool isUpright(void) { - return attitudeIsEstablished && getCosTiltAngle() > smallAngleCosZ; +#ifdef USE_ACC + return !sensors(SENSOR_ACC) || (attitudeIsEstablished && getCosTiltAngle() > smallAngleCosZ); +#else + return true; +#endif } diff --git a/src/test/unit/flight_imu_unittest.cc b/src/test/unit/flight_imu_unittest.cc index bc5fc2441..6ff358983 100644 --- a/src/test/unit/flight_imu_unittest.cc +++ b/src/test/unit/flight_imu_unittest.cc @@ -234,8 +234,7 @@ uint16_t disableFlightMode(flightModeFlags_e mask) bool sensors(uint32_t mask) { - UNUSED(mask); - return false; + return mask & SENSOR_ACC; }; uint32_t millis(void) { return 0; }