diff --git a/sw/airborne/tl_datalink.c b/sw/airborne/tl_datalink.c new file mode 100644 index 0000000000..20759d8419 --- /dev/null +++ b/sw/airborne/tl_datalink.c @@ -0,0 +1,20 @@ +#define DATALINK_C +#include "datalink.h" +#include "airframe.h" +#include "std.h" +#include "dl_protocol.h" +#include "settings.h" +#include "messages.h" +#include "tl_telemetry.h" + +#define IdOfMsg(x) (x[1]) + +void dl_parse_msg(void) { + uint8_t msg_id = IdOfMsg(dl_buffer); + if (msg_id == DL_SETTING && DL_SETTING_ac_id(dl_buffer) == AC_ID) { + uint8_t i = DL_SETTING_index(dl_buffer); + float val = DL_SETTING_value(dl_buffer); + DlSetting(i, val); + DOWNLINK_SEND_DL_VALUE(&i, &val); + } +}