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) #if defined(CPUARM)
case ITEM_TELEMETRY_RXBATT_LABEL: case ITEM_TELEMETRY_RXBATT_LABEL:
lcd_putsLeft(y, "RxBatt"); 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; break;
case ITEM_TELEMETRY_RXBATT_ALARM1: case ITEM_TELEMETRY_RXBATT_ALARM1:
case ITEM_TELEMETRY_RXBATT_ALARM2: case ITEM_TELEMETRY_RXBATT_ALARM2:
{ {
uint8_t alarm = (k==ITEM_TELEMETRY_RXBATT_ALARM1 ? 0 : 1); uint8_t alarm = (k==ITEM_TELEMETRY_RXBATT_ALARM1 ? 0 : 1);
lcd_putsLeft(y, (alarm==0 ? STR_LOWALARM : STR_CRITICALALARM)); 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)) { 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, 255, EE_MODEL);
} }

View file

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

View file

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

View file

@ -129,7 +129,7 @@ void FrskyValueWithMinMax::set(uint8_t value, uint8_t unit)
#if defined(CPUARM) #if defined(CPUARM)
inline bool rxBattAlarmRaised(uint8_t alarm) 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) inline bool alarmRaised(uint8_t channel, uint8_t idx)
{ {

View file

@ -321,7 +321,7 @@ void frskySportProcessPacket(uint8_t *packet)
#endif #endif
} }
else if (appId == BATT_ID) { 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) { else if ((appId >> 8) == 0) {
// The old FrSky IDs // The old FrSky IDs