diff --git a/src/LedManagerTask.cpp b/src/LedManagerTask.cpp index 5ecacbef..5da6156c 100644 --- a/src/LedManagerTask.cpp +++ b/src/LedManagerTask.cpp @@ -36,6 +36,17 @@ Adafruit_NeoPixel strip = Adafruit_NeoPixel(NEO_PIXEL_LENGTH, NEO_PIXEL_PIN, NEO #elif defined(NEO_PIXEL_PIN) && defined(NEO_PIXEL_LENGTH) && defined(ENABLE_WS2812FX) #include WS2812FX ws2812fx = WS2812FX(NEO_PIXEL_LENGTH, NEO_PIXEL_PIN, NEO_GRB + NEO_KHZ800); + +class LedAnimatorTask : public MicroTasks::Task +{ + public: + void setup() { + } + unsigned long loop(MicroTasks::WakeReason reason) { + ws2812fx.service(); + return 40; + } +} animator; #endif #define FADE_STEP 16 @@ -186,7 +197,9 @@ void LedManagerTask::setup() //ws2812fx.setBrightness(this->brightness); DBUGF("Brightness: %d ", this->brightness); DBUGF("Brightness: %d ", brightness); + ws2812fx.start(); + MicroTask.startTask(&animator); #endif #if defined(RED_LED) && defined(GREEN_LED) && defined(BLUE_LED) @@ -274,14 +287,14 @@ unsigned long LedManagerTask::loop(MicroTasks::WakeReason reason) DBUGVAR(lcdCol); uint32_t col = status_colour_map(lcdCol); DBUGVAR(col, HEX); - //DEBUG.printf("Color: %x\n", col); + //DBUGF("Color: %x\n", col); bool isCharging; u_int16_t speed; speed = 2000 - ((_evse->getChargeCurrent()/_evse->getMaxHardwareCurrent())*1000); - DEBUG.printf("Speed: %d ",speed); - DEBUG.printf("Amps: %d ", _evse->getAmps()); - DEBUG.printf("ChargeCurrent: %d ", _evse->getChargeCurrent()); - DEBUG.printf("MaxHWCurrent: %d ", _evse->getMaxHardwareCurrent()); + DBUGF("Speed: %d ",speed); + DBUGF("Amps: %d ", _evse->getAmps()); + DBUGF("ChargeCurrent: %d ", _evse->getChargeCurrent()); + DBUGF("MaxHWCurrent: %d ", _evse->getMaxHardwareCurrent()); if (this->brightness == 0){ ws2812fx.setBrightness(255); } @@ -298,29 +311,29 @@ unsigned long LedManagerTask::loop(MicroTasks::WakeReason reason) else { setAllRGB(col, FX_MODE_STATIC, DEFAULT_FX_SPEED); } - //DEBUG.printf("MODO: LedState_Evse_State\n"); + //DBUGF("MODE: LedState_Evse_State\n"); return MicroTask.Infinate; case LedState_WiFi_Access_Point_Waiting: setEvseAndWifiRGB(col, FX_MODE_BLINK, CONNECTING_FX_SPEED); - //DEBUG.printf("MODO: LedState_WiFi_Access_Point_Waiting\n"); + //DBUGF("MODE: LedState_WiFi_Access_Point_Waiting\n"); return CONNECTING_FLASH_TIME; case LedState_WiFi_Access_Point_Connected: setEvseAndWifiRGB(col, FX_MODE_FADE, CONNECTED_FX_SPEED); flashState = !flashState; - //DEBUG.printf("MODO: LedState_WiFi_Access_Point_Connected\n"); + //DBUGF("MODE: LedState_WiFi_Access_Point_Connected\n"); return CONNECTED_FLASH_TIME; case LedState_WiFi_Client_Connecting: setEvseAndWifiRGB(col, FX_MODE_FADE, CONNECTING_FX_SPEED); flashState = !flashState; - //DEBUG.printf("MODO: LedState_WiFi_Client_Connecting\n"); + //DBUGF("MODE: LedState_WiFi_Client_Connecting\n"); return CONNECTING_FLASH_TIME; case LedState_WiFi_Client_Connected: setEvseAndWifiRGB(col, FX_MODE_FADE, CONNECTED_FX_SPEED); - //DEBUG.printf("MODO: LedState_WiFi_Client_Connected\n"); + //DBUGF("MODOE: LedState_WiFi_Client_Connected\n"); return MicroTask.Infinate; default: @@ -745,11 +758,5 @@ void LedManagerTask::setBrightness(uint8_t brightness) MicroTask.wakeTask(this); } -#if defined(NEO_PIXEL_PIN) && defined(NEO_PIXEL_LENGTH) && defined(ENABLE_WS2812FX) -void LedManagerTask::service() -{ - ws2812fx.service(); -} -#endif LedManagerTask ledManager; \ No newline at end of file diff --git a/src/LedManagerTask.h b/src/LedManagerTask.h index f08a5f21..61d05d85 100644 --- a/src/LedManagerTask.h +++ b/src/LedManagerTask.h @@ -78,13 +78,6 @@ class LedManagerTask : public MicroTasks::Task int getButtonPressed(); void setBrightness(uint8_t brightness); -#if defined(NEO_PIXEL_PIN) && defined(NEO_PIXEL_LENGTH) && defined(ENABLE_WS2812FX) -// ------------------------------------------------------------------- -// Perform the background status bar operations. Must be called in the main -// loop function -// ------------------------------------------------------------------- - void service(); -#endif }; extern LedManagerTask ledManager; diff --git a/src/main.cpp b/src/main.cpp index f25928a0..cf77d485 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -215,11 +215,6 @@ loop() { MicroTask.update(); Profile_End(MicroTask, 10); -#if defined(NEO_PIXEL_PIN) && defined(NEO_PIXEL_LENGTH) && defined(ENABLE_WS2812FX) - // Call ws2812fx service method to update ledbar effect - ledManager.service(); -#endif - if(OpenEVSE.isConnected()) { if(OPENEVSE_STATE_STARTING != evse.getEvseState())