* Append the target name to the response of MSP_BOARD_INFO
This allows MSP clients to retrieve the actual target name, which
is useful for e.g. automatically upgrading the firmware on a board
without asking the user to select the target manually or to present
a warning dialog if we detect the user has chosen the wrong target.
* Output wether a board uses VCP in MSP_BOARD_INFO
This allows the configurator to detect if the board uses VCP
without using an external list of boards.
* Use a single bit to output wether the board uses VCP
This lets us use the remaining 7 bits for other flags.
Also, output if the board has softserial support using the next
bit.
Additional validation in msp.c was resetting the gyro and pid denoms incorrectly under the assumption that any non-zero gyro_lpf value means the gyro is in 1KHz refresh rate. The correct validation is already been performed by fc/config.c so the extra legacy validtions are not needed.
Temporarily disables Runaway Takeoff Prevention when the `ARMING_DISABLED_MSP` flag is cleared in the configurator by switching the safety switch on the motors tab. Allows bench testing the motors and flight controller response without triggering a runaway takeoff auto-disarm.
Requires coordination with the configurator to pass an extra runaway takeoff temporary disable flag with the MSP_ARMING_DISABLE msp command.
Addresses an edge case where the user could turn on the safety switch (on motors tab), arm and spin the motors, and then turn off the safety switch (without disarming first). In this scenario the motors would keep spinning even though the ARMING_DISABLED_MSP arming disabled flag would be set.
This change checks the arming state and disarms when the configurator sets the ARMING_DISABLED_MSP flag.
The previous logic used an absolute throttle value of 1350us which won't work in 3D mode and resulted in airmode being activated on arming. Renamed the parameter to airmode_start_throttle_percent and set the default to 32 (equivalent to what the previous setting of 1350 when min_check is taken into account).
To preserve MSP functionality the value is transformed to/from microsecond values (32 becomes 1320) when interfaced.