@@ -181,7 +181,7 @@ typedef struct statistic_s {
181181 uint16_t min_voltage ; // /100
182182 int16_t max_current ;
183183 int32_t max_power ;
184- int16_t min_rssi ;
184+ uint8_t min_rssi ;
185185 int16_t min_lq ; // for CRSF
186186 int16_t min_rssi_dbm ; // for CRSF
187187 int32_t max_altitude ;
@@ -616,11 +616,11 @@ char *osdFormatTrimWhiteSpace(char *buff)
616616
617617/**
618618 * Converts RSSI into a % value used by the OSD.
619+ * Range is [0, 100]
619620 */
620- static uint16_t osdConvertRSSI (void )
621+ static uint8_t osdConvertRSSI (void )
621622{
622- // change range to [0, 99]
623- return constrain (getRSSI () * 100 / RSSI_MAX_VALUE , 0 , 99 );
623+ return constrain (getRSSI () * 100 / RSSI_MAX_VALUE , 0 , 100 );
624624}
625625
626626static uint16_t osdGetCrsfLQ (void )
@@ -1712,9 +1712,13 @@ static bool osdDrawSingleElement(uint8_t item)
17121712 }
17131713 case OSD_RSSI_VALUE :
17141714 {
1715- uint16_t osdRssi = osdConvertRSSI ();
1715+ uint8_t osdRssi = osdConvertRSSI ();
17161716 buff [0 ] = SYM_RSSI ;
1717- tfp_sprintf (buff + 1 , "%2d" , osdRssi );
1717+ if (osdRssi < 100 )
1718+ tfp_sprintf (buff + 1 , "%2d" , osdRssi );
1719+ else
1720+ tfp_sprintf (buff + 1 , "%c " , SYM_MAX );
1721+
17181722 if (osdRssi < osdConfig ()-> rssi_alarm ) {
17191723 TEXT_ATTRIBUTES_ADD_BLINK (elemAttr );
17201724 }
@@ -4582,7 +4586,7 @@ static void osdResetStats(void)
45824586 stats .max_3D_speed = 0 ;
45834587 stats .max_air_speed = 0 ;
45844588 stats .min_voltage = 12000 ;
4585- stats .min_rssi = 99 ;
4589+ stats .min_rssi = 100 ;
45864590 stats .min_lq = 300 ;
45874591 stats .min_rssi_dbm = 0 ;
45884592 stats .max_altitude = 0 ;
0 commit comments