bms ignition

This commit is contained in:
Lubos Petrovic
2020-12-23 23:12:58 +01:00
parent ff9e968d69
commit dfcaec7fe1
5 changed files with 19 additions and 7 deletions

View File

@@ -1166,8 +1166,8 @@ void Board320_240::redrawScreen() {
// SDCARD recording // SDCARD recording
/*liveData->params.sdcardRecording*/ /*liveData->params.sdcardRecording*/
if (liveData->settings.sdcardEnabled == 1) { if (liveData->settings.sdcardEnabled == 1) {
spr.fillCircle((displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED) ? 160 : 310, 10, 4, TFT_BLACK); spr.fillCircle((displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED) ? 140 : 310, 10, 4, TFT_BLACK);
spr.fillCircle((displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED) ? 160 : 310, 10, 3, spr.fillCircle((displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED) ? 140 : 310, 10, 3,
(liveData->params.sdcardInit == 1) ? (liveData->params.sdcardInit == 1) ?
(liveData->params.sdcardRecording) ? (liveData->params.sdcardRecording) ?
(strlen(liveData->params.sdcardFilename) != 0) ? (strlen(liveData->params.sdcardFilename) != 0) ?
@@ -1178,12 +1178,12 @@ void Board320_240::redrawScreen() {
); );
} }
if (gpsHwUart != NULL && (displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED)) { if (gpsHwUart != NULL && (displayScreen == SCREEN_SPEED || displayScreenAutoMode == SCREEN_SPEED)) {
spr.drawCircle(180, 10, 5, (gps.location.isValid()) ? TFT_GREEN : TFT_RED); spr.drawCircle(160, 10, 5, (gps.location.isValid()) ? TFT_GREEN : TFT_RED);
spr.setTextSize(1); spr.setTextSize(1);
spr.setTextColor((gps.location.isValid()) ? TFT_GREEN : TFT_WHITE, TFT_BLACK); spr.setTextColor((gps.location.isValid()) ? TFT_GREEN : TFT_WHITE, TFT_BLACK);
spr.setTextDatum(TL_DATUM); spr.setTextDatum(TL_DATUM);
sprintf(tmpStr1, "%d", liveData->params.gpsSat); sprintf(tmpStr1, "%d", liveData->params.gpsSat);
spr.drawString(tmpStr1, 194, 2, 2); spr.drawString(tmpStr1, 174, 2, 2);
} }

View File

@@ -111,7 +111,7 @@ void CarHyundaiIoniq::parseRowMerged() {
liveData->params.lastIgnitionOnTime = liveData->params.currentTime; liveData->params.lastIgnitionOnTime = liveData->params.currentTime;
} }
int32_t secDiff = liveData->params.currentTime - liveData->params.currentTime; int32_t secDiff = liveData->params.currentTime - liveData->params.currentTime;
if (liveData->commConnected && secDiff > 30 && secDiff < MONTH_SEC && !liveData->params.ignitionOn) if (liveData->commConnected && secDiff > 30 && secDiff < MONTH_SEC && !liveData->params.ignitionOn && !liveData->params.chargingOn)
liveData->params.automaticShutdownTimer = liveData->params.currentTime; liveData->params.automaticShutdownTimer = liveData->params.currentTime;
liveData->params.lightInfo = liveData->hexToDecFromResponse(18, 20, 1, false); liveData->params.lightInfo = liveData->hexToDecFromResponse(18, 20, 1, false);
liveData->params.headLights = (bitRead(liveData->params.lightInfo, 5) == 1); liveData->params.headLights = (bitRead(liveData->params.lightInfo, 5) == 1);

View File

@@ -129,7 +129,7 @@ void CarKiaEniro::parseRowMerged() {
liveData->params.lastIgnitionOnTime = liveData->params.currentTime; liveData->params.lastIgnitionOnTime = liveData->params.currentTime;
} }
int32_t secDiff = liveData->params.currentTime - liveData->params.currentTime; int32_t secDiff = liveData->params.currentTime - liveData->params.currentTime;
if (liveData->commConnected && secDiff > 30 && secDiff < MONTH_SEC && !liveData->params.ignitionOn) if (liveData->commConnected && secDiff > 30 && secDiff < MONTH_SEC && !liveData->params.ignitionOn && !liveData->params.chargingOn)
liveData->params.automaticShutdownTimer = liveData->params.currentTime; liveData->params.automaticShutdownTimer = liveData->params.currentTime;
liveData->params.lightInfo = liveData->hexToDecFromResponse(18, 20, 1, false); liveData->params.lightInfo = liveData->hexToDecFromResponse(18, 20, 1, false);
liveData->params.headLights = (bitRead(liveData->params.lightInfo, 5) == 1); liveData->params.headLights = (bitRead(liveData->params.lightInfo, 5) == 1);
@@ -207,6 +207,8 @@ void CarKiaEniro::parseRowMerged() {
//liveData->params.batTempC = liveData->hexToDecFromResponse(36, 38, 1, true); //liveData->params.batTempC = liveData->hexToDecFromResponse(36, 38, 1, true);
//liveData->params.batMaxC = liveData->hexToDecFromResponse(34, 36, 1, true); //liveData->params.batMaxC = liveData->hexToDecFromResponse(34, 36, 1, true);
//liveData->params.batMinC = liveData->hexToDecFromResponse(36, 38, 1, true); //liveData->params.batMinC = liveData->hexToDecFromResponse(36, 38, 1, true);
tempByte = liveData->hexToDecFromResponse(106, 108, 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) // 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]; liveData->params.batMinC = liveData->params.batMaxC = liveData->params.batModuleTempC[0];

View File

@@ -108,7 +108,9 @@ void CarRenaultZoe::activateCommandQueue() {
// //
liveData->params.batModuleTempCount = 12; // 24, 12 is display limit liveData->params.batModuleTempCount = 12; // 24, 12 is display limit
liveData->params.batteryTotalAvailableKWh = 28; liveData->params.batteryTotalAvailableKWh = 22;
// usable 22, total 26
// Empty and fill command queue // Empty and fill command queue
for (int i = 0; i < 300; i++) { for (int i = 0; i < 300; i++) {

View File

@@ -194,6 +194,14 @@ typedef struct {
// ================================= // =================================
byte gpsHwSerialPort; // 255-off, 0,1,2 - hw serial byte gpsHwSerialPort; // 255-off, 0,1,2 - hw serial
byte gprsHwSerialPort; // 255-off, 0,1,2 - hw serial byte gprsHwSerialPort; // 255-off, 0,1,2 - hw serial
// === settings version 6
// =================================
byte serialConsolePort; // 255-off, 0 - hw serial (std)
byte debugLevel; // 0 - info only, 1 - debug communication (BLE/CAN), 2 - debug GSM, 3 - debug SDcard
uint16_t sdcardLogIntervalSec; // every x seconds
uint16_t gprsLogIntervalSec; // every x seconds
// //
} SETTINGS_STRUC; } SETTINGS_STRUC;