36 #include "generated/airframe.h"
37 #include "generated/modules.h"
45 PRINT_CONFIG_VAR(PERIODIC_FREQUENCY)
47 #if !(SYS_TIME_FREQUENCY/PERIODIC_FREQUENCY*PERIODIC_FREQUENCY == SYS_TIME_FREQUENCY)
48 #warning "The SYS_TIME_FREQUENCY can not be divided by PERIODIC_FREQUENCY. Make sure this is the case for correct timing."
54 PRINT_CONFIG_VAR(TELEMETRY_FREQUENCY)
56 #if USE_AHRS && USE_IMU && (defined AHRS_PROPAGATE_FREQUENCY)
57 #if (AHRS_PROPAGATE_FREQUENCY > PERIODIC_FREQUENCY)
58 #warning "PERIODIC_FREQUENCY should be least equal or greater than AHRS_PROPAGATE_FREQUENCY"
59 INFO_VALUE(
"it is recommended to configure in your airframe PERIODIC_FREQUENCY to at least ",
AHRS_PROPAGATE_FREQUENCY)
72 #define SYS_PERIOD (1.f / PERIODIC_FREQUENCY)
73 #define SENSORS_PERIOD (1.f / PERIODIC_FREQUENCY)
74 #define DATALINK_PERIOD (1.f / TELEMETRY_FREQUENCY)
81 modules_sensors_init();
82 modules_estimation_init();
83 modules_radio_control_init();
84 modules_control_init();
85 modules_actuators_init();
86 modules_datalink_init();
87 modules_default_init();
119 modules_sensors_periodic_task();
123 modules_radio_control_periodic_task();
127 modules_estimation_periodic_task();
128 modules_control_periodic_task();
129 modules_default_periodic_task();
130 modules_actuators_periodic_task();
134 modules_mcu_periodic_task();
135 modules_core_periodic_task();
139 modules_datalink_periodic_task();
145 modules_mcu_event_task();
146 modules_core_event_task();
147 modules_sensors_event_task();
148 modules_estimation_event_task();
149 modules_radio_control_event_task();
150 modules_control_event_task();
151 modules_actuators_event_task();
152 modules_datalink_event_task();
153 modules_default_event_task();
Main include for ABI (AirBorneInterface).
void WEAK autopilot_failsafe_checks(void)
Failsafe checks.
#define AHRS_PROPAGATE_FREQUENCY
void main_ap_periodic(void)
tid_t modules_mcu_core_tid
IDs for timers.
tid_t modules_datalink_tid
tid_t modules_radio_control_tid
tid_t modules_sensors_tid
tid_t sys_time_register_timer(float duration, sys_time_cb cb)
Register a new system timer.
tid_t sys_time_register_timer_offset(tid_t timer, float offset, sys_time_cb cb)
Register a new system timer with an fixed offset from another one.
static bool sys_time_check_and_ack_timer(tid_t id)
Check if timer has elapsed.
int8_t tid_t
sys_time timer id type