1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 16:25:31 +03:00

Improved CRSF flight mode reporting.

This commit is contained in:
mikeller 2019-02-01 00:58:50 +13:00
parent ae194f2eb3
commit 4d8bf61d94
2 changed files with 47 additions and 7 deletions

View file

@ -216,9 +216,30 @@ TEST(TelemetryCrsfTest, TestFlightMode)
{
uint8_t frame[CRSF_FRAME_SIZE_MAX];
// nothing set, so ACRO mode
ENABLE_STATE(GPS_FIX);
ENABLE_STATE(GPS_FIX_HOME);
airMode = false;
DISABLE_ARMING_FLAG(ARMED);
// nothing set, so ACRO mode
int frameLen = getCrsfFrame(frame, CRSF_FRAMETYPE_FLIGHT_MODE);
EXPECT_EQ(6 + FRAME_HEADER_FOOTER_LEN, frameLen);
EXPECT_EQ(CRSF_SYNC_BYTE, frame[0]); // address
EXPECT_EQ(8, frame[1]); // length
EXPECT_EQ(0x21, frame[2]); // type
EXPECT_EQ('A', frame[3]);
EXPECT_EQ('C', frame[4]);
EXPECT_EQ('R', frame[5]);
EXPECT_EQ('O', frame[6]);
EXPECT_EQ('*', frame[7]);
EXPECT_EQ(0, frame[8]);
EXPECT_EQ(crfsCrc(frame, frameLen), frame[9]);
ENABLE_ARMING_FLAG(ARMED);
frameLen = getCrsfFrame(frame, CRSF_FRAMETYPE_FLIGHT_MODE);
EXPECT_EQ(5 + FRAME_HEADER_FOOTER_LEN, frameLen);
EXPECT_EQ(CRSF_SYNC_BYTE, frame[0]); // address
EXPECT_EQ(7, frame[1]); // length
@ -230,7 +251,6 @@ TEST(TelemetryCrsfTest, TestFlightMode)
EXPECT_EQ(0, frame[7]);
EXPECT_EQ(crfsCrc(frame, frameLen), frame[8]);
enableFlightMode(ANGLE_MODE);
EXPECT_EQ(ANGLE_MODE, FLIGHT_MODE(ANGLE_MODE));
frameLen = getCrsfFrame(frame, CRSF_FRAMETYPE_FLIGHT_MODE);