From f394cb0e43dbc47d1d95de703eaac937c82396e6 Mon Sep 17 00:00:00 2001 From: norbert-walter Date: Sat, 6 Jan 2024 15:26:53 +0100 Subject: [PATCH] Flash LED is working but blinking is not working --- lib/obp60task/OBP60Extensions.cpp | 17 ++++++++--------- lib/obp60task/OBPSensorTask.cpp | 2 +- lib/obp60task/PageVoltage.cpp | 1 + lib/obp60task/obp60task.cpp | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/obp60task/OBP60Extensions.cpp b/lib/obp60task/OBP60Extensions.cpp index 559bab2..926343e 100644 --- a/lib/obp60task/OBP60Extensions.cpp +++ b/lib/obp60task/OBP60Extensions.cpp @@ -39,6 +39,7 @@ CRGB backlight[NUM_BACKLIGHT_LED]; // Backlight // Global vars bool blinkingLED = false; // Enable / disable blinking flash LED bool statusLED = false; // Actual status of flash LED on/off + int uvDuration = 0; // Under voltage duration in n x 100ms void hardwareInit() @@ -49,9 +50,6 @@ void hardwareInit() // Init RGB LEDs FastLED.addLeds(fled, NUM_FLASH_LED); FastLED.addLeds(backlight, NUM_BACKLIGHT_LED); - FastLED.setBrightness(255); - fled[0] = CRGB::Red; - FastLED.show(); // Init PCF8574 digital outputs Wire.setClock(I2C_SPEED); // Set I2C clock on 10 kHz @@ -63,7 +61,7 @@ void hardwareInit() if(ds1388.begin()){ uint year = ds1388.now().year(); if(year < 2023){ - ds1388.adjust(DateTime(__DATE__, __TIME__)); // Set date and time from PC file time + ds1388.adjust(DateTime(__DATE__, __TIME__)); // Set date and time from PC file time } } } @@ -82,10 +80,10 @@ void setFlashLED(bool status){ statusLED = status; FastLED.setBrightness(255); // Brightness for flash LED if(statusLED == true){ - fled[0] = CRGB::Red; // Backlight LED on in red + fled[0] = CRGB::Red; // Flash LED on in red } else{ - fled[0] = CRGB::Black; // Backlight LED off + fled[0] = CRGB::Black; // Flash LED off } FastLED.show(); } @@ -95,10 +93,10 @@ void blinkingFlashLED(){ statusLED != statusLED; FastLED.setBrightness(255); // Brightness for flash LED if(statusLED == true){ - fled[0] = CRGB::Red; // Backlight LED on in red + fled[0] = CRGB::Red; // Flash LED on in red } else{ - fled[0] = CRGB::Black; // Backlight LED off + fled[0] = CRGB::Black; // Flash LED off } FastLED.show(); } @@ -114,13 +112,14 @@ void buzzer(uint frequency, uint duration){ if(frequency > 8000){ // Max 8000Hz frequency = 8000; } - if(buzzerpower > 100){ // Max 100% + if(buzzerpower > 100){ // Max 100% buzzerpower = 100; } if(duration > 1000){ // Max 1000ms duration = 1000; } + // Using LED PWM function for sound generation pinMode(OBP_BUZZER, OUTPUT); ledcSetup(0, frequency, 8); // Ch 0, ferquency in Hz, 8 Bit resolution of PWM ledcAttachPin(OBP_BUZZER, 0); diff --git a/lib/obp60task/OBPSensorTask.cpp b/lib/obp60task/OBPSensorTask.cpp index 6d2cbed..ee22e38 100644 --- a/lib/obp60task/OBPSensorTask.cpp +++ b/lib/obp60task/OBPSensorTask.cpp @@ -357,7 +357,7 @@ void sensorTask(void *param){ } } - // Send data from environment sensor all 1s + // Send data from environment sensor all 2s if(millis() > starttime6 + 2000){ starttime6 = millis(); unsigned char TempSource = 2; // Inside temperature diff --git a/lib/obp60task/PageVoltage.cpp b/lib/obp60task/PageVoltage.cpp index 83f8a8d..4302371 100644 --- a/lib/obp60task/PageVoltage.cpp +++ b/lib/obp60task/PageVoltage.cpp @@ -95,6 +95,7 @@ public: // Limits for Pb battery if(String(batType) == "Pb" && (raw < 11.8 || raw > 14.8)){ setBlinkingLED(true); + setFlashLED(true); } if(String(batType) == "Pb" && (raw >= 11.8 && raw <= 14.8)){ setBlinkingLED(false); diff --git a/lib/obp60task/obp60task.cpp b/lib/obp60task/obp60task.cpp index fe09a1d..417a0e3 100644 --- a/lib/obp60task/obp60task.cpp +++ b/lib/obp60task/obp60task.cpp @@ -394,11 +394,11 @@ void OBP60Task(GwApi *api){ // If GPS fix then LED off (HDOP) if(String(gpsFix) == "GPS Fix Lost" && date->valid == true){ - setPortPin(OBP_FLASH_LED, false); + setFlashLED(false); } // Ifmissing GPS fix then LED on if(String(gpsFix) == "GPS Fix Lost" && date->valid == false){ - setPortPin(OBP_FLASH_LED, true); + setFlashLED(true); } // Check the keyboard message