diff --git a/conf/firmwares/subsystems/fixedwing/joystick.makefile b/conf/firmwares/subsystems/fixedwing/joystick.makefile
index 00d7ed9fd4..f0787a5567 100644
--- a/conf/firmwares/subsystems/fixedwing/joystick.makefile
+++ b/conf/firmwares/subsystems/fixedwing/joystick.makefile
@@ -2,6 +2,5 @@
# joystick for fixedwings
-$(TARGET).srcs += joystick.c
$(TARGET).CFLAGS += -DUSE_JOYSTICK
diff --git a/conf/flight_plans/joystick.xml b/conf/flight_plans/joystick.xml
index b39d6694d5..4d9fd0389a 100644
--- a/conf/flight_plans/joystick.xml
+++ b/conf/flight_plans/joystick.xml
@@ -4,7 +4,7 @@
#include "subsystems/navigation/nav_line.h"
#include "subsystems/datalink/datalink.h"
-#include "joystick.h"
+#include "firmwares/fixedwing/joystick.h"
diff --git a/sw/airborne/firmwares/fixedwing/datalink.c b/sw/airborne/firmwares/fixedwing/datalink.c
index 6a966b958b..cd76c2aa39 100644
--- a/sw/airborne/firmwares/fixedwing/datalink.c
+++ b/sw/airborne/firmwares/fixedwing/datalink.c
@@ -44,10 +44,6 @@
#include "subsystems/nav.h"
#endif
-#if USE_JOYSTICK
-#include "joystick.h"
-#endif
-
#ifdef HITL
#include "subsystems/gps.h"
#endif
@@ -64,6 +60,21 @@
#include "subsystems/datalink/downlink.h"
#include "ap_downlink.h"
+
+#if USE_JOYSTICK
+#include "firmwares/fixedwing/stabilization/stabilization_attitude.h"
+#include "autopilot.h"
+uint8_t joystick_block;
+#define JoystickHandeDatalink(_roll_int8, _pitch_int8, _throttle_int8) { \
+ if (pprz_mode == PPRZ_MODE_AUTO2 && nav_block == joystick_block) { \
+ h_ctl_roll_setpoint = _roll_int8 * (AUTO1_MAX_ROLL / 0x7f); \
+ h_ctl_pitch_setpoint = _pitch_int8 * (AUTO1_MAX_PITCH / 0x7f); \
+ v_ctl_throttle_setpoint = (MAX_PPRZ/0x7f) * _throttle_int8; \
+ } \
+ }
+#endif
+
+
#define MOfCm(_x) (((float)(_x))/100.)
#define SenderIdOfMsg(x) (x[0])
@@ -184,8 +195,8 @@ void dl_parse_msg(void) {
#if USE_JOYSTICK
if (msg_id == DL_JOYSTICK_RAW && DL_JOYSTICK_RAW_ac_id(dl_buffer) == AC_ID) {
JoystickHandeDatalink(DL_JOYSTICK_RAW_roll(dl_buffer),
- DL_JOYSTICK_RAW_pitch(dl_buffer),
- DL_JOYSTICK_RAW_throttle(dl_buffer));
+ DL_JOYSTICK_RAW_pitch(dl_buffer),
+ DL_JOYSTICK_RAW_throttle(dl_buffer));
} else
#endif // USE_JOYSTICK
#if defined RADIO_CONTROL && defined RADIO_CONTROL_TYPE_DATALINK
diff --git a/sw/airborne/firmwares/fixedwing/joystick.h b/sw/airborne/firmwares/fixedwing/joystick.h
new file mode 100644
index 0000000000..9a5f32bd60
--- /dev/null
+++ b/sw/airborne/firmwares/fixedwing/joystick.h
@@ -0,0 +1,6 @@
+#ifndef JOYSTICK_H
+#define JOYSTICK_H
+
+extern uint8_t joystick_block;
+
+#endif
diff --git a/sw/airborne/joystick.c b/sw/airborne/joystick.c
deleted file mode 100644
index c7e951c7a9..0000000000
--- a/sw/airborne/joystick.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "joystick.h"
-
-uint8_t joystick_block;
diff --git a/sw/airborne/joystick.h b/sw/airborne/joystick.h
deleted file mode 100644
index acbe1c14ad..0000000000
--- a/sw/airborne/joystick.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef JOYSTICK_H
-#define JOYSTICK_H
-
-#include "std.h"
-#include "firmwares/fixedwing/stabilization/stabilization_attitude.h"
-#include "autopilot.h"
-
-extern uint8_t joystick_block;
-
-#define JoystickHandeDatalink(_roll_int8, _pitch_int8, _throttle_int8) { \
- if (pprz_mode == PPRZ_MODE_AUTO2 && nav_block == joystick_block) { \
- h_ctl_roll_setpoint = _roll_int8 * (AUTO1_MAX_ROLL / 0x7f); \
- h_ctl_pitch_setpoint = _pitch_int8 * (AUTO1_MAX_PITCH / 0x7f); \
- v_ctl_throttle_setpoint = (MAX_PPRZ/0x7f) * _throttle_int8; \
- } \
-}
-
-
-
-#endif /* JOYSTICK_H */