diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 90b8c251d..11a5500c3 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -5531,7 +5531,7 @@ void menuModelTelemetry(uint8_t event) lcd_putsLeft(y, (alarm==0 ? STR_LOWALARM : STR_CRITICALALARM)); putsTelemetryChannel(TELEM_COL2, y, TELEM_RXBATT-1, g_model.rxBattAlarms[alarm], LEFT|attr); if (attr && (s_editMode>0 || p1valdiff)) { - g_model.rxBattAlarms[alarm] = checkIncDec(event, g_model.rxBattAlarms[alarm], 0, 255, EE_MODEL); + g_model.rxBattAlarms[alarm] = checkIncDec(event, g_model.rxBattAlarms[alarm], 0, 132, EE_MODEL); } break; } diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index 290a3c635..faf3b54fa 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -1217,7 +1217,7 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val, break; #if defined(CPUARM) case TELEM_RXBATT-1: - val *= 5; + val = ((val*1320) + 127) / 255; #if LCD_W >= 212 att |= PREC2; #else diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index c7376955a..000e02709 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -420,7 +420,7 @@ void modelDefault(uint8_t id) #if defined(PCBTARANIS) g_model.frsky.channels[0].ratio = 132; g_model.rxBattAlarms[0] = 0; - g_model.rxBattAlarms[1] = 86; + g_model.rxBattAlarms[1] = 43; #endif #if defined(MAVLINK) @@ -1636,7 +1636,7 @@ PLAY_FUNCTION(playValue, uint8_t idx) break; case MIXSRC_FIRST_TELEM+TELEM_RXBATT-1: if (TELEMETRY_STREAMING()) { - PLAY_NUMBER(val/2, 1+UNIT_VOLTS, PREC1); + PLAY_NUMBER((val*132+127)/255, 1+UNIT_VOLTS, PREC1); } break; #endif diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index 0c9c124d9..51f123872 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -435,7 +435,7 @@ void telemetryInterrupt10ms() uint8_t channel = g_model.frsky.voltsSource; #if defined(CPUARM) if (channel == FRSKY_VOLTS_SOURCE_RXBATT) { - voltage = frskyData.analog[TELEM_ANA_RXBATT].value / 2; + voltage = ((frskyData.analog[TELEM_ANA_RXBATT].value * 132) + 127) / 255; } else if (channel <= FRSKY_VOLTS_SOURCE_A4) { voltage = applyChannelRatio(channel, frskyData.analog[channel].value) / 10; diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index 176aa8b95..ca1c55397 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -321,7 +321,7 @@ void frskySportProcessPacket(uint8_t *packet) #endif } else if (appId == BATT_ID) { - frskyData.analog[TELEM_ANA_RXBATT].set((SPORT_DATA_U32(packet)*132/255)/5, UNIT_VOLTS); + frskyData.analog[TELEM_ANA_RXBATT].set(SPORT_DATA_U8(packet), UNIT_VOLTS); } else if ((appId >> 8) == 0) { // The old FrSky IDs