diff --git a/conf/modules/ahrs_gx3.xml b/conf/modules/ahrs_gx3.xml
index 2edc98a5bc..1e327ed323 100644
--- a/conf/modules/ahrs_gx3.xml
+++ b/conf/modules/ahrs_gx3.xml
@@ -27,7 +27,7 @@
-
+
diff --git a/conf/modules/imu_ardrone2.xml b/conf/modules/imu_ardrone2.xml
index 6b3b35c497..748727917e 100644
--- a/conf/modules/imu_ardrone2.xml
+++ b/conf/modules/imu_ardrone2.xml
@@ -13,7 +13,7 @@
@@ -26,9 +26,9 @@
-
+
-
+
diff --git a/conf/modules/imu_aspirin_common.xml b/conf/modules/imu_aspirin_common.xml
index 2e22fcda05..3541ea7592 100644
--- a/conf/modules/imu_aspirin_common.xml
+++ b/conf/modules/imu_aspirin_common.xml
@@ -1,6 +1,6 @@
-
+
Common functionality of Aspirin IMUs.
@@ -28,7 +28,7 @@
@@ -51,6 +51,6 @@
-
+
diff --git a/conf/modules/imu_aspirin_i2c_common.xml b/conf/modules/imu_aspirin_i2c_common.xml
index cff6f697b5..1436f9cebf 100644
--- a/conf/modules/imu_aspirin_i2c_common.xml
+++ b/conf/modules/imu_aspirin_i2c_common.xml
@@ -1,6 +1,6 @@
-
+
Common functionality of Aspirin IMUs using I2C only.
@@ -26,7 +26,7 @@
@@ -42,6 +42,6 @@
-
+
diff --git a/conf/modules/imu_aspirin_i2c_v1.0.xml b/conf/modules/imu_aspirin_i2c_v1.0.xml
index a2cd6cc634..79ea7f1c26 100644
--- a/conf/modules/imu_aspirin_i2c_v1.0.xml
+++ b/conf/modules/imu_aspirin_i2c_v1.0.xml
@@ -1,6 +1,6 @@
-
+
Aspirin v1.0 IMU using I2C only.
diff --git a/conf/modules/imu_aspirin_i2c_v1.5.xml b/conf/modules/imu_aspirin_i2c_v1.5.xml
index b9cffe7079..a827312f9a 100644
--- a/conf/modules/imu_aspirin_i2c_v1.5.xml
+++ b/conf/modules/imu_aspirin_i2c_v1.5.xml
@@ -1,6 +1,6 @@
-
+
Aspirin v1.5 IMU.
diff --git a/conf/modules/imu_aspirin_v2_common.xml b/conf/modules/imu_aspirin_v2_common.xml
index 02d0c37ebe..763599ec75 100644
--- a/conf/modules/imu_aspirin_v2_common.xml
+++ b/conf/modules/imu_aspirin_v2_common.xml
@@ -1,6 +1,6 @@
-
+
Common functionality of Aspirin v2 IMUs.
@@ -27,7 +27,7 @@
@@ -41,10 +41,10 @@
-
+
-
+
diff --git a/conf/modules/imu_bebop.xml b/conf/modules/imu_bebop.xml
index d10e12d475..b409f7321a 100644
--- a/conf/modules/imu_bebop.xml
+++ b/conf/modules/imu_bebop.xml
@@ -25,7 +25,7 @@
@@ -36,18 +36,18 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_common.xml b/conf/modules/imu_common.xml
index 165aff563b..d73250e262 100644
--- a/conf/modules/imu_common.xml
+++ b/conf/modules/imu_common.xml
@@ -9,21 +9,21 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/conf/modules/imu_disco.xml b/conf/modules/imu_disco.xml
index 54c7a1abce..132b3ca25b 100644
--- a/conf/modules/imu_disco.xml
+++ b/conf/modules/imu_disco.xml
@@ -25,7 +25,7 @@
@@ -33,13 +33,13 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_drotek_10dof_v2.xml b/conf/modules/imu_drotek_10dof_v2.xml
index 0c3e757148..deea39c78e 100644
--- a/conf/modules/imu_drotek_10dof_v2.xml
+++ b/conf/modules/imu_drotek_10dof_v2.xml
@@ -25,7 +25,7 @@
@@ -40,7 +40,7 @@
-
+
diff --git a/conf/modules/imu_gl1.xml b/conf/modules/imu_gl1.xml
index 098d37555f..febe60eb00 100644
--- a/conf/modules/imu_gl1.xml
+++ b/conf/modules/imu_gl1.xml
@@ -26,7 +26,7 @@
@@ -36,11 +36,11 @@
-
+
-
+
diff --git a/conf/modules/imu_krooz_sd.xml b/conf/modules/imu_krooz_sd.xml
index 949fd756f9..4ec8ffe4c7 100644
--- a/conf/modules/imu_krooz_sd.xml
+++ b/conf/modules/imu_krooz_sd.xml
@@ -39,6 +39,6 @@
-
+
diff --git a/conf/modules/imu_krooz_sd_memsic.xml b/conf/modules/imu_krooz_sd_memsic.xml
index 3097ecc9a1..34819d2f4b 100644
--- a/conf/modules/imu_krooz_sd_memsic.xml
+++ b/conf/modules/imu_krooz_sd_memsic.xml
@@ -45,6 +45,6 @@
-
+
diff --git a/conf/modules/imu_mpu6000.xml b/conf/modules/imu_mpu6000.xml
index 6021261c8a..e35ace8d22 100644
--- a/conf/modules/imu_mpu6000.xml
+++ b/conf/modules/imu_mpu6000.xml
@@ -20,7 +20,7 @@
@@ -34,13 +34,13 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_mpu6000_hmc5883.xml b/conf/modules/imu_mpu6000_hmc5883.xml
index a6da7df2bd..c7615fb763 100644
--- a/conf/modules/imu_mpu6000_hmc5883.xml
+++ b/conf/modules/imu_mpu6000_hmc5883.xml
@@ -36,7 +36,7 @@
@@ -56,14 +56,14 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_mpu60x0_i2c.xml b/conf/modules/imu_mpu60x0_i2c.xml
index 08eb5f65a9..5f7feeb1d7 100644
--- a/conf/modules/imu_mpu60x0_i2c.xml
+++ b/conf/modules/imu_mpu60x0_i2c.xml
@@ -19,7 +19,7 @@
@@ -32,10 +32,10 @@
-
+
-
+
diff --git a/conf/modules/imu_mpu9250.xml b/conf/modules/imu_mpu9250.xml
index c732ab9813..d177f7f876 100644
--- a/conf/modules/imu_mpu9250.xml
+++ b/conf/modules/imu_mpu9250.xml
@@ -1,6 +1,6 @@
-
+
Test module for the mpu9250 with I2C
diff --git a/conf/modules/imu_mpu9250_i2c.xml b/conf/modules/imu_mpu9250_i2c.xml
index 30caf8be22..9538ff027b 100644
--- a/conf/modules/imu_mpu9250_i2c.xml
+++ b/conf/modules/imu_mpu9250_i2c.xml
@@ -24,7 +24,7 @@
@@ -37,14 +37,14 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_mpu9250_spi.xml b/conf/modules/imu_mpu9250_spi.xml
index 573d99cb35..fdc4c1685b 100644
--- a/conf/modules/imu_mpu9250_spi.xml
+++ b/conf/modules/imu_mpu9250_spi.xml
@@ -28,7 +28,7 @@
@@ -48,7 +48,7 @@
-
+
diff --git a/conf/modules/imu_navstik.xml b/conf/modules/imu_navstik.xml
index 58a86d4d6f..4eac80f78d 100644
--- a/conf/modules/imu_navstik.xml
+++ b/conf/modules/imu_navstik.xml
@@ -24,7 +24,7 @@
@@ -37,11 +37,11 @@
-
+
-
+
diff --git a/conf/modules/imu_nps.xml b/conf/modules/imu_nps.xml
index 646bf39c1f..d92aeceb2c 100644
--- a/conf/modules/imu_nps.xml
+++ b/conf/modules/imu_nps.xml
@@ -11,13 +11,13 @@
imu,mag
-
-
+
+
diff --git a/conf/modules/imu_openpilot_revo.xml b/conf/modules/imu_openpilot_revo.xml
index e45394b46a..7526298997 100644
--- a/conf/modules/imu_openpilot_revo.xml
+++ b/conf/modules/imu_openpilot_revo.xml
@@ -27,7 +27,7 @@
@@ -57,11 +57,11 @@
-
+
-
+
diff --git a/conf/modules/imu_openpilot_revo_nano.xml b/conf/modules/imu_openpilot_revo_nano.xml
index b65ffcf981..0fbb8fecdb 100644
--- a/conf/modules/imu_openpilot_revo_nano.xml
+++ b/conf/modules/imu_openpilot_revo_nano.xml
@@ -29,7 +29,7 @@
@@ -46,6 +46,6 @@
-
+
diff --git a/conf/modules/imu_pprzuav.xml b/conf/modules/imu_pprzuav.xml
index 6e4702bda6..0c08c82225 100644
--- a/conf/modules/imu_pprzuav.xml
+++ b/conf/modules/imu_pprzuav.xml
@@ -26,7 +26,7 @@
@@ -41,6 +41,6 @@
-
+
diff --git a/conf/modules/imu_px4fmu_v1.7.xml b/conf/modules/imu_px4fmu_v1.7.xml
index 82a8c8faa2..d55ed19947 100644
--- a/conf/modules/imu_px4fmu_v1.7.xml
+++ b/conf/modules/imu_px4fmu_v1.7.xml
@@ -17,7 +17,7 @@
@@ -34,7 +34,7 @@
-
+
diff --git a/conf/modules/imu_px4fmu_v2.4.xml b/conf/modules/imu_px4fmu_v2.4.xml
index f59dca4c5e..f1e7824e16 100644
--- a/conf/modules/imu_px4fmu_v2.4.xml
+++ b/conf/modules/imu_px4fmu_v2.4.xml
@@ -19,7 +19,7 @@
@@ -42,7 +42,7 @@
-
+
diff --git a/conf/modules/imu_swing.xml b/conf/modules/imu_swing.xml
index 61e7fdbef9..43a1390446 100644
--- a/conf/modules/imu_swing.xml
+++ b/conf/modules/imu_swing.xml
@@ -15,19 +15,19 @@
-
+
-
+
-
+
diff --git a/conf/modules/imu_um6.xml b/conf/modules/imu_um6.xml
index 52a10446f3..8ea29cd825 100644
--- a/conf/modules/imu_um6.xml
+++ b/conf/modules/imu_um6.xml
@@ -15,7 +15,7 @@
@@ -29,6 +29,6 @@
-
+
diff --git a/conf/modules/imu_vectornav.xml b/conf/modules/imu_vectornav.xml
index 6494b049e6..7471a1163a 100644
--- a/conf/modules/imu_vectornav.xml
+++ b/conf/modules/imu_vectornav.xml
@@ -1,6 +1,6 @@
-
+
Vectornav VN-200 over uart used as IMU.
@@ -17,7 +17,7 @@
@@ -30,7 +30,7 @@
-
+
diff --git a/conf/modules/ins_nps.xml b/conf/modules/ins_nps.xml
index c445087bec..310e1fdc2c 100644
--- a/conf/modules/ins_nps.xml
+++ b/conf/modules/ins_nps.xml
@@ -16,10 +16,10 @@
-
-
+
+
-
+
diff --git a/conf/simulator/nps/nps_sensors_params_ardrone2.h b/conf/simulator/nps/nps_sensors_params_ardrone2.h
index e9add5df4e..4dc6030b2b 100644
--- a/conf/simulator/nps/nps_sensors_params_ardrone2.h
+++ b/conf/simulator/nps/nps_sensors_params_ardrone2.h
@@ -23,7 +23,7 @@
#define NPS_SENSORS_PARAMS_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#define NPS_BODY_TO_IMU_PHI IMU_BODY_TO_IMU_PHI
diff --git a/conf/simulator/nps/nps_sensors_params_default.h b/conf/simulator/nps/nps_sensors_params_default.h
index 0cc65f756a..eb105a757c 100644
--- a/conf/simulator/nps/nps_sensors_params_default.h
+++ b/conf/simulator/nps/nps_sensors_params_default.h
@@ -23,7 +23,7 @@
#define NPS_SENSORS_PARAMS_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#define NPS_BODY_TO_IMU_PHI IMU_BODY_TO_IMU_PHI
diff --git a/sw/airborne/arch/sim/max1167_hw.c b/sw/airborne/arch/sim/max1167_hw.c
index 31219f983d..f3142b6751 100644
--- a/sw/airborne/arch/sim/max1167_hw.c
+++ b/sw/airborne/arch/sim/max1167_hw.c
@@ -22,7 +22,7 @@
#include "max1167_hw.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
void max1167_hw_init(void) {}
diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c b/sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.c
similarity index 98%
rename from sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c
rename to sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.c
index abaf9f902f..9cd2d1f374 100644
--- a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c
+++ b/sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.c
@@ -1,4 +1,4 @@
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include
#include
diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.h b/sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.h
similarity index 91%
rename from sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.h
rename to sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.h
index 514ee4177b..42722d7e14 100644
--- a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.h
+++ b/sw/airborne/arch/stm32/modules/imu/imu_aspirin_arch.h
@@ -1,7 +1,7 @@
#ifndef IMU_ASPIRIN_ARCH_H
#define IMU_ASPIRIN_ARCH_H
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include
extern void imu_aspirin_arch_int_enable(void);
diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c b/sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.c
similarity index 92%
rename from sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c
rename to sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.c
index ad5c508669..b957c2da79 100644
--- a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c
+++ b/sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.c
@@ -1,11 +1,11 @@
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include
#include
#include
#include
-#include "subsystems/imu/imu_krooz_sd_arch.h"
+#include "modules/imu/imu_krooz_sd_arch.h"
void imu_krooz_sd_arch_init(void)
{
diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.h b/sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.h
similarity index 81%
rename from sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.h
rename to sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.h
index 3917845d68..2fba8bd1dc 100644
--- a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.h
+++ b/sw/airborne/arch/stm32/modules/imu/imu_krooz_sd_arch.h
@@ -1,7 +1,7 @@
#ifndef IMU_KROOZ_SD_ARCH_H
#define IMU_KROOZ_SD_ARCH_H
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
void imu_krooz_sd_arch_init(void);
diff --git a/sw/airborne/boards/apogee/imu_apogee.h b/sw/airborne/boards/apogee/imu_apogee.h
index 72f4f93090..e26500d3d6 100644
--- a/sw/airborne/boards/apogee/imu_apogee.h
+++ b/sw/airborne/boards/apogee/imu_apogee.h
@@ -32,7 +32,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#if APOGEE_USE_MPU9150
#include "peripherals/ak8975.h"
#endif
diff --git a/sw/airborne/boards/ardrone/navdata.c b/sw/airborne/boards/ardrone/navdata.c
index 1472dd8ed1..c56e257c9c 100644
--- a/sw/airborne/boards/ardrone/navdata.c
+++ b/sw/airborne/boards/ardrone/navdata.c
@@ -325,7 +325,7 @@ static void *navdata_read(void *data __attribute__((unused)))
return NULL;
}
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
static void navdata_publish_imu(void)
{
RATES_ASSIGN(imu.gyro_unscaled, navdata.measure.vx, -navdata.measure.vy, -navdata.measure.vz);
diff --git a/sw/airborne/boards/krooz/imu_krooz.c b/sw/airborne/boards/krooz/imu_krooz.c
index 7804e9861c..77104dccca 100644
--- a/sw/airborne/boards/krooz/imu_krooz.c
+++ b/sw/airborne/boards/krooz/imu_krooz.c
@@ -30,7 +30,7 @@
#include
#include "boards/krooz/imu_krooz.h"
-#include "subsystems/imu/imu_krooz_sd_arch.h"
+#include "modules/imu/imu_krooz_sd_arch.h"
#include "mcu_periph/i2c.h"
#include "led.h"
#include "filters/median_filter.h"
diff --git a/sw/airborne/boards/krooz/imu_krooz.h b/sw/airborne/boards/krooz/imu_krooz.h
index 3af518dd2e..33b751a005 100644
--- a/sw/airborne/boards/krooz/imu_krooz.h
+++ b/sw/airborne/boards/krooz/imu_krooz.h
@@ -32,7 +32,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_i2c.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/boards/krooz/imu_krooz_memsic.c b/sw/airborne/boards/krooz/imu_krooz_memsic.c
index d9a1d23c8c..7f2319e6f6 100644
--- a/sw/airborne/boards/krooz/imu_krooz_memsic.c
+++ b/sw/airborne/boards/krooz/imu_krooz_memsic.c
@@ -31,7 +31,7 @@
#include
#include "boards/krooz/imu_krooz_memsic.h"
-#include "subsystems/imu/imu_krooz_sd_arch.h"
+#include "modules/imu/imu_krooz_sd_arch.h"
#include "mcu_periph/i2c.h"
#include "led.h"
#include "filters/median_filter.h"
diff --git a/sw/airborne/boards/krooz/imu_krooz_memsic.h b/sw/airborne/boards/krooz/imu_krooz_memsic.h
index e8ab964fe8..331e5f65dd 100644
--- a/sw/airborne/boards/krooz/imu_krooz_memsic.h
+++ b/sw/airborne/boards/krooz/imu_krooz_memsic.h
@@ -34,7 +34,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_i2c.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/firmwares/demo/demo_ahrs_actuators.c b/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
index b1c4696a84..13660ebb19 100644
--- a/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
+++ b/sw/airborne/firmwares/demo/demo_ahrs_actuators.c
@@ -46,7 +46,7 @@
#include "led.h"
#include "state.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
#include "modules/core/commands.h"
diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi.c
index d59cdd2d86..a34e9f6188 100644
--- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi.c
+++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi.c
@@ -36,7 +36,7 @@
#include "subsystems/ins/ins_int.h"
#include "modules/radio_control/radio_control.h"
#include "state.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "firmwares/rotorcraft/guidance/guidance_h.h"
#include "firmwares/rotorcraft/guidance/guidance_v.h"
#include "firmwares/rotorcraft/stabilization/stabilization_attitude.h"
diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi_hybrid.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi_hybrid.c
index fceb098f14..526769c143 100644
--- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi_hybrid.c
+++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_indi_hybrid.c
@@ -32,7 +32,7 @@
#include "subsystems/ins/ins_int.h"
#include "modules/radio_control/radio_control.h"
#include "state.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "firmwares/rotorcraft/guidance/guidance_h.h"
#include "firmwares/rotorcraft/guidance/guidance_v.h"
#include "firmwares/rotorcraft/stabilization/stabilization_attitude.h"
diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c
index c958229298..eacf8e616c 100644
--- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c
+++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c
@@ -33,7 +33,7 @@
#include "state.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/radio_control/radio_control.h"
#include "firmwares/rotorcraft/autopilot_rc_helpers.h"
diff --git a/sw/airborne/modules/benchmark/imu_quality_assessment.c b/sw/airborne/modules/benchmark/imu_quality_assessment.c
index dd75030b5f..3e0c57150f 100644
--- a/sw/airborne/modules/benchmark/imu_quality_assessment.c
+++ b/sw/airborne/modules/benchmark/imu_quality_assessment.c
@@ -22,7 +22,7 @@
#include "imu_quality_assessment.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "generated/airframe.h"
struct imu_quality_assessment_data_struct imu_quality_assessment_data;
diff --git a/sw/airborne/modules/calibration/mag_calib_ukf.c b/sw/airborne/modules/calibration/mag_calib_ukf.c
index 5d730252cc..87d19b23c9 100644
--- a/sw/airborne/modules/calibration/mag_calib_ukf.c
+++ b/sw/airborne/modules/calibration/mag_calib_ukf.c
@@ -30,7 +30,7 @@
#include "math/pprz_algebra_double.h"
#include "state.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "generated/airframe.h"
#include "subsystems/ahrs/ahrs_magnetic_field_model.h"
diff --git a/sw/airborne/modules/calibration/send_imu_mag_current.c b/sw/airborne/modules/calibration/send_imu_mag_current.c
index 0499a885aa..a514d077d7 100644
--- a/sw/airborne/modules/calibration/send_imu_mag_current.c
+++ b/sw/airborne/modules/calibration/send_imu_mag_current.c
@@ -24,7 +24,7 @@
* Enables sending of IMU_MAG_CURRENT_CALIBRATION message.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/energy/electrical.h"
#include "pprzlink/messages.h"
diff --git a/sw/airborne/modules/gps/gps_datalink.c b/sw/airborne/modules/gps/gps_datalink.c
index f8bead32dc..7ff2656d68 100644
--- a/sw/airborne/modules/gps/gps_datalink.c
+++ b/sw/airborne/modules/gps/gps_datalink.c
@@ -32,7 +32,7 @@
#include "modules/gps/gps.h"
#include "modules/core/abi.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/datalink/datalink.h"
#include "subsystems/datalink/downlink.h"
diff --git a/sw/airborne/modules/gumstix_interface/qr_code_spi_link.c b/sw/airborne/modules/gumstix_interface/qr_code_spi_link.c
index 221824bde9..95f0d7e125 100644
--- a/sw/airborne/modules/gumstix_interface/qr_code_spi_link.c
+++ b/sw/airborne/modules/gumstix_interface/qr_code_spi_link.c
@@ -22,7 +22,7 @@
#include "qr_code_spi_link.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/spi.h"
#include "mcu_periph/uart.h"
diff --git a/sw/airborne/modules/hott/hott_eam.h b/sw/airborne/modules/hott/hott_eam.h
index 246d88d8ea..fc24bdeca3 100644
--- a/sw/airborne/modules/hott/hott_eam.h
+++ b/sw/airborne/modules/hott/hott_eam.h
@@ -28,7 +28,7 @@
#define HOTT_EAM_H
#include "modules/energy/electrical.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "autopilot.h"
#include "state.h"
diff --git a/sw/airborne/subsystems/imu.c b/sw/airborne/modules/imu/imu.c
similarity index 99%
rename from sw/airborne/subsystems/imu.c
rename to sw/airborne/modules/imu/imu.c
index 181bb9b922..337b083d08 100644
--- a/sw/airborne/subsystems/imu.c
+++ b/sw/airborne/modules/imu/imu.c
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu.c
+ * @file modules/imu/imu.c
* Inertial Measurement Unit interface.
*/
@@ -28,7 +28,7 @@
#include BOARD_CONFIG
#endif
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "state.h"
#include "modules/core/abi.h"
diff --git a/sw/airborne/subsystems/imu.h b/sw/airborne/modules/imu/imu.h
similarity index 99%
rename from sw/airborne/subsystems/imu.h
rename to sw/airborne/modules/imu/imu.h
index 7813d1826a..026dd9af89 100644
--- a/sw/airborne/subsystems/imu.h
+++ b/sw/airborne/modules/imu/imu.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu.h
+ * @file modules/imu/imu.h
* Inertial Measurement Unit interface.
*/
diff --git a/sw/airborne/subsystems/imu/imu_ardrone2.c b/sw/airborne/modules/imu/imu_ardrone2.c
similarity index 93%
rename from sw/airborne/subsystems/imu/imu_ardrone2.c
rename to sw/airborne/modules/imu/imu_ardrone2.c
index fdf009eb18..0c3683f522 100644
--- a/sw/airborne/subsystems/imu/imu_ardrone2.c
+++ b/sw/airborne/modules/imu/imu_ardrone2.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_ardrone2.c
+ * @file modules/imu/imu_ardrone2.c
* IMU implementation for ardrone2.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "navdata.h"
#include "imu_ardrone2.h"
#include "mcu_periph/uart.h"
diff --git a/sw/airborne/subsystems/imu/imu_ardrone2.h b/sw/airborne/modules/imu/imu_ardrone2.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_ardrone2.h
rename to sw/airborne/modules/imu/imu_ardrone2.h
index 10f87697af..bc46ebf3d0 100644
--- a/sw/airborne/subsystems/imu/imu_ardrone2.h
+++ b/sw/airborne/modules/imu/imu_ardrone2.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_ardrone2.h
+ * @file modules/imu/imu_ardrone2.h
* IMU implementation for ardrone2.
*/
@@ -82,7 +82,7 @@
/*
* we include imh.h after the definitions of the neutrals
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
extern void imu_ardrone2_init(void);
diff --git a/sw/airborne/subsystems/imu/imu_aspirin.c b/sw/airborne/modules/imu/imu_aspirin.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_aspirin.c
rename to sw/airborne/modules/imu/imu_aspirin.c
index 5a36cbefb6..f30a4dc1dc 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin.c
+++ b/sw/airborne/modules/imu/imu_aspirin.c
@@ -21,11 +21,11 @@
*/
/**
- * @file subsystems/imu/imu_aspirin.c
+ * @file modules/imu/imu_aspirin.c
* Driver for the Aspirin v1.x IMU using SPI for the accelerometer.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
#include "mcu_periph/spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_aspirin.h b/sw/airborne/modules/imu/imu_aspirin.h
similarity index 91%
rename from sw/airborne/subsystems/imu/imu_aspirin.h
rename to sw/airborne/modules/imu/imu_aspirin.h
index 38d847e5ce..d05dea0476 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin.h
+++ b/sw/airborne/modules/imu/imu_aspirin.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/imu/imu_aspirin.h
+ * @file modules/imu/imu_aspirin.h
* Interface for the Aspirin v1.x IMU using SPI for the accelerometer.
*/
@@ -30,14 +30,14 @@
#define IMU_ASPIRIN_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/itg3200.h"
#include "peripherals/hmc58xx.h"
#include "peripherals/adxl345_spi.h"
/* include default aspirin sensitivity definitions */
-#include "subsystems/imu/imu_aspirin_defaults.h"
+#include "modules/imu/imu_aspirin_defaults.h"
struct ImuAspirin {
volatile uint8_t accel_valid;
@@ -56,7 +56,7 @@ extern void imu_aspirin_event(void);
#if !ASPIRIN_ARCH_INDEP
/* underlying architecture */
-#include "subsystems/imu/imu_aspirin_arch.h"
+#include "modules/imu/imu_aspirin_arch.h"
/* must be implemented by underlying architecture */
extern void imu_aspirin_arch_init(void);
#endif
diff --git a/sw/airborne/subsystems/imu/imu_aspirin_2_spi.c b/sw/airborne/modules/imu/imu_aspirin_2_spi.c
similarity index 99%
rename from sw/airborne/subsystems/imu/imu_aspirin_2_spi.c
rename to sw/airborne/modules/imu/imu_aspirin_2_spi.c
index 2e92da2b14..73032875dd 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin_2_spi.c
+++ b/sw/airborne/modules/imu/imu_aspirin_2_spi.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_aspirin_2_spi.c
+ * @file modules/imu/imu_aspirin_2_spi.c
* Driver for the Aspirin v2.x IMU using SPI for the MPU6000.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
#include "mcu_periph/spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_aspirin_2_spi.h b/sw/airborne/modules/imu/imu_aspirin_2_spi.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_aspirin_2_spi.h
rename to sw/airborne/modules/imu/imu_aspirin_2_spi.h
index b3b0c0729a..7c4fb21432 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin_2_spi.h
+++ b/sw/airborne/modules/imu/imu_aspirin_2_spi.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_aspirin_2_spi.h
+ * @file modules/imu/imu_aspirin_2_spi.h
* Driver for the Aspirin v2.x IMU using SPI for the MPU6000.
*/
@@ -29,7 +29,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_aspirin_defaults.h b/sw/airborne/modules/imu/imu_aspirin_defaults.h
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_aspirin_defaults.h
rename to sw/airborne/modules/imu/imu_aspirin_defaults.h
index ded959a2ce..bb47a630c4 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin_defaults.h
+++ b/sw/airborne/modules/imu/imu_aspirin_defaults.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_aspirin_defaults.h
+ * @file modules/imu/imu_aspirin_defaults.h
* Default sensitivity definitions for IMU Aspirin 1x.
*/
diff --git a/sw/airborne/subsystems/imu/imu_aspirin_i2c.c b/sw/airborne/modules/imu/imu_aspirin_i2c.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_aspirin_i2c.c
rename to sw/airborne/modules/imu/imu_aspirin_i2c.c
index f8c605d019..1e7d0fa98c 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin_i2c.c
+++ b/sw/airborne/modules/imu/imu_aspirin_i2c.c
@@ -21,11 +21,11 @@
*/
/**
- * @file subsystems/imu/imu_aspirin.c
+ * @file modules/imu/imu_aspirin.c
* Driver for the Aspirin v1.x IMU using I2C for the accelerometer.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_aspirin_i2c.h b/sw/airborne/modules/imu/imu_aspirin_i2c.h
similarity index 92%
rename from sw/airborne/subsystems/imu/imu_aspirin_i2c.h
rename to sw/airborne/modules/imu/imu_aspirin_i2c.h
index 406311bd54..203c524cc9 100644
--- a/sw/airborne/subsystems/imu/imu_aspirin_i2c.h
+++ b/sw/airborne/modules/imu/imu_aspirin_i2c.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/imu/imu_aspirin.h
+ * @file modules/imu/imu_aspirin.h
* Interface for the Aspirin v1.x IMU using I2C for the accelerometer.
*/
@@ -30,14 +30,14 @@
#define IMU_ASPIRIN_I2C_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/itg3200.h"
#include "peripherals/hmc58xx.h"
#include "peripherals/adxl345_i2c.h"
/* include default aspirin sensitivity/channel definitions */
-#include "subsystems/imu/imu_aspirin_defaults.h"
+#include "modules/imu/imu_aspirin_defaults.h"
struct ImuAspirinI2c {
diff --git a/sw/airborne/subsystems/imu/imu_bebop.c b/sw/airborne/modules/imu/imu_bebop.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_bebop.c
rename to sw/airborne/modules/imu/imu_bebop.c
index b76f510797..410e732fe3 100644
--- a/sw/airborne/subsystems/imu/imu_bebop.c
+++ b/sw/airborne/modules/imu/imu_bebop.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_bebop.c
+ * @file modules/imu/imu_bebop.c
* Driver for the Bebop (2) magnetometer, accelerometer and gyroscope
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_bebop.h b/sw/airborne/modules/imu/imu_bebop.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_bebop.h
rename to sw/airborne/modules/imu/imu_bebop.h
index 669041437c..2a97146839 100644
--- a/sw/airborne/subsystems/imu/imu_bebop.h
+++ b/sw/airborne/modules/imu/imu_bebop.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_bebop.h
+ * @file modules/imu/imu_bebop.h
* Interface for the Bebop magnetometer, accelerometer and gyroscope
*/
@@ -29,7 +29,7 @@
#define IMU_BEBOP_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/ak8963.h"
#include "peripherals/mpu60x0_i2c.h"
diff --git a/sw/airborne/modules/imu/imu_bmi088_i2c.c b/sw/airborne/modules/imu/imu_bmi088_i2c.c
index 0959131aa0..958835a440 100644
--- a/sw/airborne/modules/imu/imu_bmi088_i2c.c
+++ b/sw/airborne/modules/imu/imu_bmi088_i2c.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/imu/imu_bmi088_i2c.c
+ * @file modules/imu/imu_bmi088_i2c.c
*
* IMU driver for the BMI088 using I2C
*
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/i2c.h"
#include "mcu_periph/sys_time.h"
#include "modules/core/abi.h"
diff --git a/sw/airborne/modules/imu/imu_bmi088_i2c.h b/sw/airborne/modules/imu/imu_bmi088_i2c.h
index fadd2269dd..ac0d504245 100644
--- a/sw/airborne/modules/imu/imu_bmi088_i2c.h
+++ b/sw/airborne/modules/imu/imu_bmi088_i2c.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/imu/imu_bmi088_i2c.h
+ * @file modules/imu/imu_bmi088_i2c.h
*
* IMU driver for the BMI088 using I2C
*
@@ -30,7 +30,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/bmi088_i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_disco.c b/sw/airborne/modules/imu/imu_disco.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_disco.c
rename to sw/airborne/modules/imu/imu_disco.c
index b25e775d07..c6529720cd 100644
--- a/sw/airborne/subsystems/imu/imu_disco.c
+++ b/sw/airborne/modules/imu/imu_disco.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_disco.c
+ * @file modules/imu/imu_disco.c
* Driver for the Disco magnetometer, accelerometer and gyroscope
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_disco.h b/sw/airborne/modules/imu/imu_disco.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_disco.h
rename to sw/airborne/modules/imu/imu_disco.h
index a1710072f5..18eaf0a1ad 100644
--- a/sw/airborne/subsystems/imu/imu_disco.h
+++ b/sw/airborne/modules/imu/imu_disco.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_disco.h
+ * @file modules/imu/imu_disco.h
* Interface for the Disco magnetometer, accelerometer and gyroscope
*/
@@ -29,7 +29,7 @@
#define IMU_DISCO_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/ak8963.h"
#include "peripherals/mpu60x0_i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_drotek_10dof_v2.c b/sw/airborne/modules/imu/imu_drotek_10dof_v2.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_drotek_10dof_v2.c
rename to sw/airborne/modules/imu/imu_drotek_10dof_v2.c
index 5197915ad3..d420e07098 100644
--- a/sw/airborne/subsystems/imu/imu_drotek_10dof_v2.c
+++ b/sw/airborne/modules/imu/imu_drotek_10dof_v2.c
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_drotek_10dof_v2.c
+ * @file modules/imu/imu_drotek_10dof_v2.c
*
* Driver for the Drotek 10DOF V2 IMU.
* MPU6050 + HMC5883 + MS5611
@@ -32,7 +32,7 @@
* by defining IMU_DROTEK_2_ORIENTATION_IC_UP.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_drotek_10dof_v2.h b/sw/airborne/modules/imu/imu_drotek_10dof_v2.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_drotek_10dof_v2.h
rename to sw/airborne/modules/imu/imu_drotek_10dof_v2.h
index b5b0e4dac1..418f4a39a2 100644
--- a/sw/airborne/subsystems/imu/imu_drotek_10dof_v2.h
+++ b/sw/airborne/modules/imu/imu_drotek_10dof_v2.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_drotek_10dof_v2.h
+ * @file modules/imu/imu_drotek_10dof_v2.h
*
* Driver for the Drotek 10DOF V2 IMU.
* MPU6050 + HMC5883 + MS5611
@@ -31,7 +31,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_i2c.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/subsystems/imu/imu_gl1.c b/sw/airborne/modules/imu/imu_gl1.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_gl1.c
rename to sw/airborne/modules/imu/imu_gl1.c
index 2df41b7a5f..af85723bb5 100644
--- a/sw/airborne/subsystems/imu/imu_gl1.c
+++ b/sw/airborne/modules/imu/imu_gl1.c
@@ -22,11 +22,11 @@
*/
/**
- * @file subsystems/imu/imu_gl1.c
+ * @file modules/imu/imu_gl1.c
* Driver for I2C IMU using L3G4200, ADXL345, HMC5883 and BMP085.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_gl1.h b/sw/airborne/modules/imu/imu_gl1.h
similarity index 93%
rename from sw/airborne/subsystems/imu/imu_gl1.h
rename to sw/airborne/modules/imu/imu_gl1.h
index 560fc91d66..7cb2d25b72 100644
--- a/sw/airborne/subsystems/imu/imu_gl1.h
+++ b/sw/airborne/modules/imu/imu_gl1.h
@@ -22,7 +22,7 @@
*/
/**
- * @file subsystems/imu/imu_gl1.h
+ * @file modules/imu/imu_gl1.h
* Interface for I2c IMU using using L3G4200, ADXL345, HMC5883 and BMP085.
*/
@@ -31,10 +31,10 @@
#define IMU_GL1_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
/* include default GL1 sensitivity/channel definitions */
-#include "subsystems/imu/imu_gl1_defaults.h"
+#include "modules/imu/imu_gl1_defaults.h"
#include "peripherals/l3g4200.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/subsystems/imu/imu_gl1_defaults.h b/sw/airborne/modules/imu/imu_gl1_defaults.h
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_gl1_defaults.h
rename to sw/airborne/modules/imu/imu_gl1_defaults.h
index 153397338d..df93cc8ec9 100644
--- a/sw/airborne/subsystems/imu/imu_gl1_defaults.h
+++ b/sw/airborne/modules/imu/imu_gl1_defaults.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_gl1_defaults.h
+ * @file modules/imu/imu_gl1_defaults.h
* Default sensitivity definitions for IMU GL1.
*/
diff --git a/sw/airborne/subsystems/imu/imu_mpu6000.c b/sw/airborne/modules/imu/imu_mpu6000.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_mpu6000.c
rename to sw/airborne/modules/imu/imu_mpu6000.c
index c4350ad9d0..dcf2e1b332 100644
--- a/sw/airborne/subsystems/imu/imu_mpu6000.c
+++ b/sw/airborne/modules/imu/imu_mpu6000.c
@@ -21,11 +21,11 @@
*/
/**
- * @file subsystems/imu/imu_mpu6000.c
+ * @file modules/imu/imu_mpu6000.c
* Driver for IMU with only MPU6000 via SPI.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/spi.h"
#if IMU_MPU_USE_MEDIAN_FILTER
diff --git a/sw/airborne/subsystems/imu/imu_mpu6000.h b/sw/airborne/modules/imu/imu_mpu6000.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu6000.h
rename to sw/airborne/modules/imu/imu_mpu6000.h
index 07caacc935..a753133bdd 100644
--- a/sw/airborne/subsystems/imu/imu_mpu6000.h
+++ b/sw/airborne/modules/imu/imu_mpu6000.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_mpu6000.h
+ * @file modules/imu/imu_mpu6000.h
* Driver for IMU with only MPU6000 via SPI.
*/
@@ -29,7 +29,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.c b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.c
rename to sw/airborne/modules/imu/imu_mpu6000_hmc5883.c
index e1d56e6904..77fbcd5e6f 100644
--- a/sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.c
+++ b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_mpu6000_hmc5883.c
+ * @file modules/imu/imu_mpu6000_hmc5883.c
* Driver for IMU with MPU6000 via SPI and HMC5883 via I2c.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/spi.h"
#include "peripherals/hmc58xx_regs.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.h b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.h
rename to sw/airborne/modules/imu/imu_mpu6000_hmc5883.h
index 51e16e5d55..7a669512ca 100644
--- a/sw/airborne/subsystems/imu/imu_mpu6000_hmc5883.h
+++ b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_mpu6000_hmc5883.h
+ * @file modules/imu/imu_mpu6000_hmc5883.h
* Driver for IMU with MPU6000 via SPI and HMC5883 via I2c.
* E.g. for Aspirin 2.1
*/
@@ -30,7 +30,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_spi.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu60x0_i2c.c b/sw/airborne/modules/imu/imu_mpu60x0_i2c.c
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu60x0_i2c.c
rename to sw/airborne/modules/imu/imu_mpu60x0_i2c.c
index 299dea0d99..3fe377be36 100644
--- a/sw/airborne/subsystems/imu/imu_mpu60x0_i2c.c
+++ b/sw/airborne/modules/imu/imu_mpu60x0_i2c.c
@@ -20,12 +20,12 @@
*/
/**
- * @file subsystems/imu/imu_mpu60x0_i2c.c
+ * @file modules/imu/imu_mpu60x0_i2c.c
* Driver for IMU with only MPU60X0 via I2C.
*/
#include
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
#include "led.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu60x0_i2c.h b/sw/airborne/modules/imu/imu_mpu60x0_i2c.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu60x0_i2c.h
rename to sw/airborne/modules/imu/imu_mpu60x0_i2c.h
index 2cfd311aef..8a8eb213e1 100644
--- a/sw/airborne/subsystems/imu/imu_mpu60x0_i2c.h
+++ b/sw/airborne/modules/imu/imu_mpu60x0_i2c.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_mpu60x0_i2c.h
+ * @file modules/imu/imu_mpu60x0_i2c.h
* Driver for IMU with only MPU60x0 via I2C.
*/
@@ -29,7 +29,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_i2c.h"
diff --git a/sw/airborne/modules/sensors/imu_mpu9250.c b/sw/airborne/modules/imu/imu_mpu9250.c
similarity index 96%
rename from sw/airborne/modules/sensors/imu_mpu9250.c
rename to sw/airborne/modules/imu/imu_mpu9250.c
index 1d72446d4f..fa7297cb56 100644
--- a/sw/airborne/modules/sensors/imu_mpu9250.c
+++ b/sw/airborne/modules/imu/imu_mpu9250.c
@@ -19,13 +19,13 @@
*/
/**
- * @file "modules/sensors/imu_mpu9250.c"
+ * @file "modules/imu/imu_mpu9250.c"
* @author Gautier Hattenberger
*
* Test module for the mpu9250
*/
-#include "modules/sensors/imu_mpu9250.h"
+#include "modules/imu/imu_mpu9250.h"
// Default I2C address
#ifndef IMU_MPU9250_ADDR
diff --git a/sw/airborne/modules/sensors/imu_mpu9250.h b/sw/airborne/modules/imu/imu_mpu9250.h
similarity index 96%
rename from sw/airborne/modules/sensors/imu_mpu9250.h
rename to sw/airborne/modules/imu/imu_mpu9250.h
index a5c272cf75..033b78234a 100644
--- a/sw/airborne/modules/sensors/imu_mpu9250.h
+++ b/sw/airborne/modules/imu/imu_mpu9250.h
@@ -19,7 +19,7 @@
*/
/**
- * @file "modules/sensors/imu_mpu9250.h"
+ * @file "modules/imu/imu_mpu9250.h"
* @author Gautier Hattenberger
*
* Test module for the mpu9250
diff --git a/sw/airborne/subsystems/imu/imu_mpu9250_i2c.c b/sw/airborne/modules/imu/imu_mpu9250_i2c.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_mpu9250_i2c.c
rename to sw/airborne/modules/imu/imu_mpu9250_i2c.c
index 52763321d1..46e3b25fde 100644
--- a/sw/airborne/subsystems/imu/imu_mpu9250_i2c.c
+++ b/sw/airborne/modules/imu/imu_mpu9250_i2c.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/imu/imu_mpu9250_i2c.c
+ * @file modules/imu/imu_mpu9250_i2c.c
*
* IMU driver for the MPU9250 using I2C
*
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/i2c.h"
#include "mcu_periph/sys_time.h"
#include "modules/core/abi.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu9250_i2c.h b/sw/airborne/modules/imu/imu_mpu9250_i2c.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu9250_i2c.h
rename to sw/airborne/modules/imu/imu_mpu9250_i2c.h
index c5cb7940dd..746a0e474b 100644
--- a/sw/airborne/subsystems/imu/imu_mpu9250_i2c.h
+++ b/sw/airborne/modules/imu/imu_mpu9250_i2c.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/imu/imu_mpu9250_i2c.h
+ * @file modules/imu/imu_mpu9250_i2c.h
*
* IMU driver for the MPU9250 using I2C
*
@@ -30,7 +30,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu9250_i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu9250_spi.c b/sw/airborne/modules/imu/imu_mpu9250_spi.c
similarity index 99%
rename from sw/airborne/subsystems/imu/imu_mpu9250_spi.c
rename to sw/airborne/modules/imu/imu_mpu9250_spi.c
index 35a908e275..469dce6a0e 100644
--- a/sw/airborne/subsystems/imu/imu_mpu9250_spi.c
+++ b/sw/airborne/modules/imu/imu_mpu9250_spi.c
@@ -19,13 +19,13 @@
*/
/**
- * @file subsystems/imu/imu_mpu9250_spi.c
+ * @file modules/imu/imu_mpu9250_spi.c
*
* IMU driver for the MPU9250 using SPI
*
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
#include "mcu_periph/spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_mpu9250_spi.h b/sw/airborne/modules/imu/imu_mpu9250_spi.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_mpu9250_spi.h
rename to sw/airborne/modules/imu/imu_mpu9250_spi.h
index 22406bdca5..7527427e15 100644
--- a/sw/airborne/subsystems/imu/imu_mpu9250_spi.h
+++ b/sw/airborne/modules/imu/imu_mpu9250_spi.h
@@ -19,7 +19,7 @@
*/
/**
- * @file subsystems/imu/imu_mpu9250_spi.h
+ * @file modules/imu/imu_mpu9250_spi.h
*
* IMU driver for the MPU9250 using SPI
*
@@ -30,7 +30,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu9250_spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_navstik.c b/sw/airborne/modules/imu/imu_navstik.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_navstik.c
rename to sw/airborne/modules/imu/imu_navstik.c
index b1bd957815..9e2b857b50 100644
--- a/sw/airborne/subsystems/imu/imu_navstik.c
+++ b/sw/airborne/modules/imu/imu_navstik.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_navstik.c
+ * @file modules/imu/imu_navstik.c
* Driver for the Navstik magnetometer, accelerometer and gyroscope
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_navstik.h b/sw/airborne/modules/imu/imu_navstik.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_navstik.h
rename to sw/airborne/modules/imu/imu_navstik.h
index 7de296a281..b466133cde 100644
--- a/sw/airborne/subsystems/imu/imu_navstik.h
+++ b/sw/airborne/modules/imu/imu_navstik.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_navstik.h
+ * @file modules/imu/imu_navstik.h
* Interface for the Navstik magnetometer, accelerometer and gyroscope
*/
@@ -29,7 +29,7 @@
#define IMU_NAVSTIK_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/hmc58xx.h"
#include "peripherals/mpu60x0_i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_nps.c b/sw/airborne/modules/imu/imu_nps.c
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_nps.c
rename to sw/airborne/modules/imu/imu_nps.c
index 4dbb61ad53..28480c22d7 100644
--- a/sw/airborne/subsystems/imu/imu_nps.c
+++ b/sw/airborne/modules/imu/imu_nps.c
@@ -19,10 +19,10 @@
* Boston, MA 02111-1307, USA.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "generated/airframe.h"
-#include "subsystems/imu/imu_nps.h"
+#include "modules/imu/imu_nps.h"
#include "nps_sensors.h"
struct ImuNps imu_nps;
diff --git a/sw/airborne/subsystems/imu/imu_nps.h b/sw/airborne/modules/imu/imu_nps.h
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_nps.h
rename to sw/airborne/modules/imu/imu_nps.h
index f13e375201..8155b7ef37 100644
--- a/sw/airborne/subsystems/imu/imu_nps.h
+++ b/sw/airborne/modules/imu/imu_nps.h
@@ -22,7 +22,7 @@
#ifndef IMU_NPS_H
#define IMU_NPS_H
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "generated/airframe.h"
diff --git a/sw/airborne/subsystems/imu/imu_ppzuav.c b/sw/airborne/modules/imu/imu_ppzuav.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_ppzuav.c
rename to sw/airborne/modules/imu/imu_ppzuav.c
index 57b7d5a4b7..7663e388cf 100644
--- a/sw/airborne/subsystems/imu/imu_ppzuav.c
+++ b/sw/airborne/modules/imu/imu_ppzuav.c
@@ -21,14 +21,14 @@
*/
/**
- * @file subsystems/imu/imu_ppzuav.h
+ * @file modules/imu/imu_ppzuav.h
*
* Driver for the PPZUAV IMU.
*
* 9DoM IMU with ITG-3200, ADXL345 and HMC5843, all via I2C.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_ppzuav.h b/sw/airborne/modules/imu/imu_ppzuav.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_ppzuav.h
rename to sw/airborne/modules/imu/imu_ppzuav.h
index e83878d291..7abeabab95 100644
--- a/sw/airborne/subsystems/imu/imu_ppzuav.h
+++ b/sw/airborne/modules/imu/imu_ppzuav.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/imu/imu_ppzuav.h
+ * @file modules/imu/imu_ppzuav.h
*
* Interface and defaults for the PPZUAV IMU.
*
@@ -33,7 +33,7 @@
#define IMU_PPZUAV_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/itg3200.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/subsystems/imu/imu_px4_defaults.h b/sw/airborne/modules/imu/imu_px4_defaults.h
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_px4_defaults.h
rename to sw/airborne/modules/imu/imu_px4_defaults.h
index 7750693a01..11bc0702b1 100644
--- a/sw/airborne/subsystems/imu/imu_px4_defaults.h
+++ b/sw/airborne/modules/imu/imu_px4_defaults.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_px4_defaults.h
+ * @file modules/imu/imu_px4_defaults.h
* Default sensitivity definitions for the Pixhawk IMU using the l3d20 gyro and lsm303dlc acc.
*/
diff --git a/sw/airborne/subsystems/imu/imu_px4fmu.c b/sw/airborne/modules/imu/imu_px4fmu.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_px4fmu.c
rename to sw/airborne/modules/imu/imu_px4fmu.c
index 09846c10fd..a0d9554cc3 100644
--- a/sw/airborne/subsystems/imu/imu_px4fmu.c
+++ b/sw/airborne/modules/imu/imu_px4fmu.c
@@ -20,11 +20,11 @@
*/
/**
- * @file subsystems/imu/imu_px4fmu.c
+ * @file modules/imu/imu_px4fmu.c
* Driver for the PX4FMU SPI1 for the MPU6000 and I2C2 for the HMC5883.
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/spi.h"
#include "peripherals/hmc58xx_regs.h"
diff --git a/sw/airborne/subsystems/imu/imu_px4fmu.h b/sw/airborne/modules/imu/imu_px4fmu.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_px4fmu.h
rename to sw/airborne/modules/imu/imu_px4fmu.h
index dc4a736001..4993aec414 100644
--- a/sw/airborne/subsystems/imu/imu_px4fmu.h
+++ b/sw/airborne/modules/imu/imu_px4fmu.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_px4fmu.h
+ * @file modules/imu/imu_px4fmu.h
* Driver for the PX4FMU SPI1 for the MPU6000 and I2C2 for the HMC5883.
*/
@@ -29,7 +29,7 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_spi.h"
#include "peripherals/hmc58xx.h"
diff --git a/sw/airborne/subsystems/imu/imu_px4fmu_v2.4.c b/sw/airborne/modules/imu/imu_px4fmu_v2.4.c
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_px4fmu_v2.4.c
rename to sw/airborne/modules/imu/imu_px4fmu_v2.4.c
index 0cc165fe86..7a40b8c678 100644
--- a/sw/airborne/subsystems/imu/imu_px4fmu_v2.4.c
+++ b/sw/airborne/modules/imu/imu_px4fmu_v2.4.c
@@ -21,11 +21,11 @@
/**
- * @file subsystems/imu/imu_px4fmu_v2.4.h
+ * @file modules/imu/imu_px4fmu_v2.4.h
* Driver for pixhawk IMU's.
* L3GD20H + LSM303D (both on spi)
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/spi.h"
#include "peripherals/l3gd20_regs.h"
diff --git a/sw/airborne/subsystems/imu/imu_px4fmu_v2.4.h b/sw/airborne/modules/imu/imu_px4fmu_v2.4.h
similarity index 92%
rename from sw/airborne/subsystems/imu/imu_px4fmu_v2.4.h
rename to sw/airborne/modules/imu/imu_px4fmu_v2.4.h
index d1194c3f78..e091816b8d 100644
--- a/sw/airborne/subsystems/imu/imu_px4fmu_v2.4.h
+++ b/sw/airborne/modules/imu/imu_px4fmu_v2.4.h
@@ -20,7 +20,7 @@
*/
/**
- * @file subsystems/imu/imu_px4fmu_v2.4.h
+ * @file modules/imu/imu_px4fmu_v2.4.h
* Driver for pixhawk IMU's.
* L3GD20H + LSM303D (both on spi)
*/
@@ -30,9 +30,9 @@
#include "std.h"
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
-#include "subsystems/imu/imu_px4_defaults.h"
+#include "modules/imu/imu_px4_defaults.h"
#include "peripherals/l3gd20_spi.h"
#include "peripherals/lsm303d_spi.h"
diff --git a/sw/airborne/subsystems/imu/imu_swing.c b/sw/airborne/modules/imu/imu_swing.c
similarity index 98%
rename from sw/airborne/subsystems/imu/imu_swing.c
rename to sw/airborne/modules/imu/imu_swing.c
index ae5b624813..83b61bc632 100644
--- a/sw/airborne/subsystems/imu/imu_swing.c
+++ b/sw/airborne/modules/imu/imu_swing.c
@@ -21,11 +21,11 @@
*/
/**
- * @file subsystems/imu/imu_swing.c
+ * @file modules/imu/imu_swing.c
* Driver for the Swing accelerometer and gyroscope
*/
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_swing.h b/sw/airborne/modules/imu/imu_swing.h
similarity index 97%
rename from sw/airborne/subsystems/imu/imu_swing.h
rename to sw/airborne/modules/imu/imu_swing.h
index 6e948708f2..7e7bebc42b 100644
--- a/sw/airborne/subsystems/imu/imu_swing.h
+++ b/sw/airborne/modules/imu/imu_swing.h
@@ -21,7 +21,7 @@
*/
/**
- * @file subsystems/imu/imu_swing.h
+ * @file modules/imu/imu_swing.h
* Interface for the Swing accelerometer and gyroscope
*/
@@ -30,7 +30,7 @@
#define IMU_SWING_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "peripherals/mpu60x0_i2c.h"
diff --git a/sw/airborne/subsystems/imu/imu_um6.c b/sw/airborne/modules/imu/imu_um6.c
similarity index 99%
rename from sw/airborne/subsystems/imu/imu_um6.c
rename to sw/airborne/modules/imu/imu_um6.c
index 5495f8f694..cc4d372446 100644
--- a/sw/airborne/subsystems/imu/imu_um6.c
+++ b/sw/airborne/modules/imu/imu_um6.c
@@ -30,8 +30,8 @@
*
* @author Michal Podhradsky
*/
-#include "subsystems/imu/imu_um6.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu_um6.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
diff --git a/sw/airborne/subsystems/imu/imu_um6.h b/sw/airborne/modules/imu/imu_um6.h
similarity index 99%
rename from sw/airborne/subsystems/imu/imu_um6.h
rename to sw/airborne/modules/imu/imu_um6.h
index 7e2ca98f94..62f65a5640 100644
--- a/sw/airborne/subsystems/imu/imu_um6.h
+++ b/sw/airborne/modules/imu/imu_um6.h
@@ -34,7 +34,7 @@
#define IMU_UM6_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/uart.h"
#include "subsystems/ahrs.h"
diff --git a/sw/airborne/modules/imu/imu_vectornav.h b/sw/airborne/modules/imu/imu_vectornav.h
index a2b68c26cf..c27e650651 100644
--- a/sw/airborne/modules/imu/imu_vectornav.h
+++ b/sw/airborne/modules/imu/imu_vectornav.h
@@ -30,7 +30,7 @@
#define IMU_VECTORNAV_H
// Subsystem
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
// Peripheral
#include "peripherals/vn200_serial.h"
diff --git a/sw/airborne/modules/ins/imu_xsens.h b/sw/airborne/modules/ins/imu_xsens.h
index 5fe305a678..da1d5d0568 100644
--- a/sw/airborne/modules/ins/imu_xsens.h
+++ b/sw/airborne/modules/ins/imu_xsens.h
@@ -32,7 +32,7 @@
#include "std.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "xsens.h"
extern void imu_xsens_init(void);
diff --git a/sw/airborne/modules/loggers/direct_memory_logger.c b/sw/airborne/modules/loggers/direct_memory_logger.c
index 15d81efeb2..9968648a2c 100644
--- a/sw/airborne/modules/loggers/direct_memory_logger.c
+++ b/sw/airborne/modules/loggers/direct_memory_logger.c
@@ -27,7 +27,7 @@
#include "direct_memory_logger.h"
#include "mcu_periph/uart.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "stabilization.h"
struct DirectMemoryLogger dml;
diff --git a/sw/airborne/modules/loggers/high_speed_logger_direct_memory.c b/sw/airborne/modules/loggers/high_speed_logger_direct_memory.c
index 7070b51b12..a8fe98617a 100644
--- a/sw/airborne/modules/loggers/high_speed_logger_direct_memory.c
+++ b/sw/airborne/modules/loggers/high_speed_logger_direct_memory.c
@@ -29,7 +29,7 @@
#include
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/spi.h"
#include "mcu_periph/uart.h"
diff --git a/sw/airborne/modules/loggers/high_speed_logger_spi_link.c b/sw/airborne/modules/loggers/high_speed_logger_spi_link.c
index edfae797e8..5fdea8a5db 100644
--- a/sw/airborne/modules/loggers/high_speed_logger_spi_link.c
+++ b/sw/airborne/modules/loggers/high_speed_logger_spi_link.c
@@ -22,7 +22,7 @@
#include "high_speed_logger_spi_link.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/spi.h"
diff --git a/sw/airborne/modules/loggers/logger_uart.c b/sw/airborne/modules/loggers/logger_uart.c
index dd6566adc1..178b4ca925 100644
--- a/sw/airborne/modules/loggers/logger_uart.c
+++ b/sw/airborne/modules/loggers/logger_uart.c
@@ -24,7 +24,7 @@
#include "state.h"
#include "led.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/uart.h"
struct logger_uart_data_struct logger_uart_data;
diff --git a/sw/airborne/modules/meteo/wind_estimator.c b/sw/airborne/modules/meteo/wind_estimator.c
index 35edf65bbc..3db8b573be 100644
--- a/sw/airborne/modules/meteo/wind_estimator.c
+++ b/sw/airborne/modules/meteo/wind_estimator.c
@@ -285,7 +285,7 @@ static inline void wind_estimator_step(void)
#endif
}
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
/*----------------wind_estimator_periodic-------------*/
/* Put Data from State in struct use by the Thread */
/*----------------------------------------------------*/
diff --git a/sw/airborne/modules/sensors/cameras/jevois_mavlink.c b/sw/airborne/modules/sensors/cameras/jevois_mavlink.c
index 43fb046f01..29f41de825 100644
--- a/sw/airborne/modules/sensors/cameras/jevois_mavlink.c
+++ b/sw/airborne/modules/sensors/cameras/jevois_mavlink.c
@@ -37,7 +37,7 @@
#include
#include "mavlink/paparazzi/mavlink.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "autopilot.h"
#include "generated/modules.h"
diff --git a/sw/airborne/modules/sensors/mag_hmc58xx.c b/sw/airborne/modules/sensors/mag_hmc58xx.c
index 09ec640a91..dd219e3fdf 100644
--- a/sw/airborne/modules/sensors/mag_hmc58xx.c
+++ b/sw/airborne/modules/sensors/mag_hmc58xx.c
@@ -51,7 +51,7 @@
#endif
#if MODULE_HMC58XX_UPDATE_AHRS
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#if defined HMC58XX_MAG_TO_IMU_PHI && defined HMC58XX_MAG_TO_IMU_THETA && defined HMC58XX_MAG_TO_IMU_PSI
diff --git a/sw/airborne/modules/sensors/mag_ist8310.c b/sw/airborne/modules/sensors/mag_ist8310.c
index 6569463041..027174cf5d 100644
--- a/sw/airborne/modules/sensors/mag_ist8310.c
+++ b/sw/airborne/modules/sensors/mag_ist8310.c
@@ -50,7 +50,7 @@
#endif
#if MODULE_IST8310_UPDATE_AHRS
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#if defined IST8310_MAG_TO_IMU_PHI && defined IST8310_MAG_TO_IMU_THETA && defined IST8310_MAG_TO_IMU_PSI
diff --git a/sw/airborne/modules/sensors/mag_lis3mdl.c b/sw/airborne/modules/sensors/mag_lis3mdl.c
index 7b89a0fa61..4716be098d 100644
--- a/sw/airborne/modules/sensors/mag_lis3mdl.c
+++ b/sw/airborne/modules/sensors/mag_lis3mdl.c
@@ -50,7 +50,7 @@
#endif
#if MODULE_LIS3MDL_UPDATE_AHRS
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#if defined LIS3MDL_MAG_TO_IMU_PHI && defined LIS3MDL_MAG_TO_IMU_THETA && defined LIS3MDL_MAG_TO_IMU_PSI
diff --git a/sw/airborne/modules/sensors/mag_pitot_uart.c b/sw/airborne/modules/sensors/mag_pitot_uart.c
index 2853081571..7f9e940deb 100644
--- a/sw/airborne/modules/sensors/mag_pitot_uart.c
+++ b/sw/airborne/modules/sensors/mag_pitot_uart.c
@@ -30,7 +30,7 @@
#include "pprzlink/intermcu_msg.h"
#include "mcu_periph/uart.h"
#include "modules/core/abi.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "state.h"
/* Main magneto structure */
diff --git a/sw/airborne/modules/sensors/mag_rm3100.c b/sw/airborne/modules/sensors/mag_rm3100.c
index d0641c59cc..f41ca01ef2 100644
--- a/sw/airborne/modules/sensors/mag_rm3100.c
+++ b/sw/airborne/modules/sensors/mag_rm3100.c
@@ -58,7 +58,7 @@
#endif
#if MODULE_RM3100_UPDATE_AHRS
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#if defined RM3100_MAG_TO_IMU_PHI && defined RM3100_MAG_TO_IMU_THETA && defined RM3100_MAG_TO_IMU_PSI
diff --git a/sw/airborne/modules/vehicle_interface/vi.c b/sw/airborne/modules/vehicle_interface/vi.c
index e64ecf8599..7fa7e5bc3d 100644
--- a/sw/airborne/modules/vehicle_interface/vi.c
+++ b/sw/airborne/modules/vehicle_interface/vi.c
@@ -21,7 +21,7 @@
#include "vehicle_interface/vi.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
#include "modules/gps/gps.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_aligner.c b/sw/airborne/subsystems/ahrs/ahrs_aligner.c
index 68b41aed25..5a2795876e 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_aligner.c
+++ b/sw/airborne/subsystems/ahrs/ahrs_aligner.c
@@ -29,7 +29,7 @@
#include "ahrs_aligner.h"
#include /* for abs() */
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "led.h"
#include "modules/core/abi.h"
#include "mcu_periph/sys_time.h"
diff --git a/sw/airborne/subsystems/ahrs/ahrs_gx3.h b/sw/airborne/subsystems/ahrs/ahrs_gx3.h
index dd7cec5453..470f1d795f 100644
--- a/sw/airborne/subsystems/ahrs/ahrs_gx3.h
+++ b/sw/airborne/subsystems/ahrs/ahrs_gx3.h
@@ -33,7 +33,7 @@
#define AHRS_GX3_H
#include "generated/airframe.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ins.h"
#include "modules/gps/gps.h"
#include "mcu_periph/uart.h"
diff --git a/sw/airborne/subsystems/ins/hf_float.c b/sw/airborne/subsystems/ins/hf_float.c
index f12759c689..bbe441ad58 100644
--- a/sw/airborne/subsystems/ins/hf_float.c
+++ b/sw/airborne/subsystems/ins/hf_float.c
@@ -28,7 +28,7 @@
*/
#include "subsystems/ins/hf_float.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "state.h"
#include "modules/gps/gps.h"
#include
diff --git a/sw/airborne/subsystems/ins/ins_int.c b/sw/airborne/subsystems/ins/ins_int.c
index e602bd6e95..e37f7306c4 100644
--- a/sw/airborne/subsystems/ins/ins_int.c
+++ b/sw/airborne/subsystems/ins/ins_int.c
@@ -30,7 +30,7 @@
#include "modules/core/abi.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/gps/gps.h"
#include "generated/airframe.h"
diff --git a/sw/airborne/test/ahrs/Makefile b/sw/airborne/test/ahrs/Makefile
index 5c5e56bf71..715c4391fd 100644
--- a/sw/airborne/test/ahrs/Makefile
+++ b/sw/airborne/test/ahrs/Makefile
@@ -36,7 +36,7 @@ SRCS= run_ahrs_on_flight_log.c \
../../math/pprz_trig_int.c \
../../subsystems/ahrs.c \
../../subsystems/ahrs/ahrs_aligner.c \
- ../../subsystems/imu.c \
+ ../../modules/imu/imu.c \
../../state.c \
../../math/pprz_orientation_conversion.c \
../../math/pprz_geodetic_double.c \
@@ -125,8 +125,8 @@ endif
RAOS_SRCS = ./ahrs_on_synth.c \
../../state.c \
- ../../subsystems/imu.c \
- ../../subsystems/imu/imu_dummy.c \
+ ../../modules/imu/imu.c \
+ ../../modules/imu/imu_dummy.c \
../../math/pprz_trig_int.c \
../../math/pprz_orientation_conversion.c \
../../math/pprz_geodetic_int.c \
diff --git a/sw/airborne/test/ahrs/ahrs_on_synth.c b/sw/airborne/test/ahrs/ahrs_on_synth.c
index 4d30acb7fb..fa474d6313 100644
--- a/sw/airborne/test/ahrs/ahrs_on_synth.c
+++ b/sw/airborne/test/ahrs/ahrs_on_synth.c
@@ -2,7 +2,7 @@
#include
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
#include "../simulator/nps/nps_random.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 f97b1504a0..1735946547 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_flight_log.c
@@ -15,7 +15,7 @@
#include "subsystems/ahrs.h"
#include "subsystems/ahrs/ahrs_aligner.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#define AHRS_TYPE_FLG 0
#define AHRS_TYPE_FCR 1
diff --git a/sw/airborne/test/ahrs/run_ahrs_on_synth.c b/sw/airborne/test/ahrs/run_ahrs_on_synth.c
index 62573fb9da..0d29debdf0 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_synth.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_synth.c
@@ -2,7 +2,7 @@
#include "test/ahrs/ahrs_on_synth.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
#include "subsystems/ahrs/ahrs_aligner.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 a12185cd9e..1469e3006a 100644
--- a/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c
+++ b/sw/airborne/test/ahrs/run_ahrs_on_synth_ivy.c
@@ -9,7 +9,7 @@
#include "test/ahrs/ahrs_on_synth.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
#include "math/pprz_algebra_float.h"
diff --git a/sw/airborne/test/subsystems/test_ahrs.c b/sw/airborne/test/subsystems/test_ahrs.c
index 2a4d3c3a25..c36c78564e 100644
--- a/sw/airborne/test/subsystems/test_ahrs.c
+++ b/sw/airborne/test/subsystems/test_ahrs.c
@@ -48,7 +48,7 @@
#include "generated/settings.h"
#include "generated/modules.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "subsystems/ahrs.h"
static inline void main_init(void);
diff --git a/sw/airborne/test/subsystems/test_imu.c b/sw/airborne/test/subsystems/test_imu.c
index b2a4970383..972731fd92 100644
--- a/sw/airborne/test/subsystems/test_imu.c
+++ b/sw/airborne/test/subsystems/test_imu.c
@@ -37,7 +37,7 @@
#include "subsystems/datalink/downlink.h"
#include "modules/datalink/pprz_dl.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "generated/modules.h"
diff --git a/sw/airborne/test/test_baro_board_imu.c b/sw/airborne/test/test_baro_board_imu.c
index 8234d10a88..b98dee6c52 100644
--- a/sw/airborne/test/test_baro_board_imu.c
+++ b/sw/airborne/test/test_baro_board_imu.c
@@ -30,7 +30,7 @@
#include "mcu_periph/sys_time.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "test_baro_board_imu.h"
void test_baro_board_imu_init(void)
diff --git a/sw/simulator/nps/nps_autopilot_fixedwing.c b/sw/simulator/nps/nps_autopilot_fixedwing.c
index 0531789ef7..cd50437944 100644
--- a/sw/simulator/nps/nps_autopilot_fixedwing.c
+++ b/sw/simulator/nps/nps_autopilot_fixedwing.c
@@ -42,7 +42,7 @@
#include "nps_fdm.h"
#include "modules/radio_control/radio_control.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/sys_time.h"
#include "state.h"
#include "modules/core/commands.h"
diff --git a/sw/simulator/nps/nps_autopilot_rotorcraft.c b/sw/simulator/nps/nps_autopilot_rotorcraft.c
index b0def137c2..d4a387b398 100644
--- a/sw/simulator/nps/nps_autopilot_rotorcraft.c
+++ b/sw/simulator/nps/nps_autopilot_rotorcraft.c
@@ -28,7 +28,7 @@
#include "nps_fdm.h"
#include "modules/radio_control/radio_control.h"
-#include "subsystems/imu.h"
+#include "modules/imu/imu.h"
#include "mcu_periph/sys_time.h"
#include "state.h"
#include "subsystems/ahrs.h"