diff --git a/conf/conf_tests.xml b/conf/conf_tests.xml
index 9abfdc95e5..3a9fbcbde3 100644
--- a/conf/conf_tests.xml
+++ b/conf/conf_tests.xml
@@ -84,7 +84,7 @@
telemetry="telemetry/default_rotorcraft_mavlink.xml"
flight_plan="flight_plans/rotorcraft_basic.xml"
settings="settings/rotorcraft_basic.xml settings/estimation/ahrs_secondary.xml"
- settings_modules="modules/ahrs_float_mlkf.xml modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/geo_mag.xml modules/gps.xml modules/gps_ubx_ucenter.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_basic_rotorcraft.xml modules/stabilization_int_quat.xml"
+ settings_modules="modules/ahrs_float_mlkf.xml modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/geo_mag.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/stabilization_int_quat.xml"
gui_color="blue"
/>
diff --git a/conf/modules/actuators_ardrone2.xml b/conf/modules/actuators_ardrone2.xml
index f82241f8da..6c97bd4950 100644
--- a/conf/modules/actuators_ardrone2.xml
+++ b/conf/modules/actuators_ardrone2.xml
@@ -10,7 +10,6 @@
actuators
actuators
-
diff --git a/conf/modules/actuators_bebop.xml b/conf/modules/actuators_bebop.xml
index 15574234c1..ae53df0c9f 100644
--- a/conf/modules/actuators_bebop.xml
+++ b/conf/modules/actuators_bebop.xml
@@ -11,7 +11,6 @@
i2c,actuators
actuators
-
diff --git a/conf/modules/actuators_disco.xml b/conf/modules/actuators_disco.xml
index abdde8b604..6481e4feec 100644
--- a/conf/modules/actuators_disco.xml
+++ b/conf/modules/actuators_disco.xml
@@ -10,7 +10,6 @@
i2c,actuators
actuators
-
diff --git a/conf/modules/actuators_uavcan.xml b/conf/modules/actuators_uavcan.xml
index 7c6cdf0d6d..bf1cb824bb 100644
--- a/conf/modules/actuators_uavcan.xml
+++ b/conf/modules/actuators_uavcan.xml
@@ -11,7 +11,6 @@
uavcan,actuators
actuators
-
diff --git a/conf/modules/ahrs_chimu_spi.xml b/conf/modules/ahrs_chimu_spi.xml
index de67e9e3a8..73b30cc903 100644
--- a/conf/modules/ahrs_chimu_spi.xml
+++ b/conf/modules/ahrs_chimu_spi.xml
@@ -9,7 +9,6 @@
spi_slave_hs
ahrs,imu
-
diff --git a/conf/modules/ahrs_float_cmpl_quat.xml b/conf/modules/ahrs_float_cmpl_quat.xml
index 795c9720c2..0e07491abf 100644
--- a/conf/modules/ahrs_float_cmpl_quat.xml
+++ b/conf/modules/ahrs_float_cmpl_quat.xml
@@ -39,7 +39,6 @@
ahrs_common,@imu,@gps|@mag
ahrs
-
diff --git a/conf/modules/ahrs_float_cmpl_rmat.xml b/conf/modules/ahrs_float_cmpl_rmat.xml
index ca0d0ab04f..788d11e8c8 100644
--- a/conf/modules/ahrs_float_cmpl_rmat.xml
+++ b/conf/modules/ahrs_float_cmpl_rmat.xml
@@ -35,7 +35,6 @@
ahrs_common,@imu,@gps|@mag
ahrs
-
diff --git a/conf/modules/ahrs_float_dcm.xml b/conf/modules/ahrs_float_dcm.xml
index 07c09cc631..c0a2fee7b0 100644
--- a/conf/modules/ahrs_float_dcm.xml
+++ b/conf/modules/ahrs_float_dcm.xml
@@ -34,7 +34,6 @@
ahrs_common,@imu,@gps
ahrs
-
diff --git a/conf/modules/ahrs_float_mlkf.xml b/conf/modules/ahrs_float_mlkf.xml
index 62b8e311a0..f7661eaa62 100644
--- a/conf/modules/ahrs_float_mlkf.xml
+++ b/conf/modules/ahrs_float_mlkf.xml
@@ -29,7 +29,6 @@
ahrs_common,@imu,@mag
ahrs
-
diff --git a/conf/modules/ahrs_int_cmpl_quat.xml b/conf/modules/ahrs_int_cmpl_quat.xml
index e4e0ea1461..4901c69009 100644
--- a/conf/modules/ahrs_int_cmpl_quat.xml
+++ b/conf/modules/ahrs_int_cmpl_quat.xml
@@ -51,7 +51,6 @@
ahrs_common,@imu,@mag|@gps
ahrs
-
diff --git a/conf/modules/ahrs_vectornav.xml b/conf/modules/ahrs_vectornav.xml
index ccddd7796c..9c2cfd4f25 100644
--- a/conf/modules/ahrs_vectornav.xml
+++ b/conf/modules/ahrs_vectornav.xml
@@ -12,7 +12,6 @@
uart
ahrs,imu
-
diff --git a/conf/modules/board_matek_f405_wing.xml b/conf/modules/board_matek_f405_wing.xml
index 4dc4a3fe0a..5c3dc2874f 100644
--- a/conf/modules/board_matek_f405_wing.xml
+++ b/conf/modules/board_matek_f405_wing.xml
@@ -13,9 +13,8 @@
- spi_master,osd_max7456,baro_bmp280_i2c
+ spi_master,osd_max7456,baro_bmp280_i2c,imu_mpu6000
-
diff --git a/conf/modules/board_matek_f765_car.xml b/conf/modules/board_matek_f765_car.xml
index b11fd511de..7f95034103 100644
--- a/conf/modules/board_matek_f765_car.xml
+++ b/conf/modules/board_matek_f765_car.xml
@@ -14,9 +14,8 @@
- spi_master,baro_bmp280_i2c,current_sensor
+ spi_master,baro_bmp280_i2c,current_sensor,imu_mpu6000
-
diff --git a/conf/modules/board_matek_f765_wing.xml b/conf/modules/board_matek_f765_wing.xml
index d14f3675ed..8325b73de1 100644
--- a/conf/modules/board_matek_f765_wing.xml
+++ b/conf/modules/board_matek_f765_wing.xml
@@ -14,9 +14,8 @@
- spi_master,osd_max7456,baro_bmp280_i2c,current_sensor
+ spi_master,osd_max7456,baro_bmp280_i2c,current_sensor,imu_mpu6000
-
diff --git a/conf/modules/board_tawaki.xml b/conf/modules/board_tawaki.xml
index 1b6f4f43e8..20f3383f93 100644
--- a/conf/modules/board_tawaki.xml
+++ b/conf/modules/board_tawaki.xml
@@ -13,9 +13,8 @@
- baro_bmp3,mag_lis3mdl
+ baro_bmp3,mag_lis3mdl,imu_mpu6000
-
diff --git a/conf/modules/boards/bebop.xml b/conf/modules/boards/bebop.xml
index c4b04413e1..2d88f3e73d 100644
--- a/conf/modules/boards/bebop.xml
+++ b/conf/modules/boards/bebop.xml
@@ -7,7 +7,7 @@
- baro_ms5611_i2c
+ baro_ms5611_i2c,sonar_bebop
diff --git a/conf/modules/boards/bebop2.xml b/conf/modules/boards/bebop2.xml
index d865feed1a..76b4a04cac 100644
--- a/conf/modules/boards/bebop2.xml
+++ b/conf/modules/boards/bebop2.xml
@@ -7,7 +7,7 @@
- baro_ms5611_i2c
+ baro_ms5611_i2c,sonar_bebop
diff --git a/conf/modules/boards/disco.xml b/conf/modules/boards/disco.xml
index 2d404f86d5..86843cef10 100644
--- a/conf/modules/boards/disco.xml
+++ b/conf/modules/boards/disco.xml
@@ -7,7 +7,7 @@
- baro_ms5611_i2c
+ baro_ms5611_i2c,sonar_bebop
diff --git a/conf/modules/firmwares/fixedwing.xml b/conf/modules/firmwares/fixedwing.xml
index f3c7a61441..562b291770 100644
--- a/conf/modules/firmwares/fixedwing.xml
+++ b/conf/modules/firmwares/fixedwing.xml
@@ -9,6 +9,7 @@
system_core,autopilot_gnc_fw,actuators_pwm
+ nav_basic_fw
diff --git a/conf/modules/firmwares/rotorcraft.xml b/conf/modules/firmwares/rotorcraft.xml
index 4f7a79983c..7e3404b7af 100644
--- a/conf/modules/firmwares/rotorcraft.xml
+++ b/conf/modules/firmwares/rotorcraft.xml
@@ -7,7 +7,8 @@
- system_core,autopilot_gnc,guidance_rotorcraft
+ system_core,autopilot_gnc
+ nav_basic_rotorcraft,guidance_pid_rotorcraft
diff --git a/conf/modules/firmwares/rover.xml b/conf/modules/firmwares/rover.xml
index 2a82d06fca..1b612dd14a 100644
--- a/conf/modules/firmwares/rover.xml
+++ b/conf/modules/firmwares/rover.xml
@@ -8,6 +8,7 @@
system_core,autopilot_gnc
+ nav_rover_base
diff --git a/conf/modules/gps_datalink.xml b/conf/modules/gps_datalink.xml
index 9ba12af8f4..8345fee1c8 100644
--- a/conf/modules/gps_datalink.xml
+++ b/conf/modules/gps_datalink.xml
@@ -11,8 +11,6 @@
gps,@datalink
gps
-
-
diff --git a/conf/modules/gps_furuno.xml b/conf/modules/gps_furuno.xml
index a54a1c827d..ece0f76ff4 100644
--- a/conf/modules/gps_furuno.xml
+++ b/conf/modules/gps_furuno.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_intermcu.xml b/conf/modules/gps_intermcu.xml
index 4f8e13e6d2..706c30e80e 100644
--- a/conf/modules/gps_intermcu.xml
+++ b/conf/modules/gps_intermcu.xml
@@ -11,8 +11,6 @@
gps,@datalink
gps
-
-
diff --git a/conf/modules/gps_mediatek_diy.xml b/conf/modules/gps_mediatek_diy.xml
index 8b16b18792..2598d94e72 100644
--- a/conf/modules/gps_mediatek_diy.xml
+++ b/conf/modules/gps_mediatek_diy.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_nmea.xml b/conf/modules/gps_nmea.xml
index f19f56c6b6..b02bdd9449 100644
--- a/conf/modules/gps_nmea.xml
+++ b/conf/modules/gps_nmea.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_optitrack.xml b/conf/modules/gps_optitrack.xml
index 5332321314..e4e62372ff 100644
--- a/conf/modules/gps_optitrack.xml
+++ b/conf/modules/gps_optitrack.xml
@@ -13,8 +13,6 @@
gps_datalink
gps
-
-
diff --git a/conf/modules/gps_piksi.xml b/conf/modules/gps_piksi.xml
index e08660a2a0..c7b2f9ec8b 100644
--- a/conf/modules/gps_piksi.xml
+++ b/conf/modules/gps_piksi.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_sim_hitl.xml b/conf/modules/gps_sim_hitl.xml
index e7fbce95ae..1db6e11fbb 100644
--- a/conf/modules/gps_sim_hitl.xml
+++ b/conf/modules/gps_sim_hitl.xml
@@ -11,7 +11,6 @@
gps
gps
-
diff --git a/conf/modules/gps_sirf.xml b/conf/modules/gps_sirf.xml
index 76f48e944f..99e5f415a8 100644
--- a/conf/modules/gps_sirf.xml
+++ b/conf/modules/gps_sirf.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_skytraq.xml b/conf/modules/gps_skytraq.xml
index 276b14006c..120fe8aa9a 100644
--- a/conf/modules/gps_skytraq.xml
+++ b/conf/modules/gps_skytraq.xml
@@ -13,8 +13,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_ublox.xml b/conf/modules/gps_ublox.xml
index 68f7ddadd0..d95dcf20b5 100644
--- a/conf/modules/gps_ublox.xml
+++ b/conf/modules/gps_ublox.xml
@@ -28,8 +28,6 @@
uart,gps
gps
-
-
diff --git a/conf/modules/gps_ubx_i2c.xml b/conf/modules/gps_ubx_i2c.xml
index 7fc71b45c6..224e75d56f 100644
--- a/conf/modules/gps_ubx_i2c.xml
+++ b/conf/modules/gps_ubx_i2c.xml
@@ -13,8 +13,6 @@
i2c,gps_ublox
gps
-
-
diff --git a/conf/modules/gps_udp.xml b/conf/modules/gps_udp.xml
index 9e843ef9fa..356706245b 100644
--- a/conf/modules/gps_udp.xml
+++ b/conf/modules/gps_udp.xml
@@ -14,8 +14,6 @@
udp,gps
gps
-
-
diff --git a/conf/modules/guidance_indi.xml b/conf/modules/guidance_indi.xml
index f25e1c935e..766522ed4a 100644
--- a/conf/modules/guidance_indi.xml
+++ b/conf/modules/guidance_indi.xml
@@ -16,7 +16,7 @@
- @navigation
+ @navigation,guidance_rotorcraft
guidance,attitude_command
diff --git a/conf/modules/guidance_indi_hybrid.xml b/conf/modules/guidance_indi_hybrid.xml
index 2be1d22e12..ee95d95959 100644
--- a/conf/modules/guidance_indi_hybrid.xml
+++ b/conf/modules/guidance_indi_hybrid.xml
@@ -24,7 +24,7 @@
- @navigation
+ @navigation,guidance_rotorcraft
guidance,attitude_command
diff --git a/conf/modules/guidance_pid_rotorcraft.xml b/conf/modules/guidance_pid_rotorcraft.xml
index 32ffd42026..c8578ae333 100644
--- a/conf/modules/guidance_pid_rotorcraft.xml
+++ b/conf/modules/guidance_pid_rotorcraft.xml
@@ -38,7 +38,7 @@
- @stabilization
+ @stabilization,guidance_rotorcraft
guidance,attitude_command
diff --git a/conf/modules/guidance_rotorcraft.xml b/conf/modules/guidance_rotorcraft.xml
index 7a1a79711e..8c65276007 100644
--- a/conf/modules/guidance_rotorcraft.xml
+++ b/conf/modules/guidance_rotorcraft.xml
@@ -28,8 +28,7 @@
-
- nav_basic_rotorcraft,guidance_pid_rotorcraft,@stabilization
+ @navigation,@stabilization
guidance,attitude_command
diff --git a/conf/modules/imu_apogee.xml b/conf/modules/imu_apogee.xml
index d641ab8d85..b24ea741e1 100644
--- a/conf/modules/imu_apogee.xml
+++ b/conf/modules/imu_apogee.xml
@@ -11,8 +11,6 @@
i2c,imu_common
imu
-
-
diff --git a/conf/modules/imu_apogee_mpu9150.xml b/conf/modules/imu_apogee_mpu9150.xml
index f050277ce9..95df61e4db 100644
--- a/conf/modules/imu_apogee_mpu9150.xml
+++ b/conf/modules/imu_apogee_mpu9150.xml
@@ -17,11 +17,9 @@
- i2c
+ i2c,imu_apogee
imu,mag
-
-
diff --git a/conf/modules/imu_ardrone2.xml b/conf/modules/imu_ardrone2.xml
index 28f2fd972c..09709f6ee8 100644
--- a/conf/modules/imu_ardrone2.xml
+++ b/conf/modules/imu_ardrone2.xml
@@ -10,8 +10,6 @@
uart,imu_common
imu,mag,sonar
-
-
diff --git a/conf/modules/imu_aspirin_common.xml b/conf/modules/imu_aspirin_common.xml
index 8d18b1dc15..5c12d2fb53 100644
--- a/conf/modules/imu_aspirin_common.xml
+++ b/conf/modules/imu_aspirin_common.xml
@@ -25,8 +25,6 @@
spi_master,i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_aspirin_i2c_common.xml b/conf/modules/imu_aspirin_i2c_common.xml
index 314d40565e..42a526a5c0 100644
--- a/conf/modules/imu_aspirin_i2c_common.xml
+++ b/conf/modules/imu_aspirin_i2c_common.xml
@@ -23,8 +23,6 @@
i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_aspirin_i2c_v1.0.xml b/conf/modules/imu_aspirin_i2c_v1.0.xml
index 79ea7f1c26..4019b1dd8d 100644
--- a/conf/modules/imu_aspirin_i2c_v1.0.xml
+++ b/conf/modules/imu_aspirin_i2c_v1.0.xml
@@ -23,8 +23,6 @@
imu_aspirin_i2c_common
imu
-
-
diff --git a/conf/modules/imu_aspirin_i2c_v1.5.xml b/conf/modules/imu_aspirin_i2c_v1.5.xml
index a827312f9a..cc60c6e3ca 100644
--- a/conf/modules/imu_aspirin_i2c_v1.5.xml
+++ b/conf/modules/imu_aspirin_i2c_v1.5.xml
@@ -14,8 +14,6 @@
imu_aspirin_i2c_common
imu
-
-
diff --git a/conf/modules/imu_aspirin_v1.0.xml b/conf/modules/imu_aspirin_v1.0.xml
index 69928486d5..768ea8a8cd 100644
--- a/conf/modules/imu_aspirin_v1.0.xml
+++ b/conf/modules/imu_aspirin_v1.0.xml
@@ -14,8 +14,6 @@
imu_aspirin_common
imu
-
-
diff --git a/conf/modules/imu_aspirin_v1.5.xml b/conf/modules/imu_aspirin_v1.5.xml
index 24400c5e35..caea69850e 100644
--- a/conf/modules/imu_aspirin_v1.5.xml
+++ b/conf/modules/imu_aspirin_v1.5.xml
@@ -10,7 +10,10 @@
For configuration see the imu_aspirin_common module
-
+
+ imu_aspirin_common
+ imu
+
diff --git a/conf/modules/imu_aspirin_v2.1.xml b/conf/modules/imu_aspirin_v2.1.xml
index a25629ff81..127e85bd7e 100644
--- a/conf/modules/imu_aspirin_v2.1.xml
+++ b/conf/modules/imu_aspirin_v2.1.xml
@@ -13,8 +13,6 @@
imu_aspirin_v2_common
imu
-
-
diff --git a/conf/modules/imu_aspirin_v2_common.xml b/conf/modules/imu_aspirin_v2_common.xml
index 3091c9b750..69f066d883 100644
--- a/conf/modules/imu_aspirin_v2_common.xml
+++ b/conf/modules/imu_aspirin_v2_common.xml
@@ -24,8 +24,6 @@
spi_master,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_bebop.xml b/conf/modules/imu_bebop.xml
index b73be62beb..5dc38f78b0 100644
--- a/conf/modules/imu_bebop.xml
+++ b/conf/modules/imu_bebop.xml
@@ -21,9 +21,6 @@
i2c,imu_common
imu,mag
-
-
-
diff --git a/conf/modules/imu_bmi088_i2c.xml b/conf/modules/imu_bmi088_i2c.xml
index dcf3746c29..c2aa173009 100644
--- a/conf/modules/imu_bmi088_i2c.xml
+++ b/conf/modules/imu_bmi088_i2c.xml
@@ -20,8 +20,6 @@
i2c,imu_common
imu
-
-
diff --git a/conf/modules/imu_chimera.xml b/conf/modules/imu_chimera.xml
index 0d24f8324f..1582011064 100644
--- a/conf/modules/imu_chimera.xml
+++ b/conf/modules/imu_chimera.xml
@@ -3,11 +3,14 @@
- MPU9250 IMU via SPI.
- Basically the same as imu_mpu9250_spi, only changed axes assignment for Chimera.
+ MPU9250 IMU via I2C.
+ Basically the same as imu_mpu9250_i2c, only changed axes assignment for Chimera.
-
+
+ imu_mpu9250_i2c
+ imu
+
diff --git a/conf/modules/imu_cube.xml b/conf/modules/imu_cube.xml
index 47fcd749b8..31d653e42b 100644
--- a/conf/modules/imu_cube.xml
+++ b/conf/modules/imu_cube.xml
@@ -13,8 +13,6 @@
spi_master,imu_common,intermcu_iomcu,imu_heater
imu
-
-
diff --git a/conf/modules/imu_disco.xml b/conf/modules/imu_disco.xml
index 6c864a1c7a..c16c84d79f 100644
--- a/conf/modules/imu_disco.xml
+++ b/conf/modules/imu_disco.xml
@@ -21,9 +21,6 @@
i2c,imu_common
imu,mag
-
-
-
diff --git a/conf/modules/imu_elle0.xml b/conf/modules/imu_elle0.xml
index 633fb5700a..41033e0546 100644
--- a/conf/modules/imu_elle0.xml
+++ b/conf/modules/imu_elle0.xml
@@ -7,7 +7,10 @@
Basically the same as imu_mpu9250_spi, only changed axes assignment for Elle0.
-
+
+ imu_mpu9250_spi
+ imu
+
diff --git a/conf/modules/imu_lisa_m_v2.1.xml b/conf/modules/imu_lisa_m_v2.1.xml
index 618eed1d9e..85ff5d17a9 100644
--- a/conf/modules/imu_lisa_m_v2.1.xml
+++ b/conf/modules/imu_lisa_m_v2.1.xml
@@ -20,8 +20,6 @@
imu_aspirin_v2_common
imu
-
-
diff --git a/conf/modules/imu_lisa_mx_v2.1.xml b/conf/modules/imu_lisa_mx_v2.1.xml
index 1266e66c2e..fb5065f75b 100644
--- a/conf/modules/imu_lisa_mx_v2.1.xml
+++ b/conf/modules/imu_lisa_mx_v2.1.xml
@@ -7,5 +7,8 @@
This is just a convenience "alias" for imu_lisa_m_v2.1
-
+
+ imu_lisa_m_v2.1
+
+
diff --git a/conf/modules/imu_lisa_s_v1.0.xml b/conf/modules/imu_lisa_s_v1.0.xml
index f438fcaade..93bada4e56 100644
--- a/conf/modules/imu_lisa_s_v1.0.xml
+++ b/conf/modules/imu_lisa_s_v1.0.xml
@@ -20,8 +20,6 @@
imu_aspirin_v2_common
imu
-
-
diff --git a/conf/modules/imu_mpu6000.xml b/conf/modules/imu_mpu6000.xml
index 2c34a9781f..264aa06c80 100644
--- a/conf/modules/imu_mpu6000.xml
+++ b/conf/modules/imu_mpu6000.xml
@@ -17,8 +17,6 @@
spi_master,imu_common
imu
-
-
diff --git a/conf/modules/imu_mpu6000_hmc5883.xml b/conf/modules/imu_mpu6000_hmc5883.xml
index 686f882631..a71bb47afe 100644
--- a/conf/modules/imu_mpu6000_hmc5883.xml
+++ b/conf/modules/imu_mpu6000_hmc5883.xml
@@ -33,8 +33,6 @@
spi_master,i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_mpu60x0_i2c.xml b/conf/modules/imu_mpu60x0_i2c.xml
index 5eb49f8d53..bdcc9a304a 100644
--- a/conf/modules/imu_mpu60x0_i2c.xml
+++ b/conf/modules/imu_mpu60x0_i2c.xml
@@ -16,8 +16,6 @@
i2c,imu_common
imu
-
-
diff --git a/conf/modules/imu_mpu9250.xml b/conf/modules/imu_mpu9250.xml
index d177f7f876..8384b5ac88 100644
--- a/conf/modules/imu_mpu9250.xml
+++ b/conf/modules/imu_mpu9250.xml
@@ -13,8 +13,6 @@
i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_mpu9250_i2c.xml b/conf/modules/imu_mpu9250_i2c.xml
index 2f5759bfa1..7aacf7eb76 100644
--- a/conf/modules/imu_mpu9250_i2c.xml
+++ b/conf/modules/imu_mpu9250_i2c.xml
@@ -21,8 +21,6 @@
i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_mpu9250_spi.xml b/conf/modules/imu_mpu9250_spi.xml
index 8c6c3b864f..3f47fcbf9e 100644
--- a/conf/modules/imu_mpu9250_spi.xml
+++ b/conf/modules/imu_mpu9250_spi.xml
@@ -25,8 +25,6 @@
spi_master,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_openpilot_revo.xml b/conf/modules/imu_openpilot_revo.xml
index 8ae7148aeb..ae75b594f2 100644
--- a/conf/modules/imu_openpilot_revo.xml
+++ b/conf/modules/imu_openpilot_revo.xml
@@ -24,8 +24,6 @@
spi_master,i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_openpilot_revo_nano.xml b/conf/modules/imu_openpilot_revo_nano.xml
index a12abc5ee2..68df6eed42 100644
--- a/conf/modules/imu_openpilot_revo_nano.xml
+++ b/conf/modules/imu_openpilot_revo_nano.xml
@@ -26,8 +26,6 @@
spi_master,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_px4fmu_v1.7.xml b/conf/modules/imu_px4fmu_v1.7.xml
index b7d258f6d8..0b2028e01b 100644
--- a/conf/modules/imu_px4fmu_v1.7.xml
+++ b/conf/modules/imu_px4fmu_v1.7.xml
@@ -14,8 +14,6 @@
spi_master,i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_px4fmu_v2.4.xml b/conf/modules/imu_px4fmu_v2.4.xml
index c02bfe4d96..b1f3ab3f4c 100644
--- a/conf/modules/imu_px4fmu_v2.4.xml
+++ b/conf/modules/imu_px4fmu_v2.4.xml
@@ -16,8 +16,6 @@
spi_master,i2c,imu_common
imu,mag
-
-
diff --git a/conf/modules/imu_vectornav.xml b/conf/modules/imu_vectornav.xml
index e7e10b73f3..1d97408247 100644
--- a/conf/modules/imu_vectornav.xml
+++ b/conf/modules/imu_vectornav.xml
@@ -14,8 +14,6 @@
uart,imu_common
imu
-
-
diff --git a/conf/modules/imu_xsens.xml b/conf/modules/imu_xsens.xml
index f530275123..2d0cf5085a 100644
--- a/conf/modules/imu_xsens.xml
+++ b/conf/modules/imu_xsens.xml
@@ -14,8 +14,6 @@
uart,imu_common
imu,mag
-
-
diff --git a/conf/modules/ins_ext_pose.xml b/conf/modules/ins_ext_pose.xml
index 51f29fa009..482f9e10d2 100644
--- a/conf/modules/ins_ext_pose.xml
+++ b/conf/modules/ins_ext_pose.xml
@@ -18,8 +18,6 @@
@gps,@datalink,@imu
ahrs,ins
-
-
diff --git a/conf/modules/ins_nps.xml b/conf/modules/ins_nps.xml
index 351f3c142b..1f680dc811 100644
--- a/conf/modules/ins_nps.xml
+++ b/conf/modules/ins_nps.xml
@@ -10,7 +10,6 @@
@imu,@gps
ins
-
diff --git a/conf/modules/ins_sim.xml b/conf/modules/ins_sim.xml
index 691da7bb39..6e1598325c 100644
--- a/conf/modules/ins_sim.xml
+++ b/conf/modules/ins_sim.xml
@@ -10,8 +10,6 @@
@imu,@gps
ins,ahrs
-
-
diff --git a/conf/modules/ins_vectornav.xml b/conf/modules/ins_vectornav.xml
index 88c932a842..114eac1867 100644
--- a/conf/modules/ins_vectornav.xml
+++ b/conf/modules/ins_vectornav.xml
@@ -12,10 +12,6 @@
uart,gps
imu,ins,ahrs,gps
-
-
-
-
diff --git a/conf/modules/ins_xsens.xml b/conf/modules/ins_xsens.xml
index 8561d1583d..67b3e872cc 100644
--- a/conf/modules/ins_xsens.xml
+++ b/conf/modules/ins_xsens.xml
@@ -12,8 +12,6 @@
uart,gps
ins,ahrs,gps
-
-
diff --git a/conf/modules/ins_xsens700.xml b/conf/modules/ins_xsens700.xml
index fc6f6df1c2..d2b280d2ed 100644
--- a/conf/modules/ins_xsens700.xml
+++ b/conf/modules/ins_xsens700.xml
@@ -20,8 +20,6 @@
uart,gps
ins,ahrs,gps
-
-
diff --git a/conf/modules/module.dtd b/conf/modules/module.dtd
index f064afdb93..962e319f03 100644
--- a/conf/modules/module.dtd
+++ b/conf/modules/module.dtd
@@ -1,14 +1,15 @@
-
+
-
+
-
+
+
@@ -37,10 +38,6 @@ name CDATA #REQUIRED
dir CDATA #IMPLIED
task CDATA #IMPLIED>
-
-
@navigation
+ @mission
diff --git a/conf/modules/nav_lace.xml b/conf/modules/nav_lace.xml
index a7d6001849..e18f4cb7bc 100644
--- a/conf/modules/nav_lace.xml
+++ b/conf/modules/nav_lace.xml
@@ -11,6 +11,10 @@
https://hal-enac.archives-ouvertes.fr/hal-02137839
+
+ @navigation
+ @mission
+
diff --git a/conf/modules/nav_line.xml b/conf/modules/nav_line.xml
index 760e5d9fc4..c45187a7bf 100644
--- a/conf/modules/nav_line.xml
+++ b/conf/modules/nav_line.xml
@@ -13,6 +13,7 @@
@navigation
+ @mission
diff --git a/conf/modules/nav_rosette.xml b/conf/modules/nav_rosette.xml
index 6f38afd1bb..0360e0e93b 100644
--- a/conf/modules/nav_rosette.xml
+++ b/conf/modules/nav_rosette.xml
@@ -11,6 +11,10 @@
https://hal-enac.archives-ouvertes.fr/hal-02137839
+
+ @navigation
+ @mission
+
diff --git a/conf/modules/nav_spiral_3D.xml b/conf/modules/nav_spiral_3D.xml
index 21040d30cb..cf9ba270ca 100644
--- a/conf/modules/nav_spiral_3D.xml
+++ b/conf/modules/nav_spiral_3D.xml
@@ -22,6 +22,10 @@
+
+ @navigation
+ @mission
+
diff --git a/conf/modules/nav_trinity.xml b/conf/modules/nav_trinity.xml
index cfb96e4c3d..b2c9d8c98a 100644
--- a/conf/modules/nav_trinity.xml
+++ b/conf/modules/nav_trinity.xml
@@ -11,6 +11,10 @@
https://hal-enac.archives-ouvertes.fr/hal-02137839
+
+ @navigation
+ @mission
+
diff --git a/conf/modules/shell.xml b/conf/modules/shell.xml
index c979d37ace..3d65a354c2 100644
--- a/conf/modules/shell.xml
+++ b/conf/modules/shell.xml
@@ -7,7 +7,7 @@
- uart
+ uart
diff --git a/conf/modules/sys_mon.xml b/conf/modules/sys_mon.xml
index 228c424edb..0835a133c6 100644
--- a/conf/modules/sys_mon.xml
+++ b/conf/modules/sys_mon.xml
@@ -34,6 +34,9 @@ For systems with RTOS, RTOS_MON message is sent instead and the following inform
Again, the sys_mon module has to run at the full main frequency (so the reports are generated at 1 second intervals).
+
+ shell
+
diff --git a/conf/modules/syslink_dl.xml b/conf/modules/syslink_dl.xml
index 1c4ba41276..2a2220c90c 100644
--- a/conf/modules/syslink_dl.xml
+++ b/conf/modules/syslink_dl.xml
@@ -8,8 +8,6 @@
-
-
diff --git a/conf/modules/system_core.xml b/conf/modules/system_core.xml
index a1960f6724..a55bf0b3e7 100644
--- a/conf/modules/system_core.xml
+++ b/conf/modules/system_core.xml
@@ -9,7 +9,7 @@
- mcu,math,state_interface,@actuators|@intermcu,settings|@no_settings
+ mcu,math,state_interface,@actuators|@intermcu,settings|@no_settings,@datalink,@telemetry
core
diff --git a/conf/modules/targets/hitl.xml b/conf/modules/targets/hitl.xml
index cc7918ddd8..17a88d3edb 100644
--- a/conf/modules/targets/hitl.xml
+++ b/conf/modules/targets/hitl.xml
@@ -9,6 +9,7 @@
targets/nps
+ gps_nps
diff --git a/conf/modules/targets/nps.xml b/conf/modules/targets/nps.xml
index 875e55c580..6d05772a9f 100644
--- a/conf/modules/targets/nps.xml
+++ b/conf/modules/targets/nps.xml
@@ -13,6 +13,7 @@
system_core,electrical,settings
baro,airspeed,sonar,incidence,temperature
+ gps_nps,imu_nps,ins_nps,actuators_nps,telemetry_nps
diff --git a/conf/modules/targets/sim.xml b/conf/modules/targets/sim.xml
index 6569ad4117..cb817f55ba 100644
--- a/conf/modules/targets/sim.xml
+++ b/conf/modules/targets/sim.xml
@@ -11,7 +11,8 @@
- system_core,electrical,settings,actuators_dummy
+ system_core,electrical,settings,actuators_dummy,@gps,@ins
+ gps_sim,imu_sim,ins_sim,ahrs_sim,baro_sim,telemetry_sim
diff --git a/conf/modules/telemetry_bluegiga.xml b/conf/modules/telemetry_bluegiga.xml
index 9087ca5e8e..08cae2c0d1 100644
--- a/conf/modules/telemetry_bluegiga.xml
+++ b/conf/modules/telemetry_bluegiga.xml
@@ -26,8 +26,6 @@
spi_master,datalink_common
datalink,telemetry
-
-
diff --git a/conf/modules/telemetry_nps_secure.xml b/conf/modules/telemetry_nps_secure.xml
index 0163ad353f..752683435d 100644
--- a/conf/modules/telemetry_nps_secure.xml
+++ b/conf/modules/telemetry_nps_secure.xml
@@ -4,7 +4,7 @@
Telemetry module for NPS simulation
- Common parts of comms, not to be used as a stadalone module. Instead, this module
+ Common parts of comms, not to be used as a standalone module. Instead, this module
is autoloaded where appropriate.
diff --git a/conf/modules/telemetry_secure_common.xml b/conf/modules/telemetry_secure_common.xml
index 53bf23399c..c32c7a4a1b 100644
--- a/conf/modules/telemetry_secure_common.xml
+++ b/conf/modules/telemetry_secure_common.xml
@@ -11,9 +11,8 @@
uart,datalink_common
datalink,telemetry
+ telemetry_nps_secure
-
-
diff --git a/conf/modules/telemetry_superbitrf.xml b/conf/modules/telemetry_superbitrf.xml
index d0aa403948..72dc4b398a 100644
--- a/conf/modules/telemetry_superbitrf.xml
+++ b/conf/modules/telemetry_superbitrf.xml
@@ -10,8 +10,6 @@
datalink_common
datalink,telemetry
-
-
diff --git a/conf/modules/telemetry_transparent.xml b/conf/modules/telemetry_transparent.xml
index 14c82691da..f2100153a2 100644
--- a/conf/modules/telemetry_transparent.xml
+++ b/conf/modules/telemetry_transparent.xml
@@ -17,8 +17,6 @@
uart,datalink_common
datalink,telemetry
-
-
diff --git a/conf/modules/telemetry_transparent_frsky_x.xml b/conf/modules/telemetry_transparent_frsky_x.xml
index 79c3e5f15c..58cc4b6260 100644
--- a/conf/modules/telemetry_transparent_frsky_x.xml
+++ b/conf/modules/telemetry_transparent_frsky_x.xml
@@ -23,8 +23,6 @@
datalink_common
datalink,telemetry
-
-
diff --git a/conf/modules/telemetry_transparent_udp.xml b/conf/modules/telemetry_transparent_udp.xml
index 8ccc2375d3..50705a297b 100644
--- a/conf/modules/telemetry_transparent_udp.xml
+++ b/conf/modules/telemetry_transparent_udp.xml
@@ -15,7 +15,6 @@
udp,datalink_common
datalink,telemetry
-
diff --git a/conf/modules/telemetry_w5100.xml b/conf/modules/telemetry_w5100.xml
index 2260f069c3..2872e652fd 100644
--- a/conf/modules/telemetry_w5100.xml
+++ b/conf/modules/telemetry_w5100.xml
@@ -20,7 +20,6 @@
spi_master,datalink_common
datalink,telemetry
-
diff --git a/conf/modules/telemetry_xbee_api.xml b/conf/modules/telemetry_xbee_api.xml
index 7647e7809a..8e147692cb 100644
--- a/conf/modules/telemetry_xbee_api.xml
+++ b/conf/modules/telemetry_xbee_api.xml
@@ -13,8 +13,6 @@
uart,datalink_common
datalink,telemetry
-
-
diff --git a/sw/lib/ocaml/aircraft.ml b/sw/lib/ocaml/aircraft.ml
index 7c00f1f767..2ddba7ccb5 100644
--- a/sw/lib/ocaml/aircraft.ml
+++ b/sw/lib/ocaml/aircraft.ml
@@ -31,7 +31,7 @@ let (//) = Filename.concat
let get_string_opt = fun x -> match x with Some s -> s | None -> ""
(* type of loading (user, auto) *)
-type load_type = UserLoad | AutoLoad | Unloaded | Depend
+type load_type = UserLoad | Unloaded | Depend | Suggested
(* configuration sorted by target *)
type target_conf = {
@@ -93,7 +93,7 @@ let target_conf_add_module_config = fun conf target firmware m load_type ->
(* add a module if compatible with target and firmware *)
let target_conf_add_module = fun conf target firmware name mtype load_type ->
- let m = Module.from_module_name name mtype in
+ let m = Module.from_module_name mtype name in
(* check compatibility with target *)
if Module.check_loading target firmware m then
(* check if the module itself is already loaded, merging options in all case *)
@@ -112,11 +112,13 @@ type sort_result = {
conflicts: (string * string) list; (* modules in conflict *)
required: (GC.bool_expr * string) list; (* functionalities required *)
provided: (string * string) list; (* functionalities provided (should contain required) (func * module name) *)
+ suggested: (string, Module.t) Hashtbl.t; (* modules suggested for missing functionalities (hashtbl key: func) *)
}
let init_sort_result = fun () ->
{ resolved = []; unresolved = []; unloaded = [];
- conflicts = []; required = []; provided = []
+ conflicts = []; required = []; provided = [];
+ suggested = Hashtbl.create 5
}
(* topological sort to load modules and their dependencies *)
@@ -150,38 +152,48 @@ let resolve_modules_dep = fun config_by_target firmware user_target ->
{ s with required = s.required @ [(dep_expr, name)] }
else
(* get module from name *)
- let _m = Module.from_module_name dep_name None in
+ let _m = Module.from_module_name None dep_name in
test_module s _m (if name = "root" then UserLoad else Depend)
| _ -> { s with required = s.required @ [(dep_expr, name)] } (* expression of required modules or functionalities *)
) sol dep.Module.requires in
- (* iter over autoload modules *)
- let sol = List.fold_left (fun s autoload ->
- let _m = Module.from_module_name autoload.Module.aname autoload.Module.atype in
- test_module s _m AutoLoad
- ) sol m.Module.autoloads in
+ (* add suggests from root as normal modules with correct load type *)
+ let sol =
+ if name = "root" then
+ List.fold_left (fun s suggested -> test_module s (Module.from_module_name None suggested) Suggested) sol dep.Module.suggests
+ else sol
+ in
(* add conflicts to list *)
let sol = { sol with conflicts = sol.conflicts @ (List.map (fun c -> (c, name)) dep.Module.conflicts) } in
(* add provides to list *)
let sol = { sol with provided = sol.provided @ List.map (fun p -> (p, name)) dep.Module.provides } in
- (* all dep and autoload resolved, add to list *)
+ (* add suggests to list *)
+ List.iter (fun s ->
+ let suggested_module = Module.from_module_name None s in
+ match suggested_module.Module.dependencies with
+ | Some dep_suggested -> List.iter (fun p -> Hashtbl.add sol.suggested p suggested_module) dep_suggested.Module.provides
+ | None -> ()
+ ) dep.Module.suggests;
+ (* all dep resolved, add to list *)
if not (name = "root") then (* don't add root module *)
{ sol with resolved = sol.resolved @ [(name, (load_type, m))] } (* add to list and return solution *)
else sol (* return current solution *)
| None ->
- (* no dep, only check autoload *)
- let sol = List.fold_left (fun s autoload ->
- let _m = Module.from_module_name autoload.Module.aname autoload.Module.atype in
- test_module s _m AutoLoad
- ) sol m.Module.autoloads in
+ (* no dep, add to list *)
if not (name = "root") then (* don't add root module *)
{ sol with resolved = sol.resolved @ [(name, (load_type, m))] } (* add to list and return solution *)
else sol (* return current solution *)
end else begin
- (* not adding module, but still add autoloads if target is valid *)
- let sol = List.fold_left (fun s autoload ->
- let _m = Module.from_module_name autoload.Module.aname autoload.Module.atype in
- test_module s _m AutoLoad
- ) sol m.Module.autoloads in
+ (* not adding module, but still add suggested *)
+ let _ = match m.Module.dependencies with
+ | Some dep ->
+ List.iter (fun s ->
+ let suggested_module = Module.from_module_name None s in
+ match suggested_module.Module.dependencies with
+ | Some dep_suggested -> List.iter (fun p -> Hashtbl.add sol.suggested p suggested_module) dep_suggested.Module.provides
+ | None -> ()
+ ) dep.Module.suggests
+ | None -> ()
+ in
(* return resolved but not adding module *)
{ sol with unloaded = sol.unloaded @ [(Unloaded, m)] }
end
@@ -203,7 +215,7 @@ let resolve_modules_dep = fun config_by_target firmware user_target ->
s :: l (* return normal module name *)
in
let depend_names = match m.Module.dependencies with
- | Some d -> GC.singletonize (List.fold_left extract_dep [] d.Module.requires)
+ | Some d -> GC.singletonize (List.fold_left extract_dep [] (d.Module.requires @ d.Module.recommends))
| None -> []
in
n, depend_names
@@ -254,7 +266,7 @@ let resolve_modules_dep = fun config_by_target firmware user_target ->
Module.makefiles = [Module.empty_makefile]
} in
let solution = dep_resolve (init_sort_result ()) root_module target UserLoad in
- (* test for conflicts and required functionalities and option if requested *)
+ (* test for conflicts functionalities and option if requested *)
if (not (user_target = "")) && (target = user_target) then begin
(* check conflicts for resolved modules *)
List.iter (fun (c, cname) ->
@@ -267,12 +279,28 @@ let resolve_modules_dep = fun config_by_target firmware user_target ->
failwith (Printf.sprintf "Error [Aircraft]: find conflict with funcionality while loading '%s' for '%s' in target '%s'" name cname target)
) solution.provided
) solution.conflicts;
- (* chek that all required functionalities or modules are provided *)
- List.iter (fun (r, name) ->
- if not (List.exists (fun p -> GC.eval_bool p r) (fst (List.split solution.provided) @ (fst (List.split solution.resolved)))) then
- failwith (Printf.sprintf "Error [Aircraft]: functionality '%s' is not provided for '%s' in target '%s'" (GC.sprint_expr r) name target)
- ) solution.required
end;
+ (* chek that all required functionalities or modules are provided
+ * if not, search suggested list of modules, fail if nothing found
+ *)
+ let modules_and_func = (fst (List.split solution.provided)) @ (fst (List.split solution.resolved)) in
+ let selection = List.fold_left (fun s (r, name) ->
+ if (List.exists (fun p -> GC.eval_bool p r) modules_and_func) then s (* functionality is provided *)
+ else
+ let select = Hashtbl.fold (fun p m l -> if GC.eval_bool p r then m :: l else l) solution.suggested [] in
+ if List.length select = 0 && (not (user_target = "")) && (target = user_target) then
+ failwith (Printf.sprintf "Error [Aircraft]: functionality '%s' is not provided for '%s' in target '%s'" (GC.sprint_expr r) name target)
+ else
+ s @ select (* return selection *)
+ ) [] solution.required in
+ let solution = match selection with
+ | [] -> solution (* nothing to change *)
+ | _ ->
+ (* add selection to root dep *)
+ let root_dep = { root_dep with Module.suggests = (List.map (fun m -> m.Module.name) selection) } in
+ let root_module = { root_module with Module.dependencies = Some root_dep } in
+ dep_resolve (init_sort_result ()) root_module target UserLoad
+ in
(* find final order *)
let solution = dep_order solution in
(* add configure, defines and modules to conf for all resolved modules *)
@@ -562,7 +590,7 @@ let parse_aircraft = fun ?(parse_af=false) ?(parse_ap=false) ?(parse_fp=false) ?
if verbose then begin
let letter_of_load_tyoe = function
- | UserLoad -> "U" | Depend -> "D" | AutoLoad -> "A" | Unloaded -> "N"
+ | UserLoad -> "U" | Depend -> "D" | Unloaded -> "N" | Suggested -> "S"
in
Printf.printf "Loading modules:\n";
List.iter2 (fun lt m ->
diff --git a/sw/lib/ocaml/module.ml b/sw/lib/ocaml/module.ml
index 3ca10d5f70..f09eeb7fa9 100644
--- a/sw/lib/ocaml/module.ml
+++ b/sw/lib/ocaml/module.ml
@@ -217,6 +217,8 @@ type dependencies = {
requires: GC.bool_expr list;
conflicts: string list;
provides: string list;
+ recommends: GC.bool_expr list;
+ suggests: string list;
}
(* comma separated values *)
@@ -226,7 +228,7 @@ let parse_func_list = fun l -> List.map (fun x -> "@"^x) (Str.split (Str.regexp
(* pipe separated values *)
let parse_module_options = Str.split (Str.regexp "[ \t]*|[ \t]*")
-let empty_dep = { requires = []; conflicts = []; provides = [] }
+let empty_dep = { requires = []; conflicts = []; provides = []; recommends = []; suggests = [] }
let rec parse_dependencies dep = function
| Xml.Element ("dep", _, children) ->
@@ -237,13 +239,12 @@ let rec parse_dependencies dep = function
{ dep with conflicts = parse_comma_list conflicts }
| Xml.Element ("provides", _, [Xml.PCData provides]) ->
{ dep with provides = parse_func_list provides }
+ | Xml.Element ("recommends", _, [Xml.PCData recommends]) ->
+ { dep with recommends = List.map (fun x -> GC.bool_expr_of_string (Some x)) (parse_comma_list recommends) }
+ | Xml.Element ("suggests", _, [Xml.PCData suggests]) ->
+ { dep with suggests = parse_comma_list suggests }
| _ -> failwith "Module.parse_dependencies: unreachable"
-type autoload = {
- aname: string;
- atype: string option
- }
-
type config = { name: string;
mtype: string option;
dir: string option;
@@ -269,7 +270,6 @@ type t = {
path: string;
doc: Xml.xml;
dependencies: dependencies option;
- autoloads: autoload list;
settings: Settings.t list;
headers: file list;
inits: init list;
@@ -283,7 +283,7 @@ type t = {
let empty =
{ xml_filename = ""; name = ""; dir = None;
task = None; path = ""; doc = Xml.Element ("doc", [], []);
- dependencies = None; autoloads = []; settings = [];
+ dependencies = None; settings = [];
headers = []; inits = []; periodics = []; events = []; datalinks = [];
makefiles = []; xml = Xml.Element ("module", [], []) }
@@ -299,10 +299,6 @@ let rec parse_xml m = function
{ m with settings = Settings.from_xml xml :: m.settings }
| Xml.Element ("dep", _, _) as xml ->
{ m with dependencies = Some (parse_dependencies empty_dep xml) }
- | Xml.Element ("autoload", _, []) as xml ->
- let aname = find_name xml
- and atype = ExtXml.attrib_opt xml "type" in
- { m with autoloads = { aname; atype } :: m.autoloads }
| Xml.Element ("header", [], files) ->
{ m with headers =
List.fold_left (fun acc f -> parse_file f :: acc) m.headers files
@@ -341,7 +337,7 @@ let from_file = fun filename -> from_xml (Xml.parse_file filename)
(** search and parse a module xml file and return a Module.t *)
(* FIXME search folder path: /*/.xml *)
exception Module_not_found of string
-let from_module_name = fun name mtype ->
+let from_module_name = fun mtype name ->
(* concat module type if needed *)
let name = match mtype with Some t -> name ^ "_" ^ t | None -> name in
(* determine if name already have an extension *)
diff --git a/sw/tools/generators/dump_modules_list.ml b/sw/tools/generators/dump_modules_list.ml
index 0cd33968e7..f821d529e5 100644
--- a/sw/tools/generators/dump_modules_list.ml
+++ b/sw/tools/generators/dump_modules_list.ml
@@ -27,7 +27,7 @@ let conf_xml_file = conf_dir // "conf.xml"
let letter_of_load_tyoe = function
| Aircraft.UserLoad -> "U"
| Aircraft.Depend -> "D"
- | Aircraft.AutoLoad -> "A"
+ | Aircraft.Suggested -> "S"
| Aircraft.Unloaded -> "N"
let () =
diff --git a/sw/tools/generators/gen_makefile.ml b/sw/tools/generators/gen_makefile.ml
index c180e231db..beb7344fdb 100644
--- a/sw/tools/generators/gen_makefile.ml
+++ b/sw/tools/generators/gen_makefile.ml
@@ -147,7 +147,7 @@ let dump_target_conf = fun out target conf ->
List.iter (define2mk out) conf.AC.defines;
fprintf out "\n";
List.iter (fun (l, m) -> match l with
- | AC.UserLoad | AC.AutoLoad | AC.Depend -> module2mk out target conf.AC.firmware_name m
+ | AC.UserLoad | AC.Depend | AC.Suggested -> module2mk out target conf.AC.firmware_name m
| _ -> ()
) conf.AC.modules;
fprintf out "\nendif # end of target '%s'\n\n" target