Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Common tools for periodic telemetry interface Allows subsystem to register callback functions. More...
#include <inttypes.h>
#include "std.h"
#include "pprzlink/pprzlink_device.h"
#include "pprzlink/pprzlink_transport.h"
#include "pprzlink/messages.h"
Go to the source code of this file.
Data Structures | |
struct | telemetry_cb_slots |
struct | periodic_telemetry |
Periodic telemetry structure. More... | |
Macros | |
#define | TELEMETRY_NB_CBS 4 |
number of callbacks that can be registered per msg More... | |
Typedefs | |
typedef void(* | telemetry_cb )(struct transport_tx *trans, struct link_device *dev) |
Telemetry callback definition. More... | |
typedef const char | telemetry_msg [64] |
periodic telemetry msg name definition More... | |
Functions | |
int8_t | register_periodic_telemetry (struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb) |
Register a telemetry callback function. More... | |
void | periodic_telemetry_err_report (uint8_t _process, uint8_t _mode, uint8_t _id) |
Send an error report when trying to send message that as not been register. More... | |
Common tools for periodic telemetry interface Allows subsystem to register callback functions.
Definition in file telemetry_common.h.
struct telemetry_cb_slots |
Definition at line 49 of file telemetry_common.h.
Data Fields | ||
---|---|---|
uint8_t | id | id of telemetry message |
telemetry_cb | slots[TELEMETRY_NB_CBS] |
struct periodic_telemetry |
Periodic telemetry structure.
Contains the total number of messages (from generated telemetry file) and the list of registered callbacks
Definition at line 58 of file telemetry_common.h.
Data Fields | ||
---|---|---|
struct telemetry_cb_slots * | cbs | array of callbacks defined through TELEMETRY_MSG |
uint8_t | nb | number of messages |
#define TELEMETRY_NB_CBS 4 |
number of callbacks that can be registered per msg
Definition at line 47 of file telemetry_common.h.
Referenced by register_periodic_telemetry().
typedef void(* telemetry_cb)(struct transport_tx *trans, struct link_device *dev) |
Telemetry callback definition.
Definition at line 40 of file telemetry_common.h.
typedef const char telemetry_msg[64] |
periodic telemetry msg name definition
Definition at line 44 of file telemetry_common.h.
Send an error report when trying to send message that as not been register.
_process | telemetry process id |
_mode | telemetry mode |
_id | id of the message |
_process | telemetry process id |
_mode | telemetry mode |
_id | id of the message in telemetry system (see var/<AC>/generated/periodic_telemetry.h) |
Definition at line 78 of file telemetry.c.
References DefaultChannel, DefaultDevice, and mode.
int8_t register_periodic_telemetry | ( | struct periodic_telemetry * | _pt, |
uint8_t | _id, | ||
telemetry_cb | _cb | ||
) |
Register a telemetry callback function.
empty implementation is provided if PERIODIC_TELEMETRY is not set or set to FALSE
_pt | periodic telemetry structure to register |
<em>id | message ID (use PPRZ_MSG_ID<message_name> define) |
_cb | callback function, called according to telemetry mode and specified period |
_pt | periodic telemetry structure to register |
<em>id | message ID (use PPRZ_MSG_ID<message_name> define) |
_cb | callback function, called according to telemetry mode and specified period |
Definition at line 46 of file telemetry.c.
References periodic_telemetry::cbs, telemetry_cb_slots::id, periodic_telemetry::nb, telemetry_cb_slots::slots, and TELEMETRY_NB_CBS.
Referenced by actuators_bebop_init(), adc_generic_init(), ahrs_aligner_init(), ahrs_dcm_register(), ahrs_fc_register(), ahrs_float_invariant_register(), ahrs_ice_register(), ahrs_icq_register(), ahrs_infrared_init(), ahrs_mlkf_register(), ahrs_vectornav_init(), ahrs_vectornav_register(), air_data_init(), aoa_pwm_init(), autopilot_firmware_init(), autopilot_init(), b2_hff_init(), battery_monitor_init(), bluegiga_init(), cam_init(), digital_cam_uart_init(), downlink_init(), esc32_init(), gps_init(), gps_piksi_init(), guidance_h_init(), guidance_hybrid_init(), guidance_v_init(), gvf_init(), h_ctl_init(), i2c_init(), imu_gx3_init(), imu_init(), imu_vectornav_init(), init_fbw(), ins_float_invariant_init(), ins_float_invariant_wrapper_init(), ins_gps_passthrough_init(), ins_int_init(), ins_vectornav_init(), intermcu_init(), link_mcu_init(), mag_pitot_init(), main_init(), mavlink_init(), motor_mixing_init(), ms45xx_i2c_init(), nav_init(), nav_survey_rectangle_rotorcraft_init(), navdata_init(), opticflow_module_init(), radio_control_impl_init(), rotorcraft_cam_init(), rpm_sensor_init(), sdlog_chibios_init(), stabilization_attitude_init(), stabilization_indi_init(), stabilization_rate_init(), superbitrf_init(), temp_adc_init(), uart_periph_init(), vertical_ctrl_module_init(), vff_init(), and wind_estimator_init().