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 */