51 #define DSM_FRAME_SIZE 16 52 #define DSM_FRAME_CHANNELS 7 53 #define DSM_MAX_CHANNEL_COUNT 18 54 #define DSM_BUFFER_SIZE (DSM_FRAME_SIZE + DSM_FRAME_SIZE / 2) 72 __EXPORT bool dsm_input(
int dsm_fd, uint16_t *values, uint16_t *num_values,
bool *dsm_11_bit, uint8_t *n_bytes,
73 uint8_t **bytes, int8_t *rssi,
unsigned max_values);
75 __EXPORT bool dsm_parse(
const uint64_t now,
const uint8_t *frame,
const unsigned len, uint16_t *values,
76 uint16_t *num_values,
bool *dsm_11_bit,
unsigned *frame_drops, int8_t *rssi_percent, uint16_t max_channels);
79 __EXPORT void dsm_bind(uint16_t cmd,
int pulses);
83 DSM_CMD_BIND_POWER_DOWN = 0,
84 DSM_CMD_BIND_POWER_UP,
85 DSM_CMD_BIND_SET_RX_OUT,
86 DSM_CMD_BIND_SEND_PULSES,
87 DSM_CMD_BIND_REINIT_UART
90 #define DSM2_BIND_PULSES 3 91 #define DSMX_BIND_PULSES 7 92 #define DSMX8_BIND_PULSES 9 Configuration flags used in code.
Namespace encapsulating all device framework classes, functions and data.
Definition: CDev.cpp:47
Generally used magic defines.
#define DSM_FRAME_SIZE
DSM frame size in bytes.
Definition: dsm.h:51
uint8_t dsm_frame_t[DSM_BUFFER_SIZE]
DSM dsm frame receive buffer.
Definition: dsm.h:58
__EXPORT bool dsm_input(int dsm_fd, uint16_t *values, uint16_t *num_values, bool *dsm_11_bit, uint8_t *n_bytes, uint8_t **bytes, int8_t *rssi, unsigned max_values)
Called periodically to check for input data from the DSM UART.
Definition: dsm.cpp:593
__EXPORT int dsm_init(const char *device)
Initialize the DSM receive functionality.
Definition: dsm.cpp:293