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.
Located under the Features top-level menu. Allows configuring the failsafe procedure (like selecting GPS-RESCUE if applicable).
Bounded with `#ifdef USE_CMS_FAILSAFE_MENU` so it can be disabled for space critical targets.
Menu including:
- Voltage meter selection
- Current meter selection
- Max cell voltage (moved from MISC menu)
- Voltage scale adjust (moved from MISC menu)
- ADC current scale and offset adjust
- Virtual current scale and offset adjust
CF/BF - Fix typo in max7456DmaInProgress. Always define an
implementation even when there is no TX-DMA.
CF/BF - Ensure that max7456 communication does not disrupt RTC6705
communication when using the same SPI port for both.
CF/BF - Port RTC6705 to use the VTX API.
* Support VTX channel/band/power on OSD for ALL vtx APIs - previously it only supported RTC6705.
* Remove all FEATURE_VTX usage.
* Remove all `#define VTX` usage.
Note that due to the async nature of tramp/smartaudio it's not possible
to know the current band/channel after requesting a change (as the
request hasn't been processed) so it makes no sense to try and save the
config - and on the tramp/smartaudio vtx the vtx maintains it's state.
So on an RTX6705 equipped FC the user should now MANUALLY save the
config using the save config stick position.
CF/BF - Move CMS for RTC6705 into vtx_rtc6705.c for consistency with
other VTX CMS menus.
CF/BF - Update RTC6705 via SOFT SPI to use VTX API.
* Achieved by simply aligning the API at the driver level and removing
all legacy conditional compilation checks.
CF/BF - Use new IO for RTC6705 CLK Hack
CF/BF - Port VTX button from CF v1.x.
Features:
* Channel Cycle
* Band Cycle
* Power Cycle
* Save Settings
* Works with any VTX using VTX API.
CF/BF - Allow support for Internal and External VTX - External takes
precedence when configured.
CF/BF - Fix display of VTX power in CMS.
* Issue occured when CMS was transitioned from integer to list of
strings.
CF/BF - Disable SMARTAUDIO and TRAMP on the SPRacingF3NEO due to flash
size.
CF/BF - Cleanup const usage of bass-by-value parameters. Cleanup
naming.
CF/BF - Cleanup naming. Removing noise-words. Improving consistency.
CF/BF - Improve readability by further naming cleanups.
CF/BF - Remove some magic numbers in the RTC6705 VTX code.
CF/BF - Use braces on some procedural macros.
CF/BF - Improve code readability by renaming rtc6705SetChannel to
rtc6705SetBandAndChannel.
CF/BF - Remove editor mishap.
CF/BF - Make the rtc6705Dev variable static.
CF/BF - remove duplicate state variablertc6705Dev_t - vtxDevice_t had
all we needed. Use brackets on some procedural style macros. Make all
the vtx vtable static const.
CF/BF - making some declarations const.
CF/BF - Fix vtx_power maximum value (out by one).