1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-24 00:35:18 +03:00

RxBatt overflow (it's stored in a 8bits variable)

This commit is contained in:
bsongis 2014-05-23 17:00:49 +02:00
parent 3126586615
commit a46b78bd97
5 changed files with 6 additions and 5 deletions

View file

@ -5522,14 +5522,14 @@ void menuModelTelemetry(uint8_t event)
#if defined(CPUARM)
case ITEM_TELEMETRY_RXBATT_LABEL:
lcd_putsLeft(y, "RxBatt");
putsTelemetryChannel(TELEM_COL2+6*FW, y, dest, frskyData.analog[TELEM_ANA_RxBatt].value, LEFT);
putsTelemetryChannel(TELEM_COL2+6*FW, y, TELEM_RX_VOLTAGE-1, frskyData.analog[TELEM_ANA_RxBatt].value, LEFT);
break;
case ITEM_TELEMETRY_RXBATT_ALARM1:
case ITEM_TELEMETRY_RXBATT_ALARM2:
{
uint8_t alarm = (k==ITEM_TELEMETRY_RXBATT_ALARM1 ? 0 : 1);
lcd_putsLeft(y, (alarm==0 ? STR_LOWALARM : STR_CRITICALALARM));
putsTelemetryChannel(TELEM_COL2, y, TELEM_RX_VOLTAGE-1, 5*g_model.rxBattAlarms[alarm], LEFT|attr);
putsTelemetryChannel(TELEM_COL2, y, TELEM_RX_VOLTAGE-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);
}

View file

@ -1217,6 +1217,7 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val,
break;
#if defined(CPUARM)
case TELEM_RX_VOLTAGE-1:
val *= 5;
#if LCD_W >= 212
att |= PREC2;
#else

View file

@ -1610,7 +1610,7 @@ PLAY_FUNCTION(playValue, uint8_t idx)
break;
case MIXSRC_FIRST_TELEM+TELEM_RX_VOLTAGE-1:
if (TELEMETRY_STREAMING()) {
PLAY_NUMBER(div10_and_round(val), 1+UNIT_VOLTS, PREC1);
PLAY_NUMBER(val/2, 1+UNIT_VOLTS, PREC1);
}
break;
#endif

View file

@ -129,7 +129,7 @@ void FrskyValueWithMinMax::set(uint8_t value, uint8_t unit)
#if defined(CPUARM)
inline bool rxBattAlarmRaised(uint8_t alarm)
{
return g_model.rxBattAlarms[alarm] > 0 && frskyData.analog[TELEM_ANA_RxBatt].value < 5*g_model.rxBattAlarms[alarm];
return g_model.rxBattAlarms[alarm] > 0 && frskyData.analog[TELEM_ANA_RxBatt].value < g_model.rxBattAlarms[alarm];
}
inline bool alarmRaised(uint8_t channel, uint8_t idx)
{

View file

@ -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), UNIT_VOLTS);
frskyData.analog[TELEM_ANA_RxBatt].set(SPORT_DATA_U32(packet)/5, UNIT_VOLTS);
}
else if ((appId >> 8) == 0) {
// The old FrSky IDs