From cee3bc2e67b4024fe3bd908b11bf1aae63648884 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ra=C3=BAl=20Ortega?= Date: Tue, 20 Apr 2021 10:24:05 +0200 Subject: [PATCH] check two CRC types --- src/main/tracker/frskyx.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/tracker/frskyx.c b/src/main/tracker/frskyx.c index 1fb70e8..4632838 100755 --- a/src/main/tracker/frskyx.c +++ b/src/main/tracker/frskyx.c @@ -177,7 +177,20 @@ void processHubPacket(uint8_t id, uint16_t value) } } -static uint8_t checkSportPacket(uint8_t * packet) +bool checkSportPacket_V1(uint8_t *packet) +{ + short crc = 0; + for (int i = 1; i < FRSKY_RX_PACKET_SIZE; i++) { + crc += packet[i]; //0-1FF + crc += crc >> 8; //0-100 + crc &= 0x00ff; + crc += crc >> 8; //0-0FF + crc &= 0x00ff; + } + return (crc == 0x00ff); +} + +static uint8_t checkSportPacket_V2(uint8_t * packet) { short crc = 0; for (int i=1; i