diff --git a/conf/firmwares/rotorcraft.makefile b/conf/firmwares/rotorcraft.makefile index bfdbf7d4d8..09d2914fe1 100644 --- a/conf/firmwares/rotorcraft.makefile +++ b/conf/firmwares/rotorcraft.makefile @@ -98,17 +98,6 @@ $(TARGET).srcs += state.c include $(CFG_SHARED)/baro_board.makefile -$(TARGET).srcs += $(SRC_FIRMWARE)/stabilization.c -$(TARGET).srcs += $(SRC_FIRMWARE)/stabilization/stabilization_none.c - -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_h.c -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_h_ref.c -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_v.c -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_v_ref.c -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_v_adapt.c -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_flip.c - -include $(CFG_ROTORCRAFT)/navigation.makefile else $(TARGET).CFLAGS += -DFBW=1 endif diff --git a/conf/firmwares/subsystems/rotorcraft/guidance_hybrid.makefile b/conf/firmwares/subsystems/rotorcraft/guidance_hybrid.makefile deleted file mode 100644 index 6aeb1c4b27..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/guidance_hybrid.makefile +++ /dev/null @@ -1,2 +0,0 @@ -$(TARGET).CFLAGS += -DHYBRID_NAVIGATION=TRUE -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_hybrid.c diff --git a/conf/firmwares/subsystems/rotorcraft/guidance_indi.makefile b/conf/firmwares/subsystems/rotorcraft/guidance_indi.makefile deleted file mode 100644 index c6a9504081..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/guidance_indi.makefile +++ /dev/null @@ -1,2 +0,0 @@ -$(TARGET).CFLAGS += -DGUIDANCE_INDI=TRUE -$(TARGET).srcs += $(SRC_FIRMWARE)/guidance/guidance_indi.c diff --git a/conf/firmwares/subsystems/rotorcraft/navigation.makefile b/conf/firmwares/subsystems/rotorcraft/navigation.makefile deleted file mode 100644 index da81cc8730..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/navigation.makefile +++ /dev/null @@ -1,7 +0,0 @@ -# Hey Emacs, this is a -*- makefile -*- - -$(TARGET).CFLAGS += -DUSE_NAVIGATION -$(TARGET).srcs += $(SRC_FIRMWARE)/navigation.c -#$(TARGET).srcs += subsystems/navigation/common_nav.c -$(TARGET).srcs += subsystems/navigation/waypoints.c -$(TARGET).srcs += subsystems/navigation/common_flight_plan.c diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_euler.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_euler.makefile deleted file mode 100644 index ee591b2a52..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_euler.makefile +++ /dev/null @@ -1,2 +0,0 @@ -$(error The stabilization euler subsystem has been renamed, please replace with in your airframe file.) - diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_float_euler.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_float_euler.makefile deleted file mode 100644 index 5733e554e5..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_float_euler.makefile +++ /dev/null @@ -1,11 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_FLOAT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_euler_float.h\" -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_attitude_ref_euler_float.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_euler_float.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_float_quat.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_float_quat.makefile deleted file mode 100644 index 4934f223ea..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_float_quat.makefile +++ /dev/null @@ -1,12 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_FLOAT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_quat_float.h\" -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_attitude_ref_quat_float.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_float.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_transformations.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_heli_indi.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_heli_indi.makefile deleted file mode 100644 index 573e8e8dfe..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_heli_indi.makefile +++ /dev/null @@ -1,11 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_heli_indi.h\" -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_heli_indi.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_transformations.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) - diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_indi.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_indi.makefile deleted file mode 100644 index e9a1f68c63..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_indi.makefile +++ /dev/null @@ -1,15 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_quat_indi.h\" -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_INDI_FULL=true - -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_indi.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_indi.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_transformations.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) - diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_indi_simple.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_indi_simple.makefile deleted file mode 100644 index 96c6bcd773..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_indi_simple.makefile +++ /dev/null @@ -1,15 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_quat_indi.h\" -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_INDI_SIMPLE=true - -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_indi_simple.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_indi.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_transformations.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) - diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_int_euler.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_int_euler.makefile deleted file mode 100644 index cefbb41959..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_int_euler.makefile +++ /dev/null @@ -1,11 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_euler_int.h\" -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_attitude_ref_euler_int.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_euler_int.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_int_quat.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_int_quat.makefile deleted file mode 100644 index 7b6f5a5ac7..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_int_quat.makefile +++ /dev/null @@ -1,12 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_quat_int.h\" -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_attitude_ref_quat_int.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_int.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_quat_transformations.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c - -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_passthrough.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_passthrough.makefile deleted file mode 100644 index 8eb38047ac..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_passthrough.makefile +++ /dev/null @@ -1,10 +0,0 @@ -STAB_ATT_CFLAGS = -DSTABILIZATION_ATTITUDE_NO_REF -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_INT -STAB_ATT_CFLAGS += -DSTABILIZATION_ATTITUDE_TYPE_H=\"stabilization/stabilization_attitude_passthrough.h\" -STAB_ATT_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_attitude_passthrough.c -STAB_ATT_SRCS += $(SRC_FIRMWARE)/stabilization/stabilization_attitude_rc_setpoint.c -ap.CFLAGS += $(STAB_ATT_CFLAGS) -ap.srcs += $(STAB_ATT_SRCS) - -nps.CFLAGS += $(STAB_ATT_CFLAGS) -nps.srcs += $(STAB_ATT_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_quaternion.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_quaternion.makefile deleted file mode 100644 index 344044bbe6..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_quaternion.makefile +++ /dev/null @@ -1 +0,0 @@ -$(error The stabilization quaternion subsystem has been changed, for normal rotorcrafts please use , for transitioning rotorcrafts (quadshot) use ) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_rate.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_rate.makefile deleted file mode 100644 index 62b0724d11..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_rate.makefile +++ /dev/null @@ -1,8 +0,0 @@ -STAB_RATE_CFLAGS = -DUSE_STABILIZATION_RATE -STAB_RATE_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_rate.c - -ap.CFLAGS += $(STAB_RATE_CFLAGS) -ap.srcs += $(STAB_RATE_SRCS) - -nps.CFLAGS += $(STAB_RATE_CFLAGS) -nps.srcs += $(STAB_RATE_SRCS) diff --git a/conf/firmwares/subsystems/rotorcraft/stabilization_rate_indi.makefile b/conf/firmwares/subsystems/rotorcraft/stabilization_rate_indi.makefile deleted file mode 100644 index b9e3b2fff6..0000000000 --- a/conf/firmwares/subsystems/rotorcraft/stabilization_rate_indi.makefile +++ /dev/null @@ -1,10 +0,0 @@ -STAB_RATE_CFLAGS = -DUSE_STABILIZATION_RATE -STAB_RATE_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_indi.c -STAB_RATE_SRCS = $(SRC_FIRMWARE)/stabilization/stabilization_rate_indi.c -STAB_RATE_CFLAGS += -DSTABILIZATION_RATE_INDI=true - -ap.CFLAGS += $(STAB_RATE_CFLAGS) -ap.srcs += $(STAB_RATE_SRCS) - -nps.CFLAGS += $(STAB_RATE_CFLAGS) -nps.srcs += $(STAB_RATE_SRCS) diff --git a/conf/modules/guidance_hybrid.xml b/conf/modules/guidance_hybrid.xml new file mode 100644 index 0000000000..69d5650788 --- /dev/null +++ b/conf/modules/guidance_hybrid.xml @@ -0,0 +1,29 @@ + + + + + + Guidance controller for hybrid vehicles + + + + + + + + + + + + + + +
+ +
+ + + + + +
diff --git a/conf/modules/guidance_indi.xml b/conf/modules/guidance_indi.xml new file mode 100644 index 0000000000..0c9f8dcfae --- /dev/null +++ b/conf/modules/guidance_indi.xml @@ -0,0 +1,17 @@ + + + + + + Guidance controller for rotorcraft using INDI + + +
+ +
+ + + + + +
diff --git a/conf/modules/guidance_rotorcraft.xml b/conf/modules/guidance_rotorcraft.xml new file mode 100644 index 0000000000..9a74073c2b --- /dev/null +++ b/conf/modules/guidance_rotorcraft.xml @@ -0,0 +1,67 @@ + + + + + + Base guidance code for rotorcraft + It provides: + - horizontal guidance with reference + - vertical guidance with reference and adaptive control + - flip mode + +
+ + + + +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + +
diff --git a/conf/modules/nav_basic_rotorcraft.xml b/conf/modules/nav_basic_rotorcraft.xml new file mode 100644 index 0000000000..a67f8fb55a --- /dev/null +++ b/conf/modules/nav_basic_rotorcraft.xml @@ -0,0 +1,31 @@ + + + + + + Standard navigation patterns and flight plan handling for rotorcraft + + + + + + + + + + + + + + +
+ +
+ + + + + + + +
diff --git a/conf/modules/navigation.xml b/conf/modules/navigation.xml index a45d63e413..5dab400b4b 100644 --- a/conf/modules/navigation.xml +++ b/conf/modules/navigation.xml @@ -3,7 +3,7 @@ - Meta module for loading proper navigation module + Meta module for loading proper navigation diff --git a/conf/modules/stabilization_adaptive_fw.xml b/conf/modules/stabilization_adaptive_fw.xml new file mode 100644 index 0000000000..a1060c2714 --- /dev/null +++ b/conf/modules/stabilization_adaptive_fw.xml @@ -0,0 +1,75 @@ + + + + + + Adaptive attitude and lateral (heading) control for fixedwing aircraft. + Mostly based on PID and optional reference generators and feedforward gains. + Adaptive parameters should not be used for normal operation at the moment. + +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
diff --git a/conf/modules/stabilization_attitude_fw.xml b/conf/modules/stabilization_attitude_fw.xml new file mode 100644 index 0000000000..aae769d03a --- /dev/null +++ b/conf/modules/stabilization_attitude_fw.xml @@ -0,0 +1,56 @@ + + + + + + Legacy attitude and lateral (heading) control for fixedwing aircraft + +
+ + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
diff --git a/conf/modules/stabilization_float_euler.xml b/conf/modules/stabilization_float_euler.xml new file mode 100644 index 0000000000..9c0969ba78 --- /dev/null +++ b/conf/modules/stabilization_float_euler.xml @@ -0,0 +1,73 @@ + + + + + + Stabilization controller for rotorcraft using float euler implementation + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + +
diff --git a/conf/modules/stabilization_float_quat.xml b/conf/modules/stabilization_float_quat.xml new file mode 100644 index 0000000000..6dbbcc12b0 --- /dev/null +++ b/conf/modules/stabilization_float_quat.xml @@ -0,0 +1,80 @@ + + + + + + Stabilization controller for rotorcraft using float quaternion implementation + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + +
diff --git a/conf/modules/stabilization_heli_indi.xml b/conf/modules/stabilization_heli_indi.xml new file mode 100644 index 0000000000..e32358e888 --- /dev/null +++ b/conf/modules/stabilization_heli_indi.xml @@ -0,0 +1,61 @@ + + + + + + INDI stabilization controller for helicopters + +
+ + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + + + + + + +
diff --git a/conf/modules/stabilization_indi.xml b/conf/modules/stabilization_indi.xml new file mode 100644 index 0000000000..64a94ed46c --- /dev/null +++ b/conf/modules/stabilization_indi.xml @@ -0,0 +1,63 @@ + + + + + + Full INDI stabilization controller for rotorcraft + +
+ + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + + + + + + + + +
diff --git a/conf/modules/stabilization_indi_simple.xml b/conf/modules/stabilization_indi_simple.xml new file mode 100644 index 0000000000..2155fab405 --- /dev/null +++ b/conf/modules/stabilization_indi_simple.xml @@ -0,0 +1,82 @@ + + + + + + Simple INDI stabilization controller for rotorcraft + +
+ + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + +
diff --git a/conf/modules/stabilization_int_euler.xml b/conf/modules/stabilization_int_euler.xml new file mode 100644 index 0000000000..b84ee8b25c --- /dev/null +++ b/conf/modules/stabilization_int_euler.xml @@ -0,0 +1,70 @@ + + + + + + Stabilization controller for rotorcraft using integer euler implementation + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + +
diff --git a/conf/modules/stabilization_int_quat.xml b/conf/modules/stabilization_int_quat.xml new file mode 100644 index 0000000000..5446beb3ca --- /dev/null +++ b/conf/modules/stabilization_int_quat.xml @@ -0,0 +1,77 @@ + + + + + + Stabilization controller for rotorcraft using integer quaternion implementation + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + +
diff --git a/conf/modules/stabilization_passthrough.xml b/conf/modules/stabilization_passthrough.xml new file mode 100644 index 0000000000..8a9df93993 --- /dev/null +++ b/conf/modules/stabilization_passthrough.xml @@ -0,0 +1,21 @@ + + + + + + Passthrough controller for rotorcraft + + + +
+ +
+ + + + + + + + +
diff --git a/conf/modules/stabilization_rate.xml b/conf/modules/stabilization_rate.xml new file mode 100644 index 0000000000..536535bb61 --- /dev/null +++ b/conf/modules/stabilization_rate.xml @@ -0,0 +1,44 @@ + + + + + + Rate controller for rotorcraft + +
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + + +
diff --git a/conf/modules/stabilization_rate_indi.xml b/conf/modules/stabilization_rate_indi.xml new file mode 100644 index 0000000000..4c3dcfad61 --- /dev/null +++ b/conf/modules/stabilization_rate_indi.xml @@ -0,0 +1,20 @@ + + + + + + Rate INDI controller for rotorcraft + + + +
+ +
+ + + + + + + +
diff --git a/conf/modules/stabilization_rotorcraft.xml b/conf/modules/stabilization_rotorcraft.xml new file mode 100644 index 0000000000..195838c373 --- /dev/null +++ b/conf/modules/stabilization_rotorcraft.xml @@ -0,0 +1,22 @@ + + + + + + Base stabilization code for rotorcraft + Also provide the direct mode 'stabilization_none' + As a durty hack, it also provides navigation and guidance: this should be done in the airframe at some point + + + +
+ + +
+ + + + + + +
diff --git a/sw/airborne/firmwares/rotorcraft/autopilot.c b/sw/airborne/firmwares/rotorcraft/autopilot.c index a026d6f240..711af7567e 100644 --- a/sw/airborne/firmwares/rotorcraft/autopilot.c +++ b/sw/airborne/firmwares/rotorcraft/autopilot.c @@ -30,6 +30,8 @@ #include #include "firmwares/rotorcraft/autopilot.h" +#include "generated/modules.h" + #include "mcu_periph/uart.h" #include "mcu_periph/sys_time.h" #include "subsystems/radio_control.h" @@ -38,16 +40,6 @@ #include "subsystems/electrical.h" #include "subsystems/settings.h" #include "subsystems/datalink/telemetry.h" -#include "firmwares/rotorcraft/navigation.h" -#include "firmwares/rotorcraft/guidance.h" - -#include "firmwares/rotorcraft/stabilization.h" -#include "firmwares/rotorcraft/stabilization/stabilization_none.h" -#include "firmwares/rotorcraft/stabilization/stabilization_attitude.h" - -#if USE_STABILIZATION_RATE -#include "firmwares/rotorcraft/stabilization/stabilization_rate.h" -#endif #include "generated/settings.h" @@ -264,18 +256,6 @@ void autopilot_init(void) gpio_clear(POWER_SWITCH_GPIO); // POWER OFF #endif - // init GNC stack - // TODO this should be done in modules init - nav_init(); - guidance_h_init(); - guidance_v_init(); - stabilization_init(); - stabilization_none_init(); -#if USE_STABILIZATION_RATE - stabilization_rate_init(); -#endif - stabilization_attitude_init(); - // call implementation init // it will set startup mode #if USE_GENERATED_AUTOPILOT diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c index e3742212c0..3ece59b399 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c @@ -197,13 +197,6 @@ void guidance_h_init(void) register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ROTORCRAFT_TUNE_HOVER, send_tune_hover); #endif -#if GUIDANCE_INDI - guidance_indi_enter(); -#endif - -#if HYBRID_NAVIGATION - guidance_hybrid_init(); -#endif }