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.