diff --git a/src/main/flight/imu.c b/src/main/flight/imu.c index 5f3c2b3efd..5d4e9e947b 100644 --- a/src/main/flight/imu.c +++ b/src/main/flight/imu.c @@ -724,5 +724,5 @@ void imuQuaternionHeadfreeTransformVectorEarthToBody(t_fp_vector_def *v) bool isUpright(void) { - return attitudeIsEstablished && getCosTiltAngle() <= smallAngleCosZ; + return attitudeIsEstablished && getCosTiltAngle() > smallAngleCosZ; } diff --git a/src/test/unit/flight_imu_unittest.cc b/src/test/unit/flight_imu_unittest.cc index 324c71652b..bc5fc24414 100644 --- a/src/test/unit/flight_imu_unittest.cc +++ b/src/test/unit/flight_imu_unittest.cc @@ -175,7 +175,7 @@ TEST(FlightImuTest, TestSmallAngle) imuComputeRotationMatrix(); // expect - EXPECT_EQ(true, isUpright()); + EXPECT_EQ(false, isUpright()); // given rMat[0][0] = r1; @@ -187,7 +187,7 @@ TEST(FlightImuTest, TestSmallAngle) imuComputeRotationMatrix(); // expect - EXPECT_EQ(true, isUpright()); + EXPECT_EQ(false, isUpright()); // given memset(rMat, 0.0, sizeof(float) * 9); @@ -196,7 +196,7 @@ TEST(FlightImuTest, TestSmallAngle) imuComputeRotationMatrix(); // expect - EXPECT_EQ(true, isUpright()); + EXPECT_EQ(false, isUpright()); } // STUBS