From 612bc034b1e2c571b17b546ff2dde010ffe7d5eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kolac=C3=AD?= Date: Mon, 28 Dec 2020 20:46:43 +0100 Subject: [PATCH] Fix lastChargingOnTime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin KolacĂ­ --- Board320_240.cpp | 4 ++-- CarHyundaiIoniq.cpp | 3 +++ CarKiaEniro.cpp | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Board320_240.cpp b/Board320_240.cpp index 0c1eda6..0782972 100644 --- a/Board320_240.cpp +++ b/Board320_240.cpp @@ -1499,8 +1499,8 @@ void Board320_240::mainLoop() { setBrightness((liveData->settings.lcdBrightness == 0) ? 100 : liveData->settings.lcdBrightness); } - // Go to sleep when car is off for more than 10s and not charging - if (liveData->params.currentTime - liveData->params.lastIgnitionOnTime > 10 && liveData->params.currentTime - liveData->params.lastIgnitionOnTime < MONTH_SEC + // Go to sleep when car is off for more than 30s and not charging (AC charger is disabled for few seconds when ignition is turned off) + if (liveData->params.currentTime - liveData->params.lastIgnitionOnTime > 30 && liveData->params.currentTime - liveData->params.lastIgnitionOnTime < MONTH_SEC && !liveData->params.chargingOn && liveData->params.lastIgnitionOnTime != 0 && liveData->settings.sleepModeEnabled) diff --git a/CarHyundaiIoniq.cpp b/CarHyundaiIoniq.cpp index 8db4c76..d2fad5e 100644 --- a/CarHyundaiIoniq.cpp +++ b/CarHyundaiIoniq.cpp @@ -185,6 +185,9 @@ void CarHyundaiIoniq::parseRowMerged() { tempByte = liveData->hexToDecFromResponse(22, 24, 1, false); liveData->params.chargingOn = (bitRead(tempByte, 5) == 1 || bitRead(tempByte, 6) == 1); // bit 5 = AC; bit 6 = DC + if(liveData->params.chargingOn) { + liveData->params.lastChargingOnTime = liveData->params.currentTime; + } // This is more accurate than min/max from BMS. It's required to detect kona/eniro cold gates (min 15C is needed > 43kW charging, min 25C is needed > 58kW charging) liveData->params.batInletC = liveData->hexToDecFromResponse(48, 50, 1, true); diff --git a/CarKiaEniro.cpp b/CarKiaEniro.cpp index d33a168..d99e49d 100644 --- a/CarKiaEniro.cpp +++ b/CarKiaEniro.cpp @@ -237,6 +237,9 @@ void CarKiaEniro::parseRowMerged() { // liveData->params.chargingOn = (bitRead(tempByte, 2) == 1); tempByte = liveData->hexToDecFromResponse(24, 26, 1, false); liveData->params.chargingOn = (bitRead(tempByte, 5) == 1 || bitRead(tempByte, 6) == 1); // bit 5 = AC; bit 6 = DC + if(liveData->params.chargingOn) { + liveData->params.lastChargingOnTime = liveData->params.currentTime; + } // This is more accurate than min/max from BMS. It's required to detect kona/eniro cold gates (min 15C is needed > 43kW charging, min 25C is needed > 58kW charging) liveData->params.batMinC = liveData->params.batMaxC = liveData->params.batModuleTempC[0];