diff --git a/radio/src/sbus.cpp b/radio/src/sbus.cpp index f2cddc188..575e5dfa6 100644 --- a/radio/src/sbus.cpp +++ b/radio/src/sbus.cpp @@ -24,40 +24,31 @@ #define SBUS_FRAME_GAP_DELAY 1000 // 500uS #define SBUS_START_BYTE 0x0F +#define SBUS_END_BYTE 0x00 #define SBUS_FLAGS_IDX 23 #define SBUS_FRAMELOST_BIT 2 #define SBUS_FAILSAFE_BIT 3 -#define SBUS_CH_BITS 11 -#define SBUS_CH_MASK ((1< SBUS_FLAGS_IDX && ((sbus[SBUS_FLAGS_IDX] & (1< SBUS_MAX_FRAME_SIZE-1) { - SbusIndex = SBUS_MAX_FRAME_SIZE-1; + if (SbusIndex > SBUS_FRAME_SIZE-1) { + SbusIndex = SBUS_FRAME_SIZE-1; } + SbusFrame[SbusIndex++] = rxchar; } if (active) { SbusTimer = getTmr2MHz(); diff --git a/radio/src/sbus.h b/radio/src/sbus.h index 5ef7359a5..f9ea5c325 100644 --- a/radio/src/sbus.h +++ b/radio/src/sbus.h @@ -22,8 +22,7 @@ #define _SBUS_H_ #define SBUS_BAUDRATE 100000 -#define SBUS_MIN_FRAME_SIZE 23 -#define SBUS_MAX_FRAME_SIZE 28 +#define SBUS_FRAME_SIZE 25 void processSbusInput();