From 57dc0c5d49627a80d7acc0df0c12420ba7c9c9aa Mon Sep 17 00:00:00 2001 From: Lubos Petrovic Date: Wed, 23 Dec 2020 10:04:29 +0100 Subject: [PATCH] ignt --- CarKiaEniro.cpp | 8 +++++--- LiveData.cpp | 3 +-- LiveData.h | 5 ++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CarKiaEniro.cpp b/CarKiaEniro.cpp index b346e91..51e3278 100644 --- a/CarKiaEniro.cpp +++ b/CarKiaEniro.cpp @@ -124,11 +124,13 @@ void CarKiaEniro::parseRowMerged() { if (liveData->currentAtshRequest.equals("ATSH770")) { if (liveData->commandRequest.equals("22BC03")) { tempByte = liveData->hexToDecFromResponse(16, 18, 1, false); - liveData->params.ignitionOnPrevious = liveData->params.ignitionOn; liveData->params.ignitionOn = (bitRead(tempByte, 5) == 1); - if (liveData->params.ignitionOnPrevious && !liveData->params.ignitionOn) + if (liveData->params.ignitionOn) { + liveData->params.lastIgnitionOnTime = liveData->params.currentTime; + } + int32_t secDiff = liveData->params.currentTime - liveData->params.currentTime; + if (secDiff > 30 && secDiff < MONTH_SEC && !liveData->params.ignitionOn) liveData->params.automaticShutdownTimer = liveData->params.currentTime; - liveData->params.lightInfo = liveData->hexToDecFromResponse(18, 20, 1, false); liveData->params.headLights = (bitRead(liveData->params.lightInfo, 5) == 1); liveData->params.dayLights = (bitRead(liveData->params.lightInfo, 3) == 1); diff --git a/LiveData.cpp b/LiveData.cpp index 51cc5e9..ad4d478 100644 --- a/LiveData.cpp +++ b/LiveData.cpp @@ -24,7 +24,7 @@ void LiveData::initParams() { params.gpsAlt = -1; // Car data params.ignitionOn = false; - params.ignitionOnPrevious = false; + params.lastIgnitionOnTime = 0; params.operationTimeSec = 0; params.chargingStartTime = params.currentTime = 0; params.lightInfo = 0; @@ -181,4 +181,3 @@ float LiveData::celsius2temperature(float inCelsius) { float LiveData::bar2pressure(float inBar) { return (settings.pressureUnit == 'b') ? inBar : inBar * 14.503773800722; } - diff --git a/LiveData.h b/LiveData.h index 9fcb256..77606c6 100644 --- a/LiveData.h +++ b/LiveData.h @@ -33,6 +33,9 @@ #define SCREEN_CHARGING 5 #define SCREEN_SOC10 6 +// +#define MONTH_SEC 2678400 + // Structure with realtime values typedef struct { // System @@ -54,7 +57,7 @@ typedef struct { char sdcardFilename[32]; // Car params bool ignitionOn; - bool ignitionOnPrevious; + time_t lastIgnitionOnTime; uint64_t operationTimeSec; bool sdcardCanNotify; bool forwardDriveMode;