MultirotorMixer::mix() function in mixer_multirotor.cpp gets thrust at the beginning of the function.
float thrust = constrain(get_control(0, 3), 0.0f, 1.0f);
The value should be a float between 0 and 1. I checked the value using following debug statements.
if (thrust < 0.0f) debug("WARNING <0"); else if (thrust <= 1.0f ) debug("[0, 1]"); else if (thrust > 1.0f ) debug("WARNING >1"); else debug("?????");
After power on, but before the safety switch is pressed, the console displays [0, 1], which is correct. However, when I press the safety switch, I see “???”. The thrust value seems not a float. After I arm the copter, the thrust value becomes normal again.
Can someone tell me what the thrust value is after pressing the safety switch? Is there a bug here?