Each time the `tasks` CLI command is executed the task stats are reset to allow the max and average stats to represent the data since the last `tasks` command. However the task check function stats were not being reset so the "max" would represent the maximum value since boot.
Change to use vtxTableConfig PG settings for validation rather than the current runtime values for bands, channels and power levels. Fixes command parsing when restoring a `diff` as the `vtxtable` runtime values won't be available until after the reboot.
Fix "off by one" range check for power level that was preventing use of the highest power level configured in `vtxtable`.
Reverse the order of the `vtxtable` and `vtx` outputs in a `diff`/`dump` so that `vtxtable` settings will be applied first as the `vtx` settings are dependent on them.
Allows default settings for RC smoothing to work seamlessly regardless of the feedforward type selected ("classic" vs. interpolated).
Adds a new "AUTO" setting for the derivative filter type that will select based on whether interpolated feedforward is enabled (use PT1) or not (use BIQUAD). The derivative filter cutoff if set to auto (0) will also use a fixed cutoff calculated from a 100hz base if interpolated feedforward is enabled. Otherwise if classic FF is active then it will default to the previous method of calculating the cutoff based on the RX frame rate.
- Add displayWriteFontCharacter() for font writing, removing all max7456
specific code.
- Add displayIsReady() for asynchronous display initialization
- Add displayBeginTransaction()/displayCommitTransaction() for display
transactions, which allow performing complex drawing operations without
flickering
- Add displayGetCanvas(), which retrieves the canvas associated with a
display (if it has it)
- Add canvas implementation for pixel based access for a display
- Add FrSkyOSD driver and displayPort driver
- Enable FrSkyOSD driver for targets with flash > 256
- Rename max7456_symbols.h to osd_symbols.h
Found through static analysis (GrammaTech CodeSonar).
I am quite convinced that the VTX_TABLE_MAX_BANDS on line 2829 should be VTX_TABLE_MAX_CHANNELS.
Possible the same replacement should be done on Line 2834, but I am not 100%.
Isolates and prevents changes to runtime active features. Any changes to enabled features are deferred until after a save/reboot. Simplifies the previous logic.
Prevents potential failures when features are changed at runtime but the underlying code is not capabile of dynamic reconfiguration.