48 #define SUMD_MAX_CHANNELS 32 49 #define SUMD_HEADER_LENGTH 3 50 #define SUMD_HEADER_ID 0xA8 51 #define SUMD_ID_SUMH 0x00 52 #define SUMD_ID_SUMD 0x01 53 #define SUMD_ID_FAILSAFE 0x81 63 uint8_t sumd_data[SUMD_MAX_CHANNELS * 2];
79 uint16_t
sumd_crc16(uint16_t crc, uint8_t value);
88 uint8_t
sumd_crc8(uint8_t crc, uint8_t value);
105 __EXPORT int sumd_decode(uint8_t byte, uint8_t *rssi, uint8_t *rx_count, uint16_t *channel_count,
106 uint16_t *channels, uint16_t max_chan_count,
bool *failsafe);
uint8_t header
0xA8 for a valid packet
Definition: sumd.h:60
uint8_t status
0x01 valid and live SUMD data frame / 0x00 = SUMH / 0x81 = Failsafe
Definition: sumd.h:61
uint8_t telemetry
Telemetry request.
Definition: sumd.h:66
__EXPORT int sumd_decode(uint8_t byte, uint8_t *rssi, uint8_t *rx_count, uint16_t *channel_count, uint16_t *channels, uint16_t max_chan_count, bool *failsafe)
Decoder for SUMD/SUMH protocol.
Definition: sumd.cpp:111
uint16_t sumd_crc16(uint16_t crc, uint8_t value)
CRC16 implementation for SUMD protocol.
Definition: sumd.cpp:93
uint8_t sumd_crc8(uint8_t crc, uint8_t value)
CRC8 implementation for SUMH protocol.
Definition: sumd.cpp:105
uint8_t length
Channels.
Definition: sumd.h:62
uint8_t crc16_low
Low Byte of 16 Bit CRC.
Definition: sumd.h:65
uint8_t crc8
SUMH CRC8.
Definition: sumd.h:67
uint8_t crc16_high
High Byte of 16 Bit CRC.
Definition: sumd.h:64