1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 14:25:11 +03:00

mAh was store two times on Tx shutdown

This commit is contained in:
Bertrand Songis 2014-02-10 16:17:47 +01:00
parent 9ac30369e0
commit c205336fa6
2 changed files with 17 additions and 25 deletions

View file

@ -670,7 +670,7 @@ void menuModelFailsafe(uint8_t event)
uint8_t ch;
if (event == EVT_KEY_LONG(KEY_ENTER) && s_editMode) {
s_noHi = NO_HI_LEN;
s_noHi = NO_HI_LEN;
g_model.moduleData[g_moduleIdx].failsafeChannels[m_posVert] = channelOutputs[m_posVert];
eeDirty(EE_MODEL);
AUDIO_WARNING1();

View file

@ -4365,8 +4365,10 @@ void opentxClose()
hapticOff();
#endif
saveTimers();
#if defined(CPUARM) && defined(FRSKY)
if((g_model.frsky.mAhPersistent) && (g_model.frsky.storedMah != frskyData.hub.currentConsumption)) {
if ((g_model.frsky.mAhPersistent) && (g_model.frsky.storedMah != frskyData.hub.currentConsumption)) {
g_model.frsky.storedMah = frskyData.hub.currentConsumption;
eeDirty(EE_MODEL);
}
@ -4375,21 +4377,25 @@ void opentxClose()
eeDirty(EE_MODEL);
}
#endif
saveTimers();
#if defined(PCBSKY9X)
uint32_t mAhUsed = g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.currentCalib) / 8192 / 36;
if (g_eeGeneral.mAhUsed != mAhUsed)
if (g_eeGeneral.mAhUsed != mAhUsed) {
g_eeGeneral.mAhUsed = mAhUsed;
}
#endif
#if defined(CPUARM) && !defined(REVA)
if (sessionTimer > 0)
g_eeGeneral.globalTimer += sessionTimer;
#if defined(PCBTARANIS)
if ((g_model.nPotsToWarn >> 6) == 2) {
for (uint8_t i=0; i<NUM_POTS ; i++)
if (!(g_model.nPotsToWarn & (1 << i)))
g_model.potPosition[i] = getValue(MIXSRC_FIRST_POT+i) >> 3;
eeDirty(EE_MODEL);
}
#endif
g_eeGeneral.unexpectedShutdown = 0;
eeDirty(EE_GENERAL);
eeCheck(true);
}
@ -4981,23 +4987,9 @@ void saveTimers()
}
}
#if !defined(CPUM2560)
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
#if defined(PCBTARANIS)
if((g_model.nPotsToWarn >> 6) == 2) {
for (uint8_t i=0; i<NUM_POTS ; i++)
if(!(g_model.nPotsToWarn & (1 << i)))
g_model.potPosition[i] = getValue(MIXSRC_FIRST_POT+i) >> 3;
eeDirty(EE_MODEL);
#if defined(CPUARM) && !defined(REVA)
if (sessionTimer > 0) {
g_eeGeneral.globalTimer += sessionTimer;
}
#endif
}