31 #define PERIODIC_C_MAIN
33 #pragma GCC diagnostic push
34 #pragma GCC diagnostic ignored "-Wunused-parameter"
35 #include "generated/periodic_telemetry.h"
36 #pragma GCC diagnostic pop
38 #include "generated/airframe.h"
39 #include "generated/settings.h"
40 #include "generated/modules.h"
80 for (i = 0; i < ACTUATORS_NB; i++) {
100 modules_periodic_task();
107 modules_event_task();
111 #define IdOfMsg(x) (x[1])
113 void dl_parse_msg(
struct link_device *
dev __attribute__((unused)),
struct transport_tx *trans __attribute__((unused)),
uint8_t *buf)
116 if (msg_id == DL_SET_ACTUATOR) {
117 uint8_t actuator_no = DL_SET_ACTUATOR_no(buf);
118 uint16_t actuator_value __attribute__((unused)) = DL_SET_ACTUATOR_value(buf);
125 switch (actuator_no) {
127 case 0: ActuatorSet(0, actuator_value);
break;
130 case 1: ActuatorSet(1, actuator_value);
break;
133 case 2: ActuatorSet(2, actuator_value);
break;
136 case 3: ActuatorSet(3, actuator_value);
break;
139 case 4: ActuatorSet(4, actuator_value);
break;
142 case 5: ActuatorSet(5, actuator_value);
break;
145 case 6: ActuatorSet(6, actuator_value);
break;
148 case 7: ActuatorSet(7, actuator_value);
break;
151 case 8: ActuatorSet(8, actuator_value);
break;
161 else if (msg_id == DL_SETTING && DL_SETTING_ac_id(buf) == AC_ID) {
162 uint8_t i = DL_SETTING_index(buf);
163 float val = DL_SETTING_value(buf);
168 ActuatorSet(0, actuators[SERVO_0_IDX]);
171 ActuatorSet(1, actuators[SERVO_1_IDX]);
174 ActuatorSet(2, actuators[SERVO_2_IDX]);
177 ActuatorSet(3, actuators[SERVO_3_IDX]);
180 ActuatorSet(4, actuators[SERVO_4_IDX]);
183 ActuatorSet(5, actuators[SERVO_5_IDX]);
186 ActuatorSet(6, actuators[SERVO_6_IDX]);
189 ActuatorSet(7, actuators[SERVO_7_IDX]);
192 ActuatorSet(8, actuators[SERVO_8_IDX]);
196 }
else if (msg_id == DL_GET_SETTING && DL_GET_SETTING_ac_id(buf) == AC_ID) {
197 uint8_t i = DL_GET_SETTING_index(buf);
198 float val = settings_get_value(i);