Paparazzi UAS  v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
telemetry.c File Reference

Periodic telemetry system utility function. More...

#include "subsystems/datalink/telemetry_common.h"
#include "generated/periodic_telemetry.h"
#include "subsystems/datalink/downlink.h"
+ Include dependency graph for telemetry.c:

Go to the source code of this file.

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...
 

Variables

struct telemetry_cb_slots telemetry_cbs [TELEMETRY_PPRZ_NB_MSG] = TELEMETRY_PPRZ_CBS
 
struct periodic_telemetry pprz_telemetry = { TELEMETRY_PPRZ_NB_MSG, telemetry_cbs }
 Global telemetry structure. More...
 

Detailed Description

Periodic telemetry system utility function.

Definition in file telemetry.c.

Function Documentation

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.

Parameters
_processtelemetry process id
_modetelemetry mode
_idid of the message in telemetry system (see var/<AC>/generated/periodic_telemetry.h)

Definition at line 78 of file telemetry.c.

References DefaultChannel, and DefaultDevice.

int8_t register_periodic_telemetry ( struct periodic_telemetry _pt,
uint8_t  _id,
telemetry_cb  _cb 
)

Register a telemetry callback function.

Parameters
_ptperiodic telemetry structure to register
<em>idmessage ID (use PPRZ_MSG_ID<message_name> define)
_cbcallback function, called according to telemetry mode and specified period
Returns
-1 on failure to register, index of callback otherwise

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(), air_data_init(), aoa_pwm_init(), autopilot_init(), b2_hff_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(), h_ctl_init(), i2c_init(), imu_gx3_init(), imu_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(), stabilization_attitude_init(), stabilization_indi_init(), stabilization_rate_init(), superbitrf_init(), temp_adc_init(), uart_periph_init(), vertical_ctrl_module_init(), and vff_init().

Variable Documentation

struct periodic_telemetry pprz_telemetry = { TELEMETRY_PPRZ_NB_MSG, telemetry_cbs }

Global telemetry structure.

Contains the list of message names and registered callbacks. Filled with generated structure from periodic_telemetry.h

Definition at line 37 of file telemetry.c.

struct telemetry_cb_slots telemetry_cbs[TELEMETRY_PPRZ_NB_MSG] = TELEMETRY_PPRZ_CBS

Definition at line 36 of file telemetry.c.