diff --git a/conf/modules/ahrs_chimu_spi.xml b/conf/modules/ahrs_chimu_spi.xml
index 5ff851731c..de67e9e3a8 100644
--- a/conf/modules/ahrs_chimu_spi.xml
+++ b/conf/modules/ahrs_chimu_spi.xml
@@ -1,6 +1,6 @@
-
+
CHimu (SPI)
@@ -11,7 +11,7 @@
@@ -23,8 +23,8 @@
-
-
-
+
+
+
diff --git a/conf/modules/ahrs_chimu_uart.xml b/conf/modules/ahrs_chimu_uart.xml
index 1c2046e747..ed536078ee 100644
--- a/conf/modules/ahrs_chimu_uart.xml
+++ b/conf/modules/ahrs_chimu_uart.xml
@@ -1,6 +1,6 @@
-
+
CHimu (UART)
@@ -11,7 +11,7 @@
ahrs,imu
@@ -23,8 +23,8 @@
-
-
-
+
+
+
diff --git a/conf/modules/ahrs_common.xml b/conf/modules/ahrs_common.xml
index 48a20ca729..b1adc2cb4b 100644
--- a/conf/modules/ahrs_common.xml
+++ b/conf/modules/ahrs_common.xml
@@ -9,23 +9,23 @@
-
-
+
+
-
+
-
+
diff --git a/conf/modules/ahrs_float_cmpl_quat.xml b/conf/modules/ahrs_float_cmpl_quat.xml
index c91a680cf2..795c9720c2 100644
--- a/conf/modules/ahrs_float_cmpl_quat.xml
+++ b/conf/modules/ahrs_float_cmpl_quat.xml
@@ -26,11 +26,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -49,27 +49,27 @@
-
-
+
+
-
+
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), fcq float_cmpl_quat))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_fc
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_fc
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_float_cmpl_rmat.xml b/conf/modules/ahrs_float_cmpl_rmat.xml
index f2d5b54340..ca0d0ab04f 100644
--- a/conf/modules/ahrs_float_cmpl_rmat.xml
+++ b/conf/modules/ahrs_float_cmpl_rmat.xml
@@ -22,11 +22,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -45,27 +45,27 @@
-
-
+
+
-
+
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), fcr float_cmpl_rmat))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_fc
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_fc
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_float_dcm.xml b/conf/modules/ahrs_float_dcm.xml
index 58eb6d8500..4b5ad35e60 100644
--- a/conf/modules/ahrs_float_dcm.xml
+++ b/conf/modules/ahrs_float_dcm.xml
@@ -24,8 +24,8 @@
-
-
+
+
@@ -39,26 +39,26 @@
-
-
+
+
-
+
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), dcm float_dcm))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_float_dcm_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_dcm
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_dcm_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_dcm
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_dcm_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_float_invariant.xml b/conf/modules/ahrs_float_invariant.xml
index c1a5ef42e1..ad3ccfa1d6 100644
--- a/conf/modules/ahrs_float_invariant.xml
+++ b/conf/modules/ahrs_float_invariant.xml
@@ -16,7 +16,7 @@
-
+
@@ -35,26 +35,26 @@
-
-
+
+
-
+
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), invariant float_invariant))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_float_invariant_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_float_invariant
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_invariant_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_float_invariant
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_invariant_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_invariant_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_float_mlkf.xml b/conf/modules/ahrs_float_mlkf.xml
index e429823a5b..62b8e311a0 100644
--- a/conf/modules/ahrs_float_mlkf.xml
+++ b/conf/modules/ahrs_float_mlkf.xml
@@ -18,9 +18,9 @@
-
-
-
+
+
+
@@ -33,26 +33,26 @@
-
-
+
+
-
+
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), mlkf float_mlkf))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_float_mlkf_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_mlkf
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_mlkf_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_mlkf
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_mlkf_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_mlkf_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_gx3.xml b/conf/modules/ahrs_gx3.xml
index 1e327ed323..9971d47fd2 100644
--- a/conf/modules/ahrs_gx3.xml
+++ b/conf/modules/ahrs_gx3.xml
@@ -14,7 +14,7 @@
@@ -26,14 +26,14 @@
-
+
-
+
-
+
diff --git a/conf/modules/ahrs_int_cmpl_quat.xml b/conf/modules/ahrs_int_cmpl_quat.xml
index a8c3953f82..e4e0ea1461 100644
--- a/conf/modules/ahrs_int_cmpl_quat.xml
+++ b/conf/modules/ahrs_int_cmpl_quat.xml
@@ -38,11 +38,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -61,16 +61,16 @@
-
-
+
+
-
+
-
+
@@ -78,16 +78,16 @@
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), icq int_cmpl_quat))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_icq
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_icq
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_int_cmpl_quat_wrapper.h\"
endif
diff --git a/conf/modules/ahrs_madgwick.xml b/conf/modules/ahrs_madgwick.xml
index f96b08ca4f..181d03ce2a 100644
--- a/conf/modules/ahrs_madgwick.xml
+++ b/conf/modules/ahrs_madgwick.xml
@@ -22,7 +22,7 @@
ahrs
diff --git a/conf/modules/ahrs_sim.xml b/conf/modules/ahrs_sim.xml
index f9e12bdf59..40d7f32dd4 100644
--- a/conf/modules/ahrs_sim.xml
+++ b/conf/modules/ahrs_sim.xml
@@ -12,15 +12,15 @@
ahrs
-
-
+
+
-
+
diff --git a/conf/modules/ahrs_vectornav.xml b/conf/modules/ahrs_vectornav.xml
index 6412ef5674..ccddd7796c 100644
--- a/conf/modules/ahrs_vectornav.xml
+++ b/conf/modules/ahrs_vectornav.xml
@@ -14,7 +14,7 @@
@@ -26,9 +26,9 @@
-
-
-
+
+
+
@@ -36,21 +36,21 @@
ifdef SECONDARY_AHRS
ifneq (,$(findstring $(SECONDARY_AHRS), vectornav))
# this is the secondary AHRS
-$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"subsystems/ahrs/ahrs_vectornav_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_SECONDARY_TYPE_H=\"modules/ahrs/ahrs_vectornav_wrapper.h\"
$(TARGET).CFLAGS += -DSECONDARY_AHRS=ahrs_vectornav
else
# this is the primary AHRS
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_vectornav_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_vectornav_wrapper.h\"
$(TARGET).CFLAGS += -DPRIMARY_AHRS=ahrs_vectornav
endif
else
# plain old single AHRS usage
-$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_vectornav_wrapper.h\"
+$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_vectornav_wrapper.h\"
endif
-
+
diff --git a/conf/modules/ins_float_invariant.xml b/conf/modules/ins_float_invariant.xml
index f6c37bbddc..eb4fc8bc95 100644
--- a/conf/modules/ins_float_invariant.xml
+++ b/conf/modules/ins_float_invariant.xml
@@ -42,7 +42,7 @@
-
+
@@ -52,9 +52,9 @@
-
+
-
-
+
+
diff --git a/conf/modules/ins_mekf_wind.xml b/conf/modules/ins_mekf_wind.xml
index 0d3d8508c4..dcaf9da7a5 100644
--- a/conf/modules/ins_mekf_wind.xml
+++ b/conf/modules/ins_mekf_wind.xml
@@ -72,7 +72,7 @@
-
+
@@ -92,9 +92,9 @@
-
+
-
-
+
+
diff --git a/conf/modules/ins_sim.xml b/conf/modules/ins_sim.xml
index 1e540521a5..a9291afdf0 100644
--- a/conf/modules/ins_sim.xml
+++ b/conf/modules/ins_sim.xml
@@ -17,17 +17,17 @@
-
-
+
+
-
+
-
+
diff --git a/conf/modules/mag_calib_ukf.xml b/conf/modules/mag_calib_ukf.xml
index 1afdd7596a..dde0292460 100644
--- a/conf/modules/mag_calib_ukf.xml
+++ b/conf/modules/mag_calib_ukf.xml
@@ -9,7 +9,7 @@
For more information see TRICAL project page (https://www.github.com/sfwa/TRICAL).
-
+
diff --git a/sw/airborne/boards/ardrone/navdata.c b/sw/airborne/boards/ardrone/navdata.c
index c56e257c9c..9a7d89e279 100644
--- a/sw/airborne/boards/ardrone/navdata.c
+++ b/sw/airborne/boards/ardrone/navdata.c
@@ -44,7 +44,7 @@
#include "std.h"
#include "navdata.h"
#include "subsystems/ins.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "mcu_periph/gpio.h"
diff --git a/sw/airborne/firmwares/demo/demo_ahrs_actuators.c b/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
index 13660ebb19..44ccc0b7db 100644
--- a/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
+++ b/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
@@ -47,7 +47,7 @@
#include "state.h"
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/commands.h"
#include "subsystems/actuators.h"
diff --git a/sw/airborne/subsystems/ahrs.c b/sw/airborne/modules/ahrs/ahrs.c
similarity index 96%
rename from sw/airborne/subsystems/ahrs.c
rename to sw/airborne/modules/ahrs/ahrs.c
index 3715c9632b..0a0381a134 100644
--- a/sw/airborne/subsystems/ahrs.c
+++ b/sw/airborne/modules/ahrs/ahrs.c
@@ -20,15 +20,15 @@
*/
/**
- * @file subsystems/ahrs.c
+ * @file modules/ahrs/ahrs.c
* Dispatcher to register actual AHRS implementations.
*/
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#if USE_AHRS_ALIGNER
-#include "subsystems/ahrs/ahrs_aligner.h"
+#include "modules/ahrs/ahrs_aligner.h"
#endif
diff --git a/sw/airborne/subsystems/ahrs.h b/sw/airborne/modules/ahrs/ahrs.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs.h
rename to sw/airborne/modules/ahrs/ahrs.h
index c4e50fc5ab..676d9ec027 100644
--- a/sw/airborne/subsystems/ahrs.h
+++ b/sw/airborne/modules/ahrs/ahrs.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs.h
+ * @file modules/ahrs/ahrs.h
* Dispatcher to register actual AHRS implementations.
*/
diff --git a/sw/airborne/subsystems/ahrs/ahrs_aligner.c b/sw/airborne/modules/ahrs/ahrs_aligner.c
similarity index 99%
rename from sw/airborne/subsystems/ahrs/ahrs_aligner.c
rename to sw/airborne/modules/ahrs/ahrs_aligner.c
index 5a2795876e..8739f14ad7 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_aligner.c
+++ b/sw/airborne/modules/ahrs/ahrs_aligner.c
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_aligner.c
+ * @file modules/ahrs/ahrs_aligner.c
*
* Low-pass IMU measurements at startup to align the AHRS.
*
diff --git a/sw/airborne/subsystems/ahrs/ahrs_aligner.h b/sw/airborne/modules/ahrs/ahrs_aligner.h
similarity index 97%
rename from sw/airborne/subsystems/ahrs/ahrs_aligner.h
rename to sw/airborne/modules/ahrs/ahrs_aligner.h
index dabd611a12..77b061893d 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_aligner.h
+++ b/sw/airborne/modules/ahrs/ahrs_aligner.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_aligner.h
+ * @file modules/ahrs/ahrs_aligner.h
*
* Interface to align the AHRS via low-passed measurements at startup.
*
diff --git a/sw/airborne/modules/ins/ahrs_chimu.h b/sw/airborne/modules/ahrs/ahrs_chimu.h
similarity index 94%
rename from sw/airborne/modules/ins/ahrs_chimu.h
rename to sw/airborne/modules/ahrs/ahrs_chimu.h
index 0bc40c4e57..017d62fb42 100644
--- a/sw/airborne/modules/ins/ahrs_chimu.h
+++ b/sw/airborne/modules/ahrs/ahrs_chimu.h
@@ -20,14 +20,14 @@
*/
/**
- * @file modules/ins/ahrs_chimu.h
+ * @file modules/ahrs/ahrs_chimu.h
*/
#ifndef AHRS_CHIMU_H
#define AHRS_CHIMU_H
#include "modules/ins/ins_module.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
struct AhrsChimu {
bool is_enabled;
diff --git a/sw/airborne/modules/ins/ahrs_chimu_spi.c b/sw/airborne/modules/ahrs/ahrs_chimu_spi.c
similarity index 96%
rename from sw/airborne/modules/ins/ahrs_chimu_spi.c
rename to sw/airborne/modules/ahrs/ahrs_chimu_spi.c
index c1a45a3e0d..d25eb32b15 100644
--- a/sw/airborne/modules/ins/ahrs_chimu_spi.c
+++ b/sw/airborne/modules/ahrs/ahrs_chimu_spi.c
@@ -14,7 +14,7 @@
// For centripedal corrections
#include "modules/gps/gps.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "generated/airframe.h"
@@ -24,9 +24,9 @@
#include "subsystems/datalink/downlink.h"
#endif
-#include "ins_module.h"
-#include "imu_chimu.h"
-#include "ahrs_chimu.h"
+#include "modules/ins/ins_module.h"
+#include "modules/ins/imu_chimu.h"
+#include "modules/ahrs/ahrs_chimu.h"
#include "led.h"
diff --git a/sw/airborne/modules/ins/ahrs_chimu_uart.c b/sw/airborne/modules/ahrs/ahrs_chimu_uart.c
similarity index 96%
rename from sw/airborne/modules/ins/ahrs_chimu_uart.c
rename to sw/airborne/modules/ahrs/ahrs_chimu_uart.c
index d49748d91e..516078397e 100644
--- a/sw/airborne/modules/ins/ahrs_chimu_uart.c
+++ b/sw/airborne/modules/ahrs/ahrs_chimu_uart.c
@@ -10,7 +10,7 @@
// For centripedal corrections
#include "modules/gps/gps.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "generated/airframe.h"
@@ -20,8 +20,8 @@
#include "subsystems/datalink/downlink.h"
#endif
-#include "ins_module.h"
-#include "imu_chimu.h"
+#include "modules/ins/ins_module.h"
+#include "modules/ins/imu_chimu.h"
#include "led.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl.c b/sw/airborne/modules/ahrs/ahrs_float_cmpl.c
similarity index 99%
rename from sw/airborne/subsystems/ahrs/ahrs_float_cmpl.c
rename to sw/airborne/modules/ahrs/ahrs_float_cmpl.c
index a7bc991323..1e53484a37 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_cmpl.c
@@ -20,15 +20,15 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_cmpl.c
+ * @file modules/ahrs/ahrs_float_cmpl.c
*
* Complementary filter in float to estimate the attitude, heading and gyro bias.
*
* Propagation can be done in rotation matrix or quaternion representation.
*/
-#include "subsystems/ahrs/ahrs_float_cmpl.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_cmpl.h"
+#include "modules/ahrs/ahrs_float_utils.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_algebra_int.h"
#include "math/pprz_simple_matrix.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl.h b/sw/airborne/modules/ahrs/ahrs_float_cmpl.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_cmpl.h
rename to sw/airborne/modules/ahrs/ahrs_float_cmpl.h
index 29f396d8a0..0699c2bceb 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_cmpl.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_cmpl.h
+ * @file modules/ahrs/ahrs_float_cmpl.h
*
* Complementary filter in float to estimate the attitude, heading and gyro bias.
*
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.c b/sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.c
index cb700f18d9..5c68eb96fd 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_cmpl_wrapper.c
+ * @file modules/ahrs/ahrs_float_cmpl_wrapper.c
*
* Paparazzi specific wrapper to run floating point complementary filter.
*/
-#include "subsystems/ahrs/ahrs_float_cmpl_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_float_cmpl_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.h b/sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.h
similarity index 91%
rename from sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.h
index 0f37b12ef0..b195d9332e 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_cmpl_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_cmpl_wrapper.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_cmpl_wrapper.h
+ * @file modules/ahrs/ahrs_float_cmpl_wrapper.h
*
* Paparazzi specific wrapper to run floating point complementary filter.
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_FLOAT_CMPL_WRAPPER_H
#define AHRS_FLOAT_CMPL_WRAPPER_H
-#include "subsystems/ahrs/ahrs_float_cmpl.h"
+#include "modules/ahrs/ahrs_float_cmpl.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_fc
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_dcm.c b/sw/airborne/modules/ahrs/ahrs_float_dcm.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_dcm.c
rename to sw/airborne/modules/ahrs/ahrs_float_dcm.c
index afa76825e3..8949d4c4ae 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_dcm.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_dcm.c
@@ -13,7 +13,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_dcm.c
+ * @file modules/ahrs/ahrs_float_dcm.c
*
* Attitude estimation for fixedwings based on the DCM.
*
@@ -27,11 +27,11 @@
#include "std.h"
-#include "subsystems/ahrs/ahrs_float_dcm.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_dcm.h"
+#include "modules/ahrs/ahrs_float_utils.h"
#include "autopilot.h" // launch detection
-#include "subsystems/ahrs/ahrs_float_dcm_algebra.h"
+#include "modules/ahrs/ahrs_float_dcm_algebra.h"
#include "math/pprz_algebra_float.h"
#if USE_GPS
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_dcm.h b/sw/airborne/modules/ahrs/ahrs_float_dcm.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_dcm.h
rename to sw/airborne/modules/ahrs/ahrs_float_dcm.h
index 2c431c2130..e082f6ed74 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_dcm.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_dcm.h
@@ -13,7 +13,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_dcm.h
+ * @file modules/ahrs/ahrs_float_dcm.h
*
* Attitude estimation for fixedwings based on the DCM.
*
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_algebra.h b/sw/airborne/modules/ahrs/ahrs_float_dcm_algebra.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_dcm_algebra.h
rename to sw/airborne/modules/ahrs/ahrs_float_dcm_algebra.h
index 739b1a1eec..e9a291bc39 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_algebra.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_dcm_algebra.h
@@ -10,7 +10,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_dcm_algebra.h
+ * @file modules/ahrs/ahrs_float_dcm_algebra.h
*
* Algebra helper functions for DCM.
*
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.c b/sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.c
index b57c4f639b..a376a363a1 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_dcm_wrapper.c
+ * @file modules/ahrs/ahrs_float_dcm_wrapper.c
*
* Paparazzi specific wrapper to run floating point complementary filter.
*/
-#include "subsystems/ahrs/ahrs_float_dcm_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_float_dcm_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.h b/sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.h
similarity index 91%
rename from sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.h
index 7120118ec2..74827b070c 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_dcm_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_dcm_wrapper.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_dcm_wrapper.h
+ * @file modules/ahrs/ahrs_float_dcm_wrapper.h
*
* Paparazzi specific wrapper to run floating point DCM filter.
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_FLOAT_DCM_WRAPPER_H
#define AHRS_FLOAT_DCM_WRAPPER_H
-#include "subsystems/ahrs/ahrs_float_dcm.h"
+#include "modules/ahrs/ahrs_float_dcm.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_dcm
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_invariant.c b/sw/airborne/modules/ahrs/ahrs_float_invariant.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_invariant.c
rename to sw/airborne/modules/ahrs/ahrs_float_invariant.c
index cf4d9893b5..72431265d5 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_invariant.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_invariant.c
@@ -19,16 +19,16 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_invariant.c
+ * @file modules/ahrs/ahrs_float_invariant.c
* @author Jean-Philippe Condomines
*
* AHRS using invariant filter.
*
*/
-#include "subsystems/ahrs/ahrs_float_invariant.h"
+#include "modules/ahrs/ahrs_float_invariant.h"
-#include "subsystems/ahrs/ahrs_int_utils.h"
+#include "modules/ahrs/ahrs_int_utils.h"
#include "generated/airframe.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_invariant.h b/sw/airborne/modules/ahrs/ahrs_float_invariant.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_invariant.h
rename to sw/airborne/modules/ahrs/ahrs_float_invariant.h
index 8c48459913..2301574bbe 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_invariant.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_invariant.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_invariant.h
+ * @file modules/ahrs/ahrs_float_invariant.h
* AHRS using invariant filter.
* For more information, please send an email to "jp.condomines@gmail.com"
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_FLOAT_INVARIANT_H
#define AHRS_FLOAT_INVARIANT_H
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_orientation_conversion.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.c b/sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.c
index c1865e2840..0d86f92553 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.c
@@ -20,13 +20,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_invariant_wrapper.c
+ * @file modules/ahrs/ahrs_float_invariant_wrapper.c
*
* Paparazzi specific wrapper to run INVARIANT ahrs filter.
*/
-#include "subsystems/ahrs/ahrs_float_invariant_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_float_invariant_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
#include "message_pragmas.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.h b/sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.h
similarity index 91%
rename from sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.h
index 9458d4d9e5..64208753d0 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_invariant_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_invariant_wrapper.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_invariant_wrapper.h
+ * @file modules/ahrs/ahrs_float_invariant_wrapper.h
*
* Paparazzi specific wrapper to run INVARIANT ahrs filter.
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_FLOAT_INVARIANT_WRAPPER_H
#define AHRS_FLOAT_INVARIANT_WRAPPER_H
-#include "subsystems/ahrs/ahrs_float_invariant.h"
+#include "modules/ahrs/ahrs_float_invariant.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_float_invariant
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf.c b/sw/airborne/modules/ahrs/ahrs_float_mlkf.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_mlkf.c
rename to sw/airborne/modules/ahrs/ahrs_float_mlkf.c
index f7c6be557b..badb6e16de 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_mlkf.c
@@ -21,15 +21,15 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_mlkf.c
+ * @file modules/ahrs/ahrs_float_mlkf.c
*
* Multiplicative linearized Kalman Filter in quaternion formulation.
*
* Estimate the attitude, heading and gyro bias.
*/
-#include "subsystems/ahrs/ahrs_float_mlkf.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_mlkf.h"
+#include "modules/ahrs/ahrs_float_utils.h"
#include /* for memcpy */
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf.h b/sw/airborne/modules/ahrs/ahrs_float_mlkf.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_mlkf.h
rename to sw/airborne/modules/ahrs/ahrs_float_mlkf.h
index 1c66ff7bee..74d062c9eb 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_mlkf.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_mlkf.h
+ * @file modules/ahrs/ahrs_float_mlkf.h
*
* Multiplicative linearized Kalman Filter in quaternion formulation.
*
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.c b/sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.c
index 427f268e65..104ca070c9 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.c
@@ -20,13 +20,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_mlkf_wrapper.c
+ * @file modules/ahrs/ahrs_float_mlkf_wrapper.c
*
* Paparazzi specific wrapper to run MLKF filter.
*/
-#include "subsystems/ahrs/ahrs_float_mlkf_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_float_mlkf_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.h b/sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.h
similarity index 91%
rename from sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.h
index cb394a23e7..02cade8711 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_mlkf_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_mlkf_wrapper.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_mlkf_wrapper.h
+ * @file modules/ahrs/ahrs_float_mlkf_wrapper.h
*
* Paparazzi specific wrapper to run MLKF filter.
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_FLOAT_MLKF_WRAPPER_H
#define AHRS_FLOAT_MLKF_WRAPPER_H
-#include "subsystems/ahrs/ahrs_float_mlkf.h"
+#include "modules/ahrs/ahrs_float_mlkf.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_mlkf
diff --git a/sw/airborne/subsystems/ahrs/ahrs_float_utils.h b/sw/airborne/modules/ahrs/ahrs_float_utils.h
similarity index 97%
rename from sw/airborne/subsystems/ahrs/ahrs_float_utils.h
rename to sw/airborne/modules/ahrs/ahrs_float_utils.h
index d40e6a40b4..a8fad5356d 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_float_utils.h
+++ b/sw/airborne/modules/ahrs/ahrs_float_utils.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_float_utils.h
+ * @file modules/ahrs/ahrs_float_utils.h
*
* Utility functions for floating point AHRS implementations.
*
@@ -31,7 +31,7 @@
#define AHRS_FLOAT_UTILS_H
#include "math/pprz_algebra_float.h"
-#include "subsystems/ahrs/ahrs_magnetic_field_model.h"
+#include "modules/ahrs/ahrs_magnetic_field_model.h"
#include "std.h" // for ABS
diff --git a/sw/airborne/subsystems/ahrs/ahrs_gx3.c b/sw/airborne/modules/ahrs/ahrs_gx3.c
similarity index 99%
rename from sw/airborne/subsystems/ahrs/ahrs_gx3.c
rename to sw/airborne/modules/ahrs/ahrs_gx3.c
index db299af90d..38771fc2c7 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_gx3.c
+++ b/sw/airborne/modules/ahrs/ahrs_gx3.c
@@ -31,10 +31,10 @@
* @author Michal Podhradsky
*/
-#include "subsystems/ahrs/ahrs_gx3.h"
+#include "modules/ahrs/ahrs_gx3.h"
// for ahrs_register_impl
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#define GX3_CHKSM(_ubx_payload) (uint16_t)((uint16_t)(*((uint8_t*)_ubx_payload+66+1))|(uint16_t)(*((uint8_t*)_ubx_payload+66+0))<<8)
diff --git a/sw/airborne/subsystems/ahrs/ahrs_gx3.h b/sw/airborne/modules/ahrs/ahrs_gx3.h
similarity index 100%
rename from sw/airborne/subsystems/ahrs/ahrs_gx3.h
rename to sw/airborne/modules/ahrs/ahrs_gx3.h
diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.c b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.c
similarity index 99%
rename from sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.c
rename to sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.c
index c7981d8e49..d3ee04ad99 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.c
+++ b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.c
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_int_cmpl_quat.c
+ * @file modules/ahrs/ahrs_int_cmpl_quat.c
*
* Quaternion complementary filter (fixed-point).
*
@@ -30,8 +30,8 @@
#include "generated/airframe.h"
-#include "subsystems/ahrs/ahrs_int_cmpl_quat.h"
-#include "subsystems/ahrs/ahrs_int_utils.h"
+#include "modules/ahrs/ahrs_int_cmpl_quat.h"
+#include "modules/ahrs/ahrs_int_utils.h"
#if USE_GPS
#include "modules/gps/gps.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.h b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.h
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.h
rename to sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.h
index 23a1329868..e146f3a0c7 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat.h
+++ b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_int_cmpl_quat.h
+ * @file modules/ahrs/ahrs_int_cmpl_quat.h
*
* Quaternion complementary filter (fixed-point).
*
@@ -31,7 +31,7 @@
#ifndef AHRS_INT_CMPL_QUAT_H
#define AHRS_INT_CMPL_QUAT_H
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/gps/gps.h"
#include "std.h"
#include "math/pprz_algebra_int.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.c b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.c
similarity index 98%
rename from sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.c
index 549ddd9744..5fa1069ecc 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.c
+ * @file modules/ahrs/ahrs_int_cmpl_quat_wrapper.c
*
* Paparazzi specific wrapper to run floating point complementary filter.
*/
-#include "subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_int_cmpl_quat_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.h
similarity index 91%
rename from sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.h
index ec688b28df..150070acae 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_int_cmpl_quat_wrapper.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_int_cmpl_quat_wrapper.h
+ * @file modules/ahrs/ahrs_int_cmpl_quat_wrapper.h
*
* Paparazzi specific wrapper to run floating point complementary filter.
*/
@@ -27,7 +27,7 @@
#ifndef AHRS_INT_CMPL_QUAT_WRAPPER_H
#define AHRS_INT_CMPL_QUAT_WRAPPER_H
-#include "subsystems/ahrs/ahrs_int_cmpl_quat.h"
+#include "modules/ahrs/ahrs_int_cmpl_quat.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_icq
diff --git a/sw/airborne/subsystems/ahrs/ahrs_int_utils.h b/sw/airborne/modules/ahrs/ahrs_int_utils.h
similarity index 95%
rename from sw/airborne/subsystems/ahrs/ahrs_int_utils.h
rename to sw/airborne/modules/ahrs/ahrs_int_utils.h
index d89664dffe..016d5c31df 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_int_utils.h
+++ b/sw/airborne/modules/ahrs/ahrs_int_utils.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_int_utils.h
+ * @file modules/ahrs/ahrs_int_utils.h
*
* Utility functions for fixed point AHRS implementations.
*
@@ -33,9 +33,9 @@
//#include "../../test/pprz_algebra_print.h"
#include "math/pprz_algebra_int.h"
-#include "subsystems/ahrs/ahrs_magnetic_field_model.h"
+#include "modules/ahrs/ahrs_magnetic_field_model.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_utils.h"
static inline void ahrs_int_get_euler_from_accel_mag(struct Int32Eulers *e, struct Int32Vect3 *accel,
struct Int32Vect3 *mag)
diff --git a/sw/airborne/modules/ahrs/ahrs_madgwick.c b/sw/airborne/modules/ahrs/ahrs_madgwick.c
index 723a3947a1..a3175cdc8b 100644
--- a/sw/airborne/modules/ahrs/ahrs_madgwick.c
+++ b/sw/airborne/modules/ahrs/ahrs_madgwick.c
@@ -29,7 +29,7 @@
#include "modules/ahrs/ahrs_madgwick.h"
#include "generated/airframe.h"
#include "math/pprz_algebra_float.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_utils.h"
#ifndef AHRS_MADGWICK_BETA
#define AHRS_MADGWICK_BETA 0.1f // 2 * proportional gain
diff --git a/sw/airborne/modules/ahrs/ahrs_madgwick.h b/sw/airborne/modules/ahrs/ahrs_madgwick.h
index 20fe150e4e..5c27920899 100644
--- a/sw/airborne/modules/ahrs/ahrs_madgwick.h
+++ b/sw/airborne/modules/ahrs/ahrs_madgwick.h
@@ -29,7 +29,7 @@
#ifndef AHRS_MADGWICK_H
#define AHRS_MADGWICK_H
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_orientation_conversion.h"
diff --git a/sw/airborne/modules/ahrs/ahrs_madgwick_wrapper.c b/sw/airborne/modules/ahrs/ahrs_madgwick_wrapper.c
index 3381bf50ba..67877c8d39 100644
--- a/sw/airborne/modules/ahrs/ahrs_madgwick_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_madgwick_wrapper.c
@@ -25,7 +25,7 @@
*/
#include "modules/ahrs/ahrs_madgwick_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
#include "message_pragmas.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_magnetic_field_model.h b/sw/airborne/modules/ahrs/ahrs_magnetic_field_model.h
similarity index 100%
rename from sw/airborne/subsystems/ahrs/ahrs_magnetic_field_model.h
rename to sw/airborne/modules/ahrs/ahrs_magnetic_field_model.h
diff --git a/sw/airborne/subsystems/ahrs/ahrs_sim.c b/sw/airborne/modules/ahrs/ahrs_sim.c
similarity index 96%
rename from sw/airborne/subsystems/ahrs/ahrs_sim.c
rename to sw/airborne/modules/ahrs/ahrs_sim.c
index 8d3e59a007..72831d18e9 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_sim.c
+++ b/sw/airborne/modules/ahrs/ahrs_sim.c
@@ -20,13 +20,13 @@
*/
/**
- * @file subsystems/ahrs/ahrs_sim.c
+ * @file modules/ahrs/ahrs_sim.c
*
* Dummy plug to set the AHRS from the simple OCaml simulator.
*
*/
-#include "subsystems/ahrs/ahrs_sim.h"
+#include "modules/ahrs/ahrs_sim.h"
#include "math/pprz_algebra_float.h"
#include "generated/airframe.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_sim.h b/sw/airborne/modules/ahrs/ahrs_sim.h
similarity index 94%
rename from sw/airborne/subsystems/ahrs/ahrs_sim.h
rename to sw/airborne/modules/ahrs/ahrs_sim.h
index acf3b0952f..5fc431d856 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_sim.h
+++ b/sw/airborne/modules/ahrs/ahrs_sim.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/ahrs/ahrs_sim.h
+ * @file modules/ahrs/ahrs_sim.h
*
* Interface to set the AHRS from the simple OCaml simulator.
*
@@ -29,7 +29,7 @@
#ifndef AHRS_SIM_H
#define AHRS_SIM_H
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "std.h"
extern float ins_roll_neutral;
diff --git a/sw/airborne/subsystems/ahrs/ahrs_vectornav.c b/sw/airborne/modules/ahrs/ahrs_vectornav.c
similarity index 97%
rename from sw/airborne/subsystems/ahrs/ahrs_vectornav.c
rename to sw/airborne/modules/ahrs/ahrs_vectornav.c
index 662274ca54..417ba7ba65 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_vectornav.c
+++ b/sw/airborne/modules/ahrs/ahrs_vectornav.c
@@ -25,8 +25,8 @@
*
* @author Michal Podhradsky
*/
-#include "subsystems/ahrs/ahrs_vectornav.h"
-#include "subsystems/ahrs/ahrs_vectornav_wrapper.h"
+#include "modules/ahrs/ahrs_vectornav.h"
+#include "modules/ahrs/ahrs_vectornav_wrapper.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_vectornav.h b/sw/airborne/modules/ahrs/ahrs_vectornav.h
similarity index 100%
rename from sw/airborne/subsystems/ahrs/ahrs_vectornav.h
rename to sw/airborne/modules/ahrs/ahrs_vectornav.h
diff --git a/sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.c b/sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.c
similarity index 96%
rename from sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.c
rename to sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.c
index d7dabc556e..e40c6c147e 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.c
+++ b/sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.c
@@ -25,8 +25,8 @@
*
* @author Michal Podhradsky
*/
-#include "subsystems/ahrs/ahrs_vectornav_wrapper.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs_vectornav_wrapper.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.h b/sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.h
similarity index 96%
rename from sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.h
rename to sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.h
index caeb8c3dd7..9a437e691a 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_vectornav_wrapper.h
+++ b/sw/airborne/modules/ahrs/ahrs_vectornav_wrapper.h
@@ -28,7 +28,7 @@
#ifndef AHRS_VECTORNAV_WRAPPER_H
#define AHRS_VECTORNAV_WRAPPER_H
-#include "subsystems/ahrs/ahrs_vectornav.h"
+#include "modules/ahrs/ahrs_vectornav.h"
#ifndef PRIMARY_AHRS
#define PRIMARY_AHRS ahrs_vectornav
diff --git a/sw/airborne/modules/calibration/mag_calib_ukf.c b/sw/airborne/modules/calibration/mag_calib_ukf.c
index 87d19b23c9..059f7eb043 100644
--- a/sw/airborne/modules/calibration/mag_calib_ukf.c
+++ b/sw/airborne/modules/calibration/mag_calib_ukf.c
@@ -33,7 +33,7 @@
#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "generated/airframe.h"
-#include "subsystems/ahrs/ahrs_magnetic_field_model.h"
+#include "modules/ahrs/ahrs_magnetic_field_model.h"
#include "subsystems/datalink/telemetry.h"
#include "TRICAL.h"
diff --git a/sw/airborne/modules/imu/imu_um6.h b/sw/airborne/modules/imu/imu_um6.h
index 62f65a5640..b365237647 100644
--- a/sw/airborne/modules/imu/imu_um6.h
+++ b/sw/airborne/modules/imu/imu_um6.h
@@ -36,7 +36,7 @@
#include "generated/airframe.h"
#include "modules/imu/imu.h"
#include "mcu_periph/uart.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#define IMU_UM6_BUFFER_LENGTH 32
#define IMU_UM6_DATA_OFFSET 5
diff --git a/sw/airborne/modules/ins/ins_mekf_wind_wrapper.c b/sw/airborne/modules/ins/ins_mekf_wind_wrapper.c
index 79021d0ef4..3ba2e21970 100644
--- a/sw/airborne/modules/ins/ins_mekf_wind_wrapper.c
+++ b/sw/airborne/modules/ins/ins_mekf_wind_wrapper.c
@@ -27,9 +27,9 @@
#include "modules/ins/ins_mekf_wind_wrapper.h"
#include "modules/ins/ins_mekf_wind.h"
#include "modules/air_data/air_data.h"
-#include "subsystems/ahrs/ahrs_float_utils.h"
+#include "modules/ahrs/ahrs_float_utils.h"
#if USE_AHRS_ALIGNER
-#include "subsystems/ahrs/ahrs_aligner.h"
+#include "modules/ahrs/ahrs_aligner.h"
#endif
#include "subsystems/ins.h"
#include "modules/core/abi.h"
diff --git a/sw/airborne/modules/vehicle_interface/vi.c b/sw/airborne/modules/vehicle_interface/vi.c
index 7fa7e5bc3d..75fa92a51b 100644
--- a/sw/airborne/modules/vehicle_interface/vi.c
+++ b/sw/airborne/modules/vehicle_interface/vi.c
@@ -22,7 +22,7 @@
#include "vehicle_interface/vi.h"
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "modules/gps/gps.h"
#include "generated/airframe.h"
diff --git a/sw/airborne/subsystems/ins/ins_ekf2.h b/sw/airborne/subsystems/ins/ins_ekf2.h
index 7f8f0c5472..182b980cf9 100644
--- a/sw/airborne/subsystems/ins/ins_ekf2.h
+++ b/sw/airborne/subsystems/ins/ins_ekf2.h
@@ -33,7 +33,7 @@
extern "C" {
#endif
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "subsystems/ins.h"
struct ekf2_parameters_t {
diff --git a/sw/airborne/subsystems/ins/ins_float_invariant.c b/sw/airborne/subsystems/ins/ins_float_invariant.c
index 0b51db339e..fdeb67b732 100644
--- a/sw/airborne/subsystems/ins/ins_float_invariant.c
+++ b/sw/airborne/subsystems/ins/ins_float_invariant.c
@@ -28,7 +28,7 @@
#include "subsystems/ins/ins_float_invariant.h"
-#include "subsystems/ahrs/ahrs_int_utils.h"
+#include "modules/ahrs/ahrs_int_utils.h"
#include "subsystems/ins.h"
#include "modules/gps/gps.h"
diff --git a/sw/airborne/subsystems/ins/ins_float_invariant_wrapper.c b/sw/airborne/subsystems/ins/ins_float_invariant_wrapper.c
index 8fba3154f7..6f2a3a20be 100644
--- a/sw/airborne/subsystems/ins/ins_float_invariant_wrapper.c
+++ b/sw/airborne/subsystems/ins/ins_float_invariant_wrapper.c
@@ -30,7 +30,7 @@
#include "mcu_periph/sys_time.h"
#include "message_pragmas.h"
#if USE_AHRS_ALIGNER
-#include "subsystems/ahrs/ahrs_aligner.h"
+#include "modules/ahrs/ahrs_aligner.h"
#endif
#ifndef INS_FINV_FILTER_ID
diff --git a/sw/airborne/test/ahrs/Makefile b/sw/airborne/test/ahrs/Makefile
index 715c4391fd..d7f37ea9c1 100644
--- a/sw/airborne/test/ahrs/Makefile
+++ b/sw/airborne/test/ahrs/Makefile
@@ -34,8 +34,8 @@ CFLAGS += -DAHRS_MAG_CORRECT_FREQUENCY=50
SRCS= run_ahrs_on_flight_log.c \
../../math/pprz_trig_int.c \
- ../../subsystems/ahrs.c \
- ../../subsystems/ahrs/ahrs_aligner.c \
+ ../../modules/ahrs/ahrs.c \
+ ../../modules/ahrs/ahrs_aligner.c \
../../modules/imu/imu.c \
../../state.c \
../../math/pprz_orientation_conversion.c \
@@ -45,13 +45,13 @@ SRCS= run_ahrs_on_flight_log.c \
all: run_ahrs_fcr_on_flight_log run_ahrs_ice_on_flight_log
-#run_ahrs_flq_on_flight_log: ../../subsystems/ahrs/ahrs_float_lkf_quat.c $(SRCS)
+#run_ahrs_flq_on_flight_log: ../../modules/ahrs/ahrs_float_lkf_quat.c $(SRCS)
# $(CC) -DAHRS_TYPE=AHRS_TYPE_FLQ $(CFLAGS) -o $@ $^ $(LDFLAGS)
-run_ahrs_fcr_on_flight_log: ../../subsystems/ahrs/ahrs_float_cmpl.c $(SRCS)
+run_ahrs_fcr_on_flight_log: ../../modules/ahrs/ahrs_float_cmpl.c $(SRCS)
$(CC) -DAHRS_TYPE=AHRS_TYPE_FCR -DAHRS_PROPAGATE_QUAT $(CFLAGS) -o $@ $^ $(LDFLAGS)
-run_ahrs_ice_on_flight_log: ../../subsystems/ahrs/ahrs_int_cmpl_euler.c $(SRCS)
+run_ahrs_ice_on_flight_log: ../../modules/ahrs/ahrs_int_cmpl_euler.c $(SRCS)
$(CC) -DAHRS_TYPE=AHRS_TYPE_ICE $(CFLAGS) -o $@ $^ $(LDFLAGS)
ifndef AHRS_TYPE
@@ -95,31 +95,31 @@ AHRS_CFLAGS += -DUSE_AHRS_GPS_ACCELERATIONS
endif
-AHRS_SRCS += ../../subsystems/ahrs.c \
- ../../subsystems/ahrs/ahrs_aligner.c \
+AHRS_SRCS += ../../modules/ahrs/ahrs.c \
+ ../../modules/ahrs/ahrs_aligner.c \
ifeq ($(AHRS_TYPE), AHRS_TYPE_ICE)
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_euler.h\"
+AHRS_CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_int_cmpl_euler.h\"
AHRS_CFLAGS += -DFACE_REINJ_1=1024
-AHRS_SRCS += ../../subsystems/ahrs/ahrs_int_cmpl_euler.c
+AHRS_SRCS += ../../modules/ahrs/ahrs_int_cmpl_euler.c
endif
ifeq ($(AHRS_TYPE), AHRS_TYPE_ICQ)
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_int_cmpl_quat.h\"
-AHRS_SRCS += ../../subsystems/ahrs/ahrs_int_cmpl_quat.c
+AHRS_CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_int_cmpl_quat.h\"
+AHRS_SRCS += ../../modules/ahrs/ahrs_int_cmpl_quat.c
endif
ifeq ($(AHRS_TYPE), AHRS_TYPE_FCR)
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_dcm.h\"
-AHRS_SRCS += ../../subsystems/ahrs/ahrs_float_dcm.c
+AHRS_CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_dcm.h\"
+AHRS_SRCS += ../../modules/ahrs/ahrs_float_dcm.c
endif
ifeq ($(AHRS_TYPE), AHRS_TYPE_FCR2)
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl.h\"
+AHRS_CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl.h\"
AHRS_CFLAGS += -DAHRS_PROPAGATE_RMAT
-AHRS_SRCS += ../../subsystems/ahrs/ahrs_float_cmpl.c
+AHRS_SRCS += ../../modules/ahrs/ahrs_float_cmpl.c
endif
ifeq ($(AHRS_TYPE), AHRS_TYPE_FCQ)
-AHRS_CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_float_cmpl.h\"
+AHRS_CFLAGS += -DAHRS_TYPE_H=\"modules/ahrs/ahrs_float_cmpl.h\"
AHRS_CFLAGS += -DAHRS_PROPAGATE_QUAT
-AHRS_SRCS += ../../subsystems/ahrs/ahrs_float_cmpl.c
+AHRS_SRCS += ../../modules/ahrs/ahrs_float_cmpl.c
endif
diff --git a/sw/airborne/test/ahrs/ahrs_on_synth.c b/sw/airborne/test/ahrs/ahrs_on_synth.c
index fa474d6313..a1eed6a8f7 100644
--- a/sw/airborne/test/ahrs/ahrs_on_synth.c
+++ b/sw/airborne/test/ahrs/ahrs_on_synth.c
@@ -3,7 +3,7 @@
#include
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "../simulator/nps/nps_random.h"
#include "../pprz_algebra_print.h"
diff --git a/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c b/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c
index 1735946547..dd6bb5c733 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c
@@ -13,8 +13,8 @@
#include "math/pprz_algebra_int.h"
#include "pprz_algebra_print.h"
-#include "subsystems/ahrs.h"
-#include "subsystems/ahrs/ahrs_aligner.h"
+#include "modules/ahrs/ahrs.h"
+#include "modules/ahrs/ahrs_aligner.h"
#include "modules/imu/imu.h"
#define AHRS_TYPE_FLG 0
@@ -22,13 +22,13 @@
#define AHRS_TYPE_ICE 2
#if defined AHRS_TYPE && AHRS_TYPE == AHRS_TYPE_FLQ
-#include "subsystems/ahrs/ahrs_float_lkf_quat.h"
+#include "modules/ahrs/ahrs_float_lkf_quat.h"
#define OUT_FILE "./out_flq.txt"
#elif defined AHRS_TYPE && AHRS_TYPE == AHRS_TYPE_FCR
-#include "subsystems/ahrs/ahrs_float_cmpl.h"
+#include "modules/ahrs/ahrs_float_cmpl.h"
#define OUT_FILE "./out_fcr.txt"
#elif defined AHRS_TYPE && AHRS_TYPE == AHRS_TYPE_ICE
-#include "subsystems/ahrs/ahrs_int_cmpl_euler.h"
+#include "modules/ahrs/ahrs_int_cmpl_euler.h"
#define OUT_FILE "./out_ice.txt"
#endif
diff --git a/sw/airborne/test/ahrs/run_ahrs_on_synth.c b/sw/airborne/test/ahrs/run_ahrs_on_synth.c
index 0d29debdf0..bc38d244dc 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_synth.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_synth.c
@@ -3,8 +3,8 @@
#include "test/ahrs/ahrs_on_synth.h"
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
-#include "subsystems/ahrs/ahrs_aligner.h"
+#include "modules/ahrs/ahrs.h"
+#include "modules/ahrs/ahrs_aligner.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_algebra_int.h"
diff --git a/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c b/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c
index 1469e3006a..9977da8ecf 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c
@@ -10,7 +10,7 @@
#include "test/ahrs/ahrs_on_synth.h"
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_algebra_int.h"
diff --git a/sw/airborne/test/subsystems/test_ahrs.c b/sw/airborne/test/subsystems/test_ahrs.c
index c36c78564e..4f7c08328a 100644
--- a/sw/airborne/test/subsystems/test_ahrs.c
+++ b/sw/airborne/test/subsystems/test_ahrs.c
@@ -49,7 +49,7 @@
#include "generated/modules.h"
#include "modules/imu/imu.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
static inline void main_init(void);
static inline void main_periodic_task(void);
diff --git a/sw/simulator/nps/nps_autopilot_rotorcraft.c b/sw/simulator/nps/nps_autopilot_rotorcraft.c
index d4a387b398..849990b4ff 100644
--- a/sw/simulator/nps/nps_autopilot_rotorcraft.c
+++ b/sw/simulator/nps/nps_autopilot_rotorcraft.c
@@ -31,7 +31,7 @@
#include "modules/imu/imu.h"
#include "mcu_periph/sys_time.h"
#include "state.h"
-#include "subsystems/ahrs.h"
+#include "modules/ahrs/ahrs.h"
#include "subsystems/ins.h"
#include "math/pprz_algebra.h"