diff --git a/conf/autopilot/subsystems/fixedwing/autopilot.makefile b/conf/autopilot/subsystems/fixedwing/autopilot.makefile
index d30bafbd1d..195a04a3fb 100644
--- a/conf/autopilot/subsystems/fixedwing/autopilot.makefile
+++ b/conf/autopilot/subsystems/fixedwing/autopilot.makefile
@@ -160,6 +160,7 @@ fbw_CFLAGS += -DFBW
fbw_srcs += $(SRC_FIRMWARE)/main_fbw.c
fbw_srcs += subsystems/electrical.c
fbw_srcs += $(SRC_FIXEDWING)/commands.c
+fbw_srcs += $(SRC_FIRMWARE)/fbw_downlink.c
######################################################################
##
@@ -169,6 +170,7 @@ fbw_srcs += $(SRC_FIXEDWING)/commands.c
ap_CFLAGS += -DAP
ap_srcs += $(SRC_FIRMWARE)/main_ap.c
ap_srcs += $(SRC_FIXEDWING)/estimator.c
+ap_srcs += $(SRC_FIRMWARE)/ap_downlink.c
######################################################################
diff --git a/conf/settings/basic.xml b/conf/settings/basic.xml
index ceda0fe0a2..42d515d640 100644
--- a/conf/settings/basic.xml
+++ b/conf/settings/basic.xml
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/conf/settings/basic_infrared.xml b/conf/settings/basic_infrared.xml
index 5d81907a28..06cc381481 100644
--- a/conf/settings/basic_infrared.xml
+++ b/conf/settings/basic_infrared.xml
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/conf/settings/basic_ins.xml b/conf/settings/basic_ins.xml
index 348d904940..89e34cd678 100644
--- a/conf/settings/basic_ins.xml
+++ b/conf/settings/basic_ins.xml
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/conf/settings/flight_params.xml b/conf/settings/flight_params.xml
index fcd1504977..62f6d2411b 100644
--- a/conf/settings/flight_params.xml
+++ b/conf/settings/flight_params.xml
@@ -26,8 +26,8 @@
-
-
+
+
diff --git a/conf/settings/lisa.xml b/conf/settings/lisa.xml
index 9f95c86edb..4ab6fa9e0c 100644
--- a/conf/settings/lisa.xml
+++ b/conf/settings/lisa.xml
@@ -24,7 +24,7 @@
-
+
diff --git a/conf/settings/tuning.xml b/conf/settings/tuning.xml
index e411dd2f4a..5309586e6e 100644
--- a/conf/settings/tuning.xml
+++ b/conf/settings/tuning.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/conf/settings/tuning_infrared.xml b/conf/settings/tuning_infrared.xml
index 74aa28d36d..8390a929a3 100644
--- a/conf/settings/tuning_infrared.xml
+++ b/conf/settings/tuning_infrared.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/conf/settings/tuning_ins.xml b/conf/settings/tuning_ins.xml
index 8e0c9d145a..727b1fbb9c 100644
--- a/conf/settings/tuning_ins.xml
+++ b/conf/settings/tuning_ins.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/conf/settings/tuning_ins_dcm.xml b/conf/settings/tuning_ins_dcm.xml
index 8e306cf9ac..fd3e703ec3 100644
--- a/conf/settings/tuning_ins_dcm.xml
+++ b/conf/settings/tuning_ins_dcm.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/conf/settings/tuning_loiter.xml b/conf/settings/tuning_loiter.xml
index bae363dc3f..b29768abb7 100644
--- a/conf/settings/tuning_loiter.xml
+++ b/conf/settings/tuning_loiter.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/conf/settings/tuning_pers.xml b/conf/settings/tuning_pers.xml
index 86da74007b..6e76fe489a 100644
--- a/conf/settings/tuning_pers.xml
+++ b/conf/settings/tuning_pers.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/sw/airborne/firmwares/fixedwing/ap_downlink.h b/sw/airborne/firmwares/fixedwing/ap_downlink.h
index 76b3945cd9..c97aaa3608 100644
--- a/sw/airborne/firmwares/fixedwing/ap_downlink.h
+++ b/sw/airborne/firmwares/fixedwing/ap_downlink.h
@@ -39,7 +39,9 @@
#include "generated/airframe.h"
+#ifndef DOWNLINK_DEVICE
#define DOWNLINK_DEVICE DOWNLINK_AP_DEVICE
+#endif
#include "subsystems/datalink/downlink.h"
#include "messages.h"
@@ -53,6 +55,10 @@
#define Downlink(x) {}
#endif
+#ifdef AP
+/** Telemetry mode for AP process: index in the telemetry.xml file */
+extern uint8_t telemetry_mode_Ap_DefaultChannel;
+#endif
#define PERIODIC_SEND_ALIVE(_chan) DOWNLINK_SEND_ALIVE(_chan, 16, MD5SUM);
diff --git a/sw/airborne/firmwares/fixedwing/fbw_downlink.h b/sw/airborne/firmwares/fixedwing/fbw_downlink.h
index 432773166d..994ff03ca1 100644
--- a/sw/airborne/firmwares/fixedwing/fbw_downlink.h
+++ b/sw/airborne/firmwares/fixedwing/fbw_downlink.h
@@ -48,9 +48,16 @@
#include "subsystems/electrical.h"
#include "inter_mcu.h"
+#ifndef DOWNLINK_DEVICE
#define DOWNLINK_DEVICE DOWNLINK_FBW_DEVICE
+#endif
#include "subsystems/datalink/downlink.h"
+#ifdef FBW
+/** Telemetry mode for FBW process: index in the telemetry.xml file */
+extern uint8_t telemetry_mode_Fbw_DefaultChannel;
+#endif
+
#define PERIODIC_SEND_COMMANDS(_chan) DOWNLINK_SEND_COMMANDS(_chan, COMMANDS_NB, commands)
#ifdef RADIO_CONTROL
diff --git a/sw/airborne/subsystems/datalink/downlink.c b/sw/airborne/subsystems/datalink/downlink.c
index 003b816beb..5249a92f2a 100644
--- a/sw/airborne/subsystems/datalink/downlink.c
+++ b/sw/airborne/subsystems/datalink/downlink.c
@@ -31,20 +31,6 @@
#include "std.h"
#include "generated/airframe.h"
-#ifdef FBW
-#ifndef TELEMETRY_MODE_FBW
-#define TELEMETRY_MODE_FBW 0
-#endif
-uint8_t telemetry_mode_Fbw_DefaultChannel = TELEMETRY_MODE_FBW;
-#endif /** FBW */
-
-#ifdef AP
-#ifndef TELEMETRY_MODE_AP
-#define TELEMETRY_MODE_AP 0
-#endif
-uint8_t telemetry_mode_Ap_DefaultChannel = TELEMETRY_MODE_AP;
-#endif /** AP */
-
uint8_t downlink_nb_ovrn;
uint16_t downlink_nb_bytes;
uint16_t downlink_nb_msgs;
diff --git a/sw/airborne/subsystems/datalink/downlink.h b/sw/airborne/subsystems/datalink/downlink.h
index 00a809bc82..be2a1034ec 100644
--- a/sw/airborne/subsystems/datalink/downlink.h
+++ b/sw/airborne/subsystems/datalink/downlink.h
@@ -62,16 +62,6 @@
#define DefaultChannel DOWNLINK_TRANSPORT
#endif
-#ifdef AP
-/** Telemetry mode for AP process: index in the telemetry.xml file */
-extern uint8_t telemetry_mode_Ap_DefaultChannel;
-#endif
-
-#ifdef FBW
-/** Telemetry mode for FBW process: index in the telemetry.xml file */
-extern uint8_t telemetry_mode_Fbw_DefaultChannel;
-#endif
-
/** Counter of messages not sent because of unavailibity of the output buffer*/
extern uint8_t downlink_nb_ovrn;
extern uint16_t downlink_nb_bytes;