iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.22k stars 1.49k forks source link

Have RSSI go from 0-100%, rather than 0-99% #10450

Closed MrD-RC closed 3 weeks ago

MrD-RC commented 3 weeks ago

Rather than constraining the RSSI to a max of 99. It now constrains to 100 (which should be the maximum after the scaling anyway. As this is a 2 digit OSD element. Rather than expanding it to use 100 as digits. The SYM_MAX symbol is used when the RSSI is at 100%.

The osdConvertRSSI() function now returns uint8_t rather than uint16_t. As this function returns a value between 0 and 100. There is no need for this it be uint16_t.

MrD-RC commented 3 weeks ago

https://github.com/user-attachments/assets/895a8842-329d-4d92-9c9c-eab62989c44b

The top, numeral only RSSI is just the value directly output to a GVAR for testing. The element below, which switches to MAX at 100% is the actual RSSI % OSD element.

OptimusTi commented 3 weeks ago

MHO, It should read 100% instead of MAX.

MrD-RC commented 3 weeks ago

The reason for max is to keep the element to the same number of characters. I imagine this is the reason it didn't go to 100% in the first place. Because it didn't really make sense to stop at 99%.

OptimusTi commented 3 weeks ago

I remember asking about this 99% thing years ago. The answer was somehow related to "scaling" because 0-99 = 100 units. I suggest just to print a string "100" when max is reached. Looks neater than the symbol and it's easier to read. Just a suggestion.