only link FastLED stuff when GWLED_FASTLED is defined

This commit is contained in:
andreas 2024-09-19 19:51:28 +02:00
parent d63b4d1661
commit 55145726c3
2 changed files with 45 additions and 36 deletions

View File

@ -1,8 +1,19 @@
#include "GwLedTask.h"
#include "GwHardware.h"
#include "GwApi.h"
void handleLeds(GwApi *api);
void initLeds(GwApi *param)
{
#ifdef GWLED_FASTLED
param->addUserTask(handleLeds, "handleLeds");
#endif
}
#ifdef GWLED_FASTLED
#include "FastLED.h"
typedef enum {
typedef enum
{
LED_OFF,
LED_GREEN,
LED_BLUE,
@ -10,8 +21,10 @@ typedef enum {
LED_WHITE
} GwLedMode;
static CRGB::HTMLColorCode colorFromMode(GwLedMode cmode){
switch(cmode){
static CRGB::HTMLColorCode colorFromMode(GwLedMode cmode)
{
switch (cmode)
{
case LED_BLUE:
return CRGB::Blue;
case LED_GREEN:
@ -24,14 +37,9 @@ static CRGB::HTMLColorCode colorFromMode(GwLedMode cmode){
return CRGB::Black;
}
}
void handleLeds(GwApi *api){
void handleLeds(GwApi *api)
{
GwLog *logger = api->getLogger();
#ifndef GWLED_FASTLED
LOG_DEBUG(GwLog::LOG,"currently only fastled handling");
delay(50);
vTaskDelete(NULL);
return;
#else
CRGB leds[1];
#ifdef GWLED_SCHEMA
FastLED.addLeds<GWLED_TYPE, GWLED_PIN, (EOrder)GWLED_SCHEMA>(leds, 1);
@ -77,5 +85,5 @@ void handleLeds(GwApi *api){
}
}
vTaskDelete(NULL);
#endif
}
#endif

View File

@ -1,8 +1,9 @@
#ifndef _GWLEDS_H
#define _GWLEDS_H
#include "GwApi.h"
//task function
void handleLeds(GwApi *param);
//task init function
DECLARE_USERTASK(handleLeds);
void initLeds(GwApi *param);
DECLARE_INITFUNCTION(initLeds);
#endif