Instead of having individual menus for RTC6705, SmartAudio, and Tramp, Now there is a single VTX menu that detects the type of active device and redirects to the appropriate protocol menu.
Reduces confusion and chances of erroneously using the wrong VTX menu.
Fixes a problem where the Tramp menu could be used to change band/channel/power even though the VTX was a SmartAudio device.
If the VTX is not configured or not communicating, a more informative message will be presented rather than a partially populated protocol menu. For example:
```
VTX NOT RESPONDING
OR NOT CONFIGURED
> BACK
```
Extends the CMS menu capabilities by adding an optional `redirectCheck` function that can conditionally return a menu that should be redirected to instead of the current menu. This redirect happens before any processing happens for the original menu. Adds flexibility to make the CMS menus have a more dynamic aspect.
CMS menu items can now be defined with a `REBOOT_REQUIRED` flag. If the user changes flagged elements the the exit/save options will change to `EXIT&REBOOT` and `SAVE&REBOOT` - ensuring that the changed items will be handled properly. This should be used for options where runtime changes either won't take effect (because they are read at boot), or for items that could have unexpected behavior if changed.
Several appropriate menus have been updated to include the flag.
To accomodate the dynamic nature of the save/exit options, the individual options have been removed from the main menu and replaced with a `SAVE/EXIT` submenu. This is the same menu that is presented as the quick-access popup save menu (yaw-right). This menu will adapt to requiring a reboot if any flagged setting is changed. Additionally the `REBOOT_REQD` arming disabled reason will be set (cleared by the reboot).
Previously the runtime page state was mixed with the page configuration.
This resolves this by:
a) making the configuration entries constant so they do not need to be
in RAM.
b) Maintaining page state independently.
the flight controller code.
Likely the dependencies can be further improved. This is a
minimal-impact solution while there are a lot of other Betaflight PR's
still pending.
revert back initBlackbox
Fixed blackbox erase when full.
Change BOXBLACKBOXERASE to the end
Blackbox erase changes
Moved the ARM detect into the blackbox statemachine
Added blackbox erase start and end beep
Tab to space
With the introduction of the CME_Menu, OME_Submenu became unsuitable
for general function calls. Actually, it works and call the designated
function, but attempt to externally traverse the menu structure fail
because it expects CME_Menu * as data for OME_Submenu.