[ARM] mAh count can be stored when the radio is powered down between flights ( issue 186 )
This commit is contained in:
@@ -964,6 +964,11 @@ void eeLoadModel(uint8_t id)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
if(g_model.frsky.mAhPersistent)
|
||||
frskyData.hub.currentConsumption = g_model.frsky.storedMah;
|
||||
#endif
|
||||
|
||||
LOAD_MODEL_CURVES();
|
||||
|
||||
resumeMixerCalculations();
|
||||
|
||||
+10
-1
@@ -5167,6 +5167,9 @@ enum menuModelTelemetryItems {
|
||||
#endif
|
||||
ITEM_TELEMETRY_USR_VOLTAGE_SOURCE,
|
||||
ITEM_TELEMETRY_USR_CURRENT_SOURCE,
|
||||
#if defined(CPUARM)
|
||||
ITEM_TELEMTETRY_PERSISTENT_MAH,
|
||||
#endif
|
||||
IF_VARIO(ITEM_TELEMETRY_VARIO_LABEL)
|
||||
#if defined(VARIO)
|
||||
ITEM_TELEMETRY_VARIO_SOURCE,
|
||||
@@ -5246,7 +5249,7 @@ enum menuModelTelemetryItems {
|
||||
|
||||
void menuModelTelemetry(uint8_t event)
|
||||
{
|
||||
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX+1, {0, CHANNEL_ROWS CHANNEL_ROWS RSSI_ROWS USRDATA_LINES 0, 0, IF_VARIO(LABEL(Vario)) IF_VARIO(0) IF_VARIO(VARIO_RANGE_ROWS) CASE_PCBTARANIS(LABEL(TopBar)) CASE_PCBTARANIS(0) SCREEN_TYPE_ROWS, 2, 2, 2, 2, SCREEN_TYPE_ROWS, 2, 2, 2, 2, IF_CPUARM(SCREEN_TYPE_ROWS) IF_CPUARM(2) IF_CPUARM(2) IF_CPUARM(2) IF_CPUARM(2) });
|
||||
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX+1, {0, CHANNEL_ROWS CHANNEL_ROWS RSSI_ROWS USRDATA_LINES 0, 0, IF_CPUARM(0) IF_VARIO(LABEL(Vario)) IF_VARIO(0) IF_VARIO(VARIO_RANGE_ROWS) CASE_PCBTARANIS(LABEL(TopBar)) CASE_PCBTARANIS(0) SCREEN_TYPE_ROWS, 2, 2, 2, 2, SCREEN_TYPE_ROWS, 2, 2, 2, 2, IF_CPUARM(SCREEN_TYPE_ROWS) IF_CPUARM(2) IF_CPUARM(2) IF_CPUARM(2) IF_CPUARM(2) });
|
||||
|
||||
uint8_t sub = m_posVert - 1;
|
||||
|
||||
@@ -5417,6 +5420,12 @@ void menuModelTelemetry(uint8_t event)
|
||||
if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, g_model.frsky.currentSource, 3);
|
||||
break;
|
||||
|
||||
#if defined(CPUARM)
|
||||
case ITEM_TELEMTETRY_PERSISTENT_MAH:
|
||||
g_model.frsky.mAhPersistent = onoffMenuItem(g_model.frsky.mAhPersistent, TELEM_COL2, y, STR_PERSISTENT_MAH, attr, event);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(VARIO)
|
||||
case ITEM_TELEMETRY_VARIO_LABEL:
|
||||
lcd_putsLeft(y, STR_VARIO);
|
||||
|
||||
@@ -986,6 +986,8 @@ PACK(typedef struct t_FrSkyData {
|
||||
int8_t varioMin;
|
||||
int8_t varioMax;
|
||||
FrSkyRSSIAlarm rssiAlarms[2];
|
||||
uint16_t mAhPersistent:1;
|
||||
uint16_t storedMah:15;
|
||||
}) FrSkyData;
|
||||
#else
|
||||
#define MAX_FRSKY_SCREENS 2
|
||||
|
||||
@@ -4138,6 +4138,17 @@ void opentxClose()
|
||||
hapticOff();
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
if((g_model.frsky.mAhPersistent) && (g_model.frsky.storedMah != frskyData.hub.currentConsumption)) {
|
||||
g_model.frsky.storedMah = frskyData.hub.currentConsumption;
|
||||
eeDirty(EE_MODEL);
|
||||
}
|
||||
else if((!g_model.frsky.mAhPersistent) && (g_model.frsky.storedMah != 0)){
|
||||
g_model.frsky.storedMah = 0;
|
||||
eeDirty(EE_MODEL);
|
||||
}
|
||||
#endif
|
||||
|
||||
saveTimers();
|
||||
|
||||
#if defined(PCBSKY9X)
|
||||
|
||||
@@ -355,6 +355,7 @@ const pm_char STR_BEEP_VOLUME[] PROGMEM = INDENT TR_BEEP_VOLUME;
|
||||
const pm_char STR_WAV_VOLUME[] PROGMEM = INDENT TR_WAV_VOLUME;
|
||||
const pm_char STR_VARIO_VOLUME[] PROGMEM = INDENT TR_VARIO_VOLUME;
|
||||
const pm_char STR_BG_VOLUME[] PROGMEM = INDENT TR_BG_VOLUME;
|
||||
const pm_char STR_PERSISTENT_MAH[] PROGMEM = TR_PERSISTENT_MAH;
|
||||
#endif
|
||||
|
||||
#if defined(NAVIGATION_MENUS)
|
||||
|
||||
@@ -492,6 +492,7 @@ extern const pm_char STR_CURRENT[];
|
||||
extern const pm_char STR_WAV_VOLUME[];
|
||||
extern const pm_char STR_VARIO_VOLUME[];
|
||||
extern const pm_char STR_BG_VOLUME[];
|
||||
extern const pm_char STR_PERSISTENT_MAH[];
|
||||
#else
|
||||
#define LEN_CALIB_FIELDS PSIZE(TR_BATT_CALIB)
|
||||
#endif
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Rozsah kan\200l\211"
|
||||
#define TR_LOWALARM INDENT "N\204zk\212 Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritick\212 Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Rozsah kanálů"
|
||||
#define TR_LOWALARM INDENT "Nízký Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritický Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -662,6 +662,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Ausgangs Kan\201le"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -662,6 +662,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Ausgangs Kan\201le"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -666,6 +666,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Channel Range"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Authors (alphabetical order)
|
||||
* - Bertrand Songis <bsongis@gmail.com>
|
||||
* - Bernet Andre <bernet.andre@gmail.com>
|
||||
@@ -613,7 +613,7 @@
|
||||
#define TR_SD_TYPE "Tipo:"
|
||||
#define TR_SD_SPEED "Velocidad:"
|
||||
#define TR_SD_SECTORS "Sectores:"
|
||||
#define TR_SD_SIZE "Tamaño:"
|
||||
#define TR_SD_SIZE "Tama\201o:"
|
||||
#define TR_TYPE "Tipo"
|
||||
#define TR_GLOBAL_VARS "Global Variables"
|
||||
#define TR_GLOBAL_VAR "Global Variable"
|
||||
@@ -653,12 +653,13 @@
|
||||
#define TR_RESET_BTN "[Reset]"
|
||||
#define TR_SET "[Ajuste]"
|
||||
#define TR_TRAINER "Aprendiz"
|
||||
#define TR_ANTENNAPROBLEM CENTER "¡Problema antena TX!"
|
||||
#define TR_ANTENNAPROBLEM CENTER "¡Problema antena TX!"
|
||||
#define TR_MODELIDUSED TR("ID en uso", "ID modelo en uso")
|
||||
#define TR_MODULE INDENT "Modulo"
|
||||
#define TR_CHANNELRANGE INDENT "Gama de canales"
|
||||
#define TR_LOWALARM INDENT "Alarma baja"
|
||||
#define TR_CRITICALALARM INDENT "Alarma Critica"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Gama de canales"
|
||||
#define TR_LOWALARM INDENT "Alarma baja"
|
||||
#define TR_CRITICALALARM INDENT "Alarma Critica"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Plage de canaux"
|
||||
#define TR_LOWALARM INDENT "Alarme basse"
|
||||
#define TR_CRITICALALARM INDENT "Alarme critique"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Plage de canaux"
|
||||
#define TR_LOWALARM INDENT "Alarme basse"
|
||||
#define TR_CRITICALALARM INDENT "Alarme critique"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Numero Canali"
|
||||
#define TR_LOWALARM INDENT "Allarme Basso"
|
||||
#define TR_CRITICALALARM INDENT "Allarme Critico"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Numero Canali"
|
||||
#define TR_LOWALARM INDENT "Allarme Basso"
|
||||
#define TR_CRITICALALARM INDENT "Allarme Critico"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -660,6 +660,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Zakres kana\203u"
|
||||
#define TR_LOWALARM INDENT "Alarm niski"
|
||||
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -660,6 +660,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Zakres kanału"
|
||||
#define TR_LOWALARM INDENT "Alarm niski"
|
||||
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Channel Range"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Channel Range"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -662,6 +662,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Kanalomr\200de"
|
||||
#define TR_LOWALARM INDENT "L\200g-alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
@@ -662,6 +662,7 @@
|
||||
#define TR_CHANNELRANGE INDENT "Kanalområde"
|
||||
#define TR_LOWALARM INDENT "Låg-alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
|
||||
#if defined(MAVLINK)
|
||||
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
|
||||
|
||||
Reference in New Issue
Block a user