From e78f9761bc58cf7035d2772023ed68a6d1bb5e67 Mon Sep 17 00:00:00 2001 From: mikeller Date: Thu, 10 Oct 2019 01:59:07 +1300 Subject: [PATCH] Fixed RX FIFO buffer flush on frame error. --- src/main/rx/cc2500_frsky_d.c | 2 +- src/main/rx/cc2500_frsky_x.c | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/rx/cc2500_frsky_d.c b/src/main/rx/cc2500_frsky_d.c index e8367d7812..b57369dae4 100644 --- a/src/main/rx/cc2500_frsky_d.c +++ b/src/main/rx/cc2500_frsky_d.c @@ -249,7 +249,7 @@ rx_spi_received_e frSkyDHandlePacket(uint8_t * const packet, uint8_t * const pro } } if (!packetOk) { - cc2500Strobe(CC2500_SRX); + cc2500Strobe(CC2500_SFRX); } } diff --git a/src/main/rx/cc2500_frsky_x.c b/src/main/rx/cc2500_frsky_x.c index 9820074ae1..3f008adf84 100644 --- a/src/main/rx/cc2500_frsky_x.c +++ b/src/main/rx/cc2500_frsky_x.c @@ -369,12 +369,10 @@ rx_spi_received_e frSkyXHandlePacket(uint8_t * const packet, uint8_t * const pro // here FS code could be case STATE_DATA: if (cc2500getGdo() && (frameReceived == false)){ - bool packetOk = false; uint8_t ccLen = cc2500ReadReg(CC2500_3B_RXBYTES | CC2500_READ_BURST) & 0x7F; if (ccLen >= packetLength) { cc2500ReadFifo(packet, packetLength); if (isValidPacket(packet)) { - packetOk = true; missingPackets = 0; timeoutUs = 1; receiveDelayUs = 0; @@ -450,11 +448,9 @@ rx_spi_received_e frSkyXHandlePacket(uint8_t * const packet, uint8_t * const pro if (!frameReceived) { packetErrors++; DEBUG_SET(DEBUG_RX_FRSKY_SPI, DEBUG_DATA_BAD_FRAME, packetErrors); + cc2500Strobe(CC2500_SFRX); } } - if (!packetOk) { - cc2500Strobe(CC2500_SRX); - } } if (telemetryReceived) { if (cmpTimeUs(micros(), packetTimerUs) > receiveDelayUs) { // if received or not received in this time sent telemetry data