diff --git a/conf/modules/fc_rotor.xml b/conf/modules/fc_rotor.xml
index e17f68c260..424b44d696 100644
--- a/conf/modules/fc_rotor.xml
+++ b/conf/modules/fc_rotor.xml
@@ -7,6 +7,13 @@
The vehicles are are running the INDI control and the desired acceleration are given by script from ground.
+
+
+
+
+
+
+
diff --git a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c
index e46b2cae7f..2ecfe1c4f9 100644
--- a/sw/airborne/modules/multi/fc_rotor/fc_rotor.c
+++ b/sw/airborne/modules/multi/fc_rotor/fc_rotor.c
@@ -25,8 +25,15 @@
#include "modules/multi/fc_rotor/fc_rotor.h"
#include "firmwares/rotorcraft/navigation.h"
+bool fc_rotor_started = false;
+
+#ifndef FCROTOR_STARTED
+#define FCROTOR_STARTED true
+#endif
+
void fc_rotor_init(void)
{
+ fc_rotor_started = FCROTOR_STARTED;
}
void fc_read_msg(uint8_t *buf)
@@ -34,7 +41,7 @@ void fc_read_msg(uint8_t *buf)
struct FloatVect3 u;
uint8_t ac_id = DL_DESIRED_SETPOINT_ac_id(buf);
- if (ac_id == AC_ID) {
+ if ((ac_id == AC_ID) && (fc_rotor_started == true)) {
// 0: 2D control, 1: 3D control
uint8_t flag = DL_DESIRED_SETPOINT_flag(buf);
diff --git a/sw/airborne/modules/multi/fc_rotor/fc_rotor.h b/sw/airborne/modules/multi/fc_rotor/fc_rotor.h
index 0001a631d2..902078364e 100644
--- a/sw/airborne/modules/multi/fc_rotor/fc_rotor.h
+++ b/sw/airborne/modules/multi/fc_rotor/fc_rotor.h
@@ -32,4 +32,6 @@
extern void fc_rotor_init(void);
extern void fc_read_msg(uint8_t *buf);
+extern bool fc_rotor_started;
+
#endif // FC_ROTOR_H