RC protocol definition for Yuneec ST24 transmitter.
More...
#include <stdint.h>
Go to the source code of this file.
|
#define | ST24_DATA_LEN_MAX 64 |
|
#define | ST24_STX1 0x55 |
|
#define | ST24_STX2 0x55 |
|
|
enum | ST24_PACKET_TYPE { ST24_PACKET_TYPE_CHANNELDATA12 = 0,
ST24_PACKET_TYPE_CHANNELDATA24,
ST24_PACKET_TYPE_TRANSMITTERGPSDATA
} |
|
enum | ST24_DECODE_STATE {
ST24_DECODE_STATE_UNSYNCED = 0,
ST24_DECODE_STATE_GOT_STX1,
ST24_DECODE_STATE_GOT_STX2,
ST24_DECODE_STATE_GOT_LEN,
ST24_DECODE_STATE_GOT_TYPE,
ST24_DECODE_STATE_GOT_DATA
} |
|
|
uint8_t | st24_common_crc8 (uint8_t *ptr, uint8_t len) |
| CRC8 implementation for ST24 protocol. More...
|
|
__EXPORT int | st24_decode (uint8_t byte, uint8_t *rssi, uint8_t *lost_count, uint16_t *channel_count, uint16_t *channels, uint16_t max_chan_count) |
| Decoder for ST24 protocol. More...
|
|
RC protocol definition for Yuneec ST24 transmitter.
- Author
- Lorenz Meier lm@in.nosp@m.f.et.nosp@m.hz.ch
§ st24_common_crc8()
uint8_t st24_common_crc8 |
( |
uint8_t * |
ptr, |
|
|
uint8_t |
len |
|
) |
| |
CRC8 implementation for ST24 protocol.
- Parameters
-
prt | Pointer to the data to CRC |
len | number of bytes to accumulate in the checksum |
- Returns
- the checksum of these bytes over len
§ st24_decode()
__EXPORT int st24_decode |
( |
uint8_t |
byte, |
|
|
uint8_t * |
rssi, |
|
|
uint8_t * |
lost_count, |
|
|
uint16_t * |
channel_count, |
|
|
uint16_t * |
channels, |
|
|
uint16_t |
max_chan_count |
|
) |
| |
Decoder for ST24 protocol.
- Parameters
-
byte | current char to read |
rssi | pointer to a byte where the RSSI value is written back to |
lost_count | pointer to a byte where the receive count of packets since last wireless frame is written back to ( > 0 if RC is lost) |
channels | pointer to a datastructure of size max_chan_count where channel values (12 bit) are written back to |
max_chan_count | maximum channels to decode - if more channels are decoded, the last n are skipped and success (0) is returned |
- Returns
- 0 for success (a decoded packet), 1 for no packet yet (accumulating), 2 for unknown packet, 3 for out of sync, 4 for checksum error