48 #define RssiValid() TRUE
52 #if PERIODIC_TELEMETRY
55 static void send_ppm(
struct transport_tx *trans,
struct link_device *
dev)
57 uint16_t ppm_pulses_usec[RADIO_CTL_NB];
58 for (
int i = 0; i < RADIO_CTL_NB; i++) {
61 pprz_msg_send_PPM(trans, dev, AC_ID,
75 #if PERIODIC_TELEMETRY
90 _received_frame_handler();
102 ppm_last_pulse_time = ppm_time;
void radio_control_impl_init(void)
Periodic telemetry system header (includes downlink utility and generated code).
uint16_t ppm_pulses[RADIO_CTL_NB]
#define RssiValid()
RssiValid test macro.
static void send_ppm(struct transport_tx *trans, struct link_device *dev)
#define USEC_OF_RC_PPM_TICKS(_v)
void radio_control_impl_event(void(*_received_frame_handler)(void))
RC event function with handler callback.
#define DefaultPeriodic
Set default periodic telemetry.
struct RadioControl radio_control
void ppm_arch_init(void)
Architecture dependant code.
static const struct usb_device_descriptor dev
#define RC_PPM_TICKS_OF_USEC(_v)
void ppm_decode_frame_width(uint32_t ppm_width)
Decode a PPM frame from last width.
static bool ppm_data_valid
static uint32_t ppm_last_pulse_time
uint8_t time_since_last_frame
static uint8_t ppm_cur_pulse
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
volatile bool ppm_frame_available
void ppm_decode_frame(uint32_t ppm_time)
Decode a PPM frame from global timer value.