From ff9e968d697e4acdb3e117498e7dc04e29918dbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kolac=C3=AD?= Date: Wed, 23 Dec 2020 22:37:50 +0100 Subject: [PATCH] chargingOn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin KolacĂ­ --- CarHyundaiIoniq.cpp | 3 +++ LiveData.cpp | 1 + LiveData.h | 1 + 3 files changed, 5 insertions(+) diff --git a/CarHyundaiIoniq.cpp b/CarHyundaiIoniq.cpp index 8154c06..a2a945f 100644 --- a/CarHyundaiIoniq.cpp +++ b/CarHyundaiIoniq.cpp @@ -174,6 +174,9 @@ void CarHyundaiIoniq::parseRowMerged() { //liveData->params.batMaxC = liveData->hexToDecFromResponse(32, 34, 1, true); //liveData->params.batMinC = liveData->hexToDecFromResponse(34, 36, 1, true); + tempByte = liveData->hexToDecFromResponse(104, 106, 1, false); + liveData->params.chargingOn = (bitRead(tempByte, 2) == 1); + // 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); if (liveData->params.speedKmh < 10 && liveData->params.batPowerKw >= 1 && liveData->params.socPerc > 0 && liveData->params.socPerc <= 100) { diff --git a/LiveData.cpp b/LiveData.cpp index ad4d478..0ba42ef 100644 --- a/LiveData.cpp +++ b/LiveData.cpp @@ -27,6 +27,7 @@ void LiveData::initParams() { params.lastIgnitionOnTime = 0; params.operationTimeSec = 0; params.chargingStartTime = params.currentTime = 0; + params.chargingOn = false; params.lightInfo = 0; params.headLights = false; params.dayLights = false; diff --git a/LiveData.h b/LiveData.h index cacfa2d..ad04119 100644 --- a/LiveData.h +++ b/LiveData.h @@ -58,6 +58,7 @@ typedef struct { char sdcardFilename[32]; // Car params bool ignitionOn; + bool chargingOn; time_t lastIgnitionOnTime; uint64_t operationTimeSec; bool sdcardCanNotify;