Having the iterm resetting happening in the rx loop causes a sawtooth PID/motor effect while idling since the PID loop is running at a much higher rate and iterm is allowed to grow during this, and then only reset at a much lower rate in the rx loop. This can potentially lead to some oscillation and/or resonance while idling before takeoff as the sawtooth signal can make it through to the motor outputs.
The OSD stats provide no meaningful information and are just an annoyance when exiting these special states.
For Launch Control the stats will be displayed if the launch is triggered and normal flight occurrred.
On bootup aux channels start out at default and allow sticky modes right away,
although they should only be allowed once they are actually not active.
_Legal disclaimer: I am making my contributions/submissions to this project solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties._
This allows modes to be linked, for example to link vtx pit mode to paralyze. Whenever paralyze is activated, vtx pit mode is activated as well. Also the logic to prevent mode changes when enabling paralyze can be removed in favor of making paralyze sticky.
Modes can be linked in CLI by providing the mode id as the last parameter of the aux command. For example in order to link vtx pit mode to paralyze, replace the last 0 of the pit mode aux (39) with the mode id of paralyze (45):
```
aux 2 39 2 1700 2100 0 0
```
becomes
```
aux 2 39 2 1700 2100 0 45
```
_Legal disclaimer: I am making my contributions/submissions to this project solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties._
During team relay races it's unsafe to retrieve crashed quads because the course is continuously hot. In order to safely fly a backup quad with the primary quad crashed in the field (but powered up) it's necessary to:
* Disable arming, so that the crashed quad doesn't unintentionally arm as well. This is specifically a problem when a transmitter can send signals to all powered up receivers (like FrSky and others).
* Change VTX to an unused channel with low power output
* Turn off telemetry
This change introduces a new mode called paralyze which disables arming and prevents mode changes (except beeper). It can only be invoked while the quad isn't armed. Once it's invoked, the FC has to be power cycled. In order to invoke it, the mode needs to be in a disengaged state at least once, so that forgetting to flip the switch back after crashing doesn't immediately invoke graveyard on the backup quad.
_Legal disclaimer: I am making my contributions/submissions to this project solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties._
Detects runaway pidSum values on takeoff and auto-disarms to prevent the "Tasmanian Devil" caused by incorrect props, wrong motor order/direction, incorrect flight controller orientation, etc. After a successful takeoff and normal flight is detected the feature is disabled for the remainder of the battery.
When FEATURE_3D is on and BOX3DDISABLE is on then the normal throttle
arming check is performed.
When FEATURE_3D is on and BOX3DDISABLE is off then the reduced 3D
throttle arming check is performed.
When FEATURE_3D is on the arm switch does not need to be toggled when
the throttle returns to a valid value (i.e. in the 3D deadband) from
either direction.
This allows the previous "arm and slowly raise throttle" arming
behaviour for 3D flight.
This guards against the case when the RX takes longer to obtain a valid
link than the gyro takes to calibrate (previously this delay is all that
stopped immediate arming).