From 035b0902a7476e58f0124455b86343c873642bde Mon Sep 17 00:00:00 2001 From: Crash_Override Date: Mon, 22 Apr 2024 00:29:34 +0200 Subject: [PATCH] Fix led behavior --- platformio.ini | 8 ++++---- src/main.cpp | 24 +++++++++++++----------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/platformio.ini b/platformio.ini index 9871a49..56674d3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -10,19 +10,19 @@ [env:nodemcu-32s-dev] platform = espressif32 -board = nodemcu-32s +board = esp32dev framework = arduino monitor_speed = 115200 monitor_filters = esp32_exception_decoder -upload_speed = 115200 +;upload_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=5 lib_deps = fastled/FastLED@^3.6.0 [env:nodemcu-32s-prod] platform = espressif32 -board = nodemcu-32s +board = esp32dev framework = arduino monitor_speed = 115200 -upload_speed = 115200 +;upload_speed = 115200 build_flags = -DCORE_DEBUG_LEVEL=3 lib_deps = fastled/FastLED@^3.6.0 diff --git a/src/main.cpp b/src/main.cpp index ae8b5bf..b0c0269 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -66,8 +66,12 @@ unsigned long standbyStartTime = 0; // Tracks the start time of standby mode // Internal variables bool serial_init = false; bool can_enabled = false; -bool led_status = false; int serial_ping = 0; +// LED variables +bool led_status = false; +bool led_standby_blink = false; +long led_interval = 1000; +unsigned long led_previousMillis = 0; // Function to initialize CAN bus void initCAN() @@ -409,31 +413,29 @@ void vSerialConsoleTask(void *pvParameters) ESP_LOGI("Serial Console", "Ping, Time %d s", millis() / 1000); } - unsigned long previousMillis = 0; - long interval = 1000; - if (standbyState) { led[0] = CRGB::Yellow; - interval = 500; + led_interval = 500; } else if (ignitionState) { led[0] = CRGB::Green; - interval = 250; + led_interval = 250; } else if (!ignitionState) { led[0] = CRGB::Red; - interval = 1000; + led_interval = 1000; } unsigned long currentMillis = millis(); - if (currentMillis - previousMillis >= interval) + + if (currentMillis - led_previousMillis >= led_interval) { - previousMillis = currentMillis; + led_previousMillis = currentMillis; if (led_status) { - FastLED.setBrightness(25); + FastLED.setBrightness(0); led_status = false; } else @@ -453,7 +455,7 @@ void setup() Serial.setTimeout(5000); ESP_LOGI("SYS", "Easylink CAN Waker application starting up..."); - //TCAN Enable CAN Interface + // TCAN Enable CAN Interface pinMode(16, OUTPUT); digitalWrite(16, HIGH);