|
Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Architecture independent functions for PPM radio control. More...
#include "subsystems/radio_control.h"#include "subsystems/radio_control/ppm.h"#include "subsystems/datalink/telemetry.h"
Include dependency graph for ppm.c:Go to the source code of this file.
Macros | |
| #define | RssiValid() TRUE |
| RssiValid test macro. More... | |
Functions | |
| static void | send_ppm (struct transport_tx *trans, struct link_device *dev) |
| void | radio_control_impl_init (void) |
| void | radio_control_impl_event (void(*_received_frame_handler)(void)) |
| RC event function with handler callback. More... | |
| void | ppm_decode_frame (uint32_t ppm_time) |
| Decode a PPM frame from global timer value. More... | |
| void | ppm_decode_frame_width (uint32_t ppm_width) |
| Decode a PPM frame from last width. More... | |
Variables | |
| uint16_t | ppm_pulses [RADIO_CTL_NB] |
| volatile bool | ppm_frame_available |
| static uint8_t | ppm_cur_pulse |
| static uint32_t | ppm_last_pulse_time |
| static bool | ppm_data_valid |
Architecture independent functions for PPM radio control.
Definition in file ppm.c.
| #define RssiValid | ( | ) | TRUE |
RssiValid test macro.
This macro has to be defined to test the validity of ppm frame from an other source (ex: GPIO). By default, always true.
Definition at line 48 of file ppm.c.
Referenced by ppm_decode_frame_width().
| void ppm_decode_frame | ( | uint32_t | ppm_time | ) |
Decode a PPM frame from global timer value.
A valid ppm frame:
Definition at line 99 of file ppm.c.
References ppm_decode_frame_width(), and ppm_last_pulse_time.
Here is the call graph for this function:| void ppm_decode_frame_width | ( | uint32_t | ppm_width | ) |
Decode a PPM frame from last width.
A valid ppm frame:
Definition at line 114 of file ppm.c.
References ppm_cur_pulse, ppm_data_valid, ppm_frame_available, ppm_pulses, RC_PPM_TICKS_OF_USEC, and RssiValid.
Referenced by icuperiodcb(), and ppm_decode_frame().
Here is the caller graph for this function:| void radio_control_impl_event | ( | void(*)(void) | _received_frame_handler | ) |
RC event function with handler callback.
PPM frames are normalized using the IIR filter.
Definition at line 80 of file ppm.c.
References RadioControl::frame_cpt, ppm_frame_available, ppm_pulses, radio_control, RadioControl::radio_ok_cpt, RC_OK, RadioControl::status, and RadioControl::time_since_last_frame.
| void radio_control_impl_init | ( | void | ) |
Definition at line 66 of file ppm.c.
References DefaultPeriodic, ppm_arch_init(), ppm_cur_pulse, ppm_data_valid, ppm_frame_available, ppm_last_pulse_time, register_periodic_telemetry(), and send_ppm().
Here is the call graph for this function:
|
static |
Definition at line 55 of file ppm.c.
References RadioControl::frame_rate, ppm_pulses, radio_control, and USEC_OF_RC_PPM_TICKS.
Referenced by radio_control_impl_init().
Here is the caller graph for this function:
|
static |
Definition at line 37 of file ppm.c.
Referenced by ppm_decode_frame_width(), and radio_control_impl_init().
|
static |
Definition at line 39 of file ppm.c.
Referenced by ppm_decode_frame_width(), and radio_control_impl_init().
| volatile bool ppm_frame_available |
Definition at line 32 of file ppm.c.
Referenced by ppm_decode_frame_width(), radio_control_impl_event(), radio_control_impl_init(), and send_ppm().
|
static |
Definition at line 38 of file ppm.c.
Referenced by ppm_decode_frame(), and radio_control_impl_init().
| uint16_t ppm_pulses[RADIO_CTL_NB] |
Definition at line 31 of file ppm.c.
Referenced by ppm_decode_frame_width(), radio_control_impl_event(), send_ppm(), and update_rc_channel().