Changes

Summary

  1. Improve OSD blink logic (commit: f7d992b) (details)
  2. Fix multiple div-by-zero related to battery cell count (commit: 01fb394) (details)
Commit f7d992b2bdf90f8d5aca7ab7f671aa886209ec42 by github
Improve OSD blink logic
Changes the blink logic to be OSD task loop based instead of time based.

The previous logic used a 200ms time interval for the blinking which didn't align well with the default 12hz OSD update frequency resulting in the logic periodically missing intervals resulting in an inconsistent blinking.

As the revised logic is now tied to the OSD task iterations the blinking will be consistent. However due to the timing the blink will be slightly faster - 167ms (6hz) vs. the previous 200ms (5hz) intervals. Technically the blinking was 6hz before but stuttered every 5th blink.

Since the OSD task rate can be changed from the default 60hz, the logic will fall back to the time-based implementation for non-default task rates.
(commit: f7d992b)
The file was modifiedsrc/main/osd/osd.h (diff)
The file was modifiedsrc/main/fc/tasks.c (diff)
The file was modifiedsrc/main/osd/osd_elements.c (diff)
The file was modifiedsrc/main/osd/osd.c (diff)
Commit 01fb3940e705b0da142d27a119f34869f783fb84 by github
Fix multiple div-by-zero related to battery cell count
Battery cell count will be 0 if the battery is not detected or the voltage meter is not configured. This exposed multiple div-by-zero risks.
(commit: 01fb394)
The file was modifiedsrc/test/unit/telemetry_ibus_unittest.cc (diff)
The file was modifiedsrc/main/telemetry/ibus_shared.c (diff)
The file was modifiedsrc/main/telemetry/smartport.c (diff)
The file was modifiedsrc/main/sensors/battery.c (diff)