diff --git a/README.md b/README.md index 7040b05..6930855 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Screen list ### v1.7.1 2020-09-16 - added new screen 1 - auto mode - - automatically shows screen 3 - speed when speed is >20kph + - automatically shows screen 3 - speed when speed is >5kph - screen 5 chargin graph when power kw > 1kW - added bat.fan status and fan feedback in Hz for Ioniq diff --git a/car_debug_obd2_kia.h b/car_debug_obd2_kia.h index 36a7510..53a69f7 100644 --- a/car_debug_obd2_kia.h +++ b/car_debug_obd2_kia.h @@ -240,6 +240,8 @@ bool parseRowMergedDebugObd2Kia() { if (currentAtshRequest.equals("ATSH7E2")) { if (commandRequest.equals("2101")) { params.speedKmh = hexToDec(responseRowMerged.substring(32, 36).c_str(), 2, false) * 0.0155; // / 100.0 *1.609 = real to gps is 1.750 + if (params.speedKmh < -99 || params.speedKmh > 200) + params.speedKmh = 0; } if (commandRequest.equals("2102")) { params.auxPerc = hexToDec(responseRowMerged.substring(50, 52).c_str(), 1, false); diff --git a/car_hyundai_ioniq.h b/car_hyundai_ioniq.h index e0e3874..7dbd266 100644 --- a/car_hyundai_ioniq.h +++ b/car_hyundai_ioniq.h @@ -83,6 +83,8 @@ bool parseRowMergedHyundaiIoniq() { if (currentAtshRequest.equals("ATSH7E2")) { if (commandRequest.equals("2101")) { params.speedKmh = hexToDec(responseRowMerged.substring(32, 36).c_str(), 2, false) * 0.0155; // / 100.0 *1.609 = real to gps is 1.750 + if (params.speedKmh < -99 || params.speedKmh > 200) + params.speedKmh = 0; } if (commandRequest.equals("2102")) { params.auxPerc = hexToDec(responseRowMerged.substring(50, 52).c_str(), 1, false); diff --git a/car_kia_eniro.h b/car_kia_eniro.h index d132b27..9b41fd2 100644 --- a/car_kia_eniro.h +++ b/car_kia_eniro.h @@ -85,6 +85,8 @@ bool parseRowMergedKiaENiro() { if (currentAtshRequest.equals("ATSH7E2")) { if (commandRequest.equals("2101")) { params.speedKmh = hexToDec(responseRowMerged.substring(32, 36).c_str(), 2, false) * 0.0155; // / 100.0 *1.609 = real to gps is 1.750 + if (params.speedKmh < -99 || params.speedKmh > 200) + params.speedKmh = 0; } if (commandRequest.equals("2102")) { params.auxPerc = hexToDec(responseRowMerged.substring(50, 52).c_str(), 1, false); diff --git a/dist/enirodashboard.ino.bin b/dist/enirodashboard.ino.bin index 82cfe46..b8e137a 100644 Binary files a/dist/enirodashboard.ino.bin and b/dist/enirodashboard.ino.bin differ diff --git a/enirodashboard.ino b/enirodashboard.ino index a345a90..c512305 100644 --- a/enirodashboard.ino +++ b/enirodashboard.ino @@ -83,6 +83,7 @@ char tmpStr4[20]; // Screens, buttons #define displayScreenCount 6 byte displayScreen = 1; // 0 - blank screen, 1 - automatic mode, 2 - dash board (default), 3 - big speed + kwh/100, 4 - battery cells, 5 - charging graph, 6 - soc10% CED table +byte displayScreenAutoMode = 0; bool btnLeftPressed = true; bool btnMiddlePressed = true; bool btnRightPressed = true; @@ -1125,13 +1126,25 @@ bool redrawScreen(bool force) { tft.fillScreen(TFT_BLACK); } - // 1. Auto mode = >20kpm Screen 3 - speed, other wise basic Screen2 - Main screen, if charging then Screen 5 Graph + // 1. Auto mode = >5kpm Screen 3 - speed, other wise basic Screen2 - Main screen, if charging then Screen 5 Graph if (displayScreen == 1) { - if (params.speedKmh > 20) { + if (params.speedKmh > 5) { + if (displayScreenAutoMode != 3) { + tft.fillScreen(TFT_BLACK); + displayScreenAutoMode = 3; + } drawSceneSpeed(force); } else if (params.batPowerKw > 1) { + if (displayScreenAutoMode != 5) { + tft.fillScreen(TFT_BLACK); + displayScreenAutoMode = 5; + } drawSceneChargingGraph(force); } else { + if (displayScreenAutoMode != 2) { + tft.fillScreen(TFT_BLACK); + displayScreenAutoMode = 2; + } drawSceneMain(force); } }