1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 05:15:25 +03:00

Merge pull request #424 from avoid3d/test-inclination-angle

Test inclination angle
This commit is contained in:
Dominic Clifton 2015-01-27 01:09:05 +01:00
commit 90b012bc06
2 changed files with 36 additions and 1 deletions

View file

@ -54,6 +54,7 @@ extern "C" {
extern "C" {
bool isThrustFacingDownwards(rollAndPitchInclination_t *inclinations);
uint16_t calculateTiltAngle(rollAndPitchInclination_t *inclinations);
}
typedef struct inclinationExpectation_s {
@ -90,6 +91,36 @@ TEST(AltitudeHoldTest, IsThrustFacingDownwards)
}
}
typedef struct inclinationAngleExpectations_s {
rollAndPitchInclination_t inclination;
uint16_t expected_angle;
} inclinationAngleExpectations_t;
TEST(AltitudeHoldTest, TestCalculateTiltAngle)
{
inclinationAngleExpectations_t inclinationAngleExpectations[] = {
{ {0, 0}, 0},
{ {1, 0}, 1},
{ {0, 1}, 1},
{ {0, -1}, 1},
{ {-1, 0}, 1},
{ {-1, -2}, 2},
{ {-2, -1}, 2},
{ {1, 2}, 2},
{ {2, 1}, 2}
};
rollAndPitchInclination_t inclination = {0, 0};
uint16_t tilt_angle = calculateTiltAngle(&inclination);
EXPECT_EQ(tilt_angle, 0);
for (uint8_t i = 0; i < 9; i++) {
inclinationAngleExpectations_t *expectation = &inclinationAngleExpectations[i];
uint16_t result = calculateTiltAngle(&expectation->inclination);
EXPECT_EQ(expectation->expected_angle, result);
}
}
// STUBS
extern "C" {