32 #if RADIO_CONTROL_NB_CHANNEL < RADIO_CTL_NB
33 #error "RADIO_CONTROL_NB_CHANNEL mustn't be lower than number of channels in radio file."
53 #define RssiValid() TRUE
57 #if PERIODIC_TELEMETRY
60 static void send_ppm(
struct transport_tx *trans,
struct link_device *
dev)
62 uint16_t ppm_pulses_usec[RADIO_CTL_NB];
63 for (
int i = 0; i < RADIO_CTL_NB; i++) {
66 pprz_msg_send_PPM(trans,
dev, AC_ID,
81 #if PERIODIC_TELEMETRY
Main include for ABI (AirBorneInterface).
#define RADIO_CONTROL_PPM_ID
void ppm_arch_init(void)
Architecture dependant code.
#define USEC_OF_RC_PPM_TICKS(_v)
#define RC_PPM_TICKS_OF_USEC(_v)
static uint32_t ppm_last_pulse_time
static bool ppm_data_valid
static void send_ppm(struct transport_tx *trans, struct link_device *dev)
void ppm_decode_frame_width(uint32_t ppm_width)
Decode a PPM frame from last width.
void ppm_init(void)
RC init function.
uint16_t ppm_pulses[RADIO_CTL_NB]
void ppm_decode_frame(uint32_t ppm_time)
Decode a PPM frame from global timer value.
void ppm_event(void)
RC event function.
volatile bool ppm_frame_available
static uint8_t ppm_cur_pulse
#define RssiValid()
RssiValid test macro.
struct RadioControl radio_control
Generic interface for radio control modules.
uint8_t time_since_last_frame
static const struct usb_device_descriptor dev
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
Periodic telemetry system header (includes downlink utility and generated code).
#define DefaultPeriodic
Set default periodic telemetry.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.