diff --git a/Board320_240.cpp b/Board320_240.cpp index 0b1c706..bdf13a6 100644 --- a/Board320_240.cpp +++ b/Board320_240.cpp @@ -839,6 +839,7 @@ String Board320_240::menuItemCaption(int16_t menuItemId, String title) { case MENU_DEBUG_SCREEN: suffix = (liveData->settings.debugScreen == 1) ? "[on]" : "[off]"; break; case MENU_SCREEN_BRIGHTNESS: sprintf(tmpStr1, "[%d%%]", liveData->settings.lcdBrightness); suffix = (liveData->settings.lcdBrightness == 0) ? "[auto]" : tmpStr1; break; case MENU_PREDRAWN_GRAPHS: suffix = (liveData->settings.predrawnChargingGraphs == 1) ? "[on]" : "[off]"; break; + case MENU_HEADLIGHTS_REMINDER: suffix = (liveData->settings.headlightsReminder == 1) ? "[on]" : "[off]"; break; case MENU_GPRS: sprintf(tmpStr1, "[%s] %s", (liveData->settings.gprsEnabled == 1) ? "on": "off", liveData->settings.gprsApn); suffix = tmpStr1; break; // case MENU_DISTANCE_UNIT: suffix = (liveData->settings.distanceUnit == 'k') ? "[km]" : "[mi]"; break; @@ -989,6 +990,7 @@ void Board320_240::menuItemClick() { case 3044: liveData->settings.lcdBrightness = 100; showParentMenu = true; break; // Pre-drawn charg.graphs off/on case MENU_PREDRAWN_GRAPHS: liveData->settings.predrawnChargingGraphs = (liveData->settings.predrawnChargingGraphs == 1) ? 0 : 1; showMenu(); return; break; + case MENU_HEADLIGHTS_REMINDER: liveData->settings.headlightsReminder = (liveData->settings.headlightsReminder == 1) ? 0 : 1; showMenu(); return; break; // Distance case 4011: liveData->settings.distanceUnit = 'k'; showParentMenu = true; break; case 4012: liveData->settings.distanceUnit = 'm'; showParentMenu = true; break; @@ -1038,7 +1040,7 @@ void Board320_240::redrawScreen() { } // Lights not enabled - if (!testDataMode && liveData->params.forwardDriveMode && !liveData->params.headLights && !liveData->params.dayLights) { + if (!testDataMode && liveData->settings.headlightsReminder == 1 && liveData->params.forwardDriveMode && !liveData->params.headLights && !liveData->params.dayLights) { spr.fillSprite(TFT_RED); spr.setFreeFont(&Orbitron_Light_32); spr.setTextColor(TFT_WHITE, TFT_RED); diff --git a/BoardInterface.cpp b/BoardInterface.cpp index 12d9af8..100f931 100644 --- a/BoardInterface.cpp +++ b/BoardInterface.cpp @@ -120,6 +120,7 @@ void BoardInterface::loadSettings() { tmpStr.toCharArray(liveData->settings.remoteApiUrl, tmpStr.length() + 1); tmpStr = "example"; tmpStr.toCharArray(liveData->settings.remoteApiKey, tmpStr.length() + 1); + liveData->settings.headlightsReminder = 0; // Load settings and replace default values Serial.println("Reading settings from eeprom."); @@ -168,6 +169,7 @@ void BoardInterface::loadSettings() { tmpStr.toCharArray(liveData->tmpSettings.remoteApiUrl, tmpStr.length() + 1); tmpStr = "example"; tmpStr.toCharArray(liveData->tmpSettings.remoteApiKey, tmpStr.length() + 1); + liveData->settings.headlightsReminder = 0; } // Save upgraded structure @@ -178,9 +180,13 @@ void BoardInterface::loadSettings() { // Apply settings from flash if needed liveData->settings = liveData->tmpSettings; } +} -// void customConsoleCommand(String cmd); - +/** + * Custom commands + */ +void BoardInterface::customConsoleCommand(String cmd) { + } #endif // BOARDINTERFACE_CPP diff --git a/BoardInterface.h b/BoardInterface.h index 404d76e..bbcc580 100644 --- a/BoardInterface.h +++ b/BoardInterface.h @@ -45,7 +45,7 @@ class BoardInterface { void saveSettings(); void resetSettings(); void loadSettings(); -// void customConsoleCommand(String cmd); + void customConsoleCommand(String cmd); }; #endif // BOARDINTERFACE_H diff --git a/LiveData.h b/LiveData.h index 0731d16..acfcc3f 100644 --- a/LiveData.h +++ b/LiveData.h @@ -164,6 +164,8 @@ typedef struct { char remoteApiUrl[64]; char remoteApiKey[32]; // + bool headlightsReminder; + // } SETTINGS_STRUC; diff --git a/config.h b/config.h index dc8d9cd..4eecfd5 100644 --- a/config.h +++ b/config.h @@ -74,6 +74,7 @@ typedef struct { #define MENU_SCREEN_BRIGHTNESS 304 #define MENU_PREDRAWN_GRAPHS 305 #define MENU_GPRS 308 +#define MENU_HEADLIGHTS_REMINDER 310 #define MENU_DISTANCE_UNIT 401 #define MENU_TEMPERATURE_UNIT 402 #define MENU_PRESSURE_UNIT 403 diff --git a/evDash.ino b/evDash.ino index b2bdebb..9cba4f4 100644 --- a/evDash.ino +++ b/evDash.ino @@ -636,7 +636,7 @@ void loop() { if (Serial.available()) { ch = Serial.read(); if (ch == '\r' || ch == '\n') { -//board->customConsoleCommand(line); + board->customConsoleCommand(line); line = line + ch; Serial.println(line); liveData->pRemoteCharacteristicWrite->writeValue(line.c_str(), line.length()); diff --git a/menu.h b/menu.h index 45dd4e4..693554c 100644 --- a/menu.h +++ b/menu.h @@ -33,6 +33,8 @@ MENU_ITEM menuItemsSource[100] = { {307, 3, -1, "[DEV] SD card"}, {MENU_GPRS, 3, -1, "GPRS"}, {309, 3, -1, "[DEV] Remote upload"}, + {MENU_HEADLIGHTS_REMINDER, 3, -1, "Headlight reminder"}, + /* // Wifi byte wifiEnabled; // 0/1