Skip to content

Commit

Permalink
Changes for PR899 as Suggested by jeremypoulter to reuse MicroTasks f…
Browse files Browse the repository at this point in the history
…or ledBar animations. DEBUG calls cleaned
  • Loading branch information
jdgarcia99 committed Aug 30, 2024
1 parent 60dce0f commit d8ae1a6
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 28 deletions.
39 changes: 23 additions & 16 deletions src/LedManagerTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.h>
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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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);
}
Expand All @@ -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:
Expand Down Expand Up @@ -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;
7 changes: 0 additions & 7 deletions src/LedManagerTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
5 changes: 0 additions & 5 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down

0 comments on commit d8ae1a6

Please sign in to comment.