- Tell the OSD driver the type of displayPort, so it can be retrieved
later.
- Use OSD driver code instead of device specific code to handle
MSP_OSD_CONFIG response while minimizing driver specific code.
- Add flag for signaling the use of FrSky OSD (bit 3).
- Rename OSD_FLAGS_MAX7456_DETECTED to OSD_FLAGS_OSD_DEVICE_DETECTED.
Since we only support one OSD device type at a time, we can use the
same bit to signal wether the hardware has been detected.
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.
The `mag` variable is defined as an `extern` in compass.h but the implementation in compass.c is bounded by `#ifdef USE_MAG`. So if `USE_MAG` is not debined then the `mag` variable is an undefined reference.
In imu.c the `imuMahonyAHRSupdate()` function was being passed the elements of `mag` unconditionally like `mag.magADC[X]` so in the case that `USE_MAG` wasn't defined these were invalid null references. Luckily the logic in `imuMahonyAHRSupdate()` was properly bounded so that it never tried to access these variables. But in the case of a debug build the linker is unable to build a reference to these variables since they're never defined.
Handle cases where the protocol stops processing valid frames. Before this fix the last valid frame interval would continue to be reported if no more valid frames were received. No calculation will fallback to the interval measured in the RX task which will ultimately get set to the max task interval (when no data is received) or 30ms.
Change to capturing the last valid frame time rather than the delta in the protocol level. Move the common calculation of the delta up into rx.c.
Separates the OSD elements position/visible/profile flags from the `osdConfig` PG and moves them to a new `osdElementConfig` PG. Allows new elements to be added without having to constantly update the PG version for `osdConfig`.