only link FastLED stuff when GWLED_FASTLED is defined
This commit is contained in:
parent
d63b4d1661
commit
55145726c3
|
@ -1,8 +1,19 @@
|
||||||
#include "GwLedTask.h"
|
#include "GwLedTask.h"
|
||||||
#include "GwHardware.h"
|
#include "GwHardware.h"
|
||||||
#include "GwApi.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"
|
#include "FastLED.h"
|
||||||
typedef enum {
|
typedef enum
|
||||||
|
{
|
||||||
LED_OFF,
|
LED_OFF,
|
||||||
LED_GREEN,
|
LED_GREEN,
|
||||||
LED_BLUE,
|
LED_BLUE,
|
||||||
|
@ -10,41 +21,38 @@ typedef enum {
|
||||||
LED_WHITE
|
LED_WHITE
|
||||||
} GwLedMode;
|
} GwLedMode;
|
||||||
|
|
||||||
static CRGB::HTMLColorCode colorFromMode(GwLedMode cmode){
|
static CRGB::HTMLColorCode colorFromMode(GwLedMode cmode)
|
||||||
switch(cmode){
|
{
|
||||||
case LED_BLUE:
|
switch (cmode)
|
||||||
return CRGB::Blue;
|
{
|
||||||
case LED_GREEN:
|
case LED_BLUE:
|
||||||
return CRGB::Green;
|
return CRGB::Blue;
|
||||||
case LED_RED:
|
case LED_GREEN:
|
||||||
return CRGB::Red;
|
return CRGB::Green;
|
||||||
case LED_WHITE:
|
case LED_RED:
|
||||||
return CRGB::White;
|
return CRGB::Red;
|
||||||
default:
|
case LED_WHITE:
|
||||||
return CRGB::Black;
|
return CRGB::White;
|
||||||
|
default:
|
||||||
|
return CRGB::Black;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void handleLeds(GwApi *api){
|
void handleLeds(GwApi *api)
|
||||||
GwLog *logger=api->getLogger();
|
{
|
||||||
#ifndef GWLED_FASTLED
|
GwLog *logger = api->getLogger();
|
||||||
LOG_DEBUG(GwLog::LOG,"currently only fastled handling");
|
|
||||||
delay(50);
|
|
||||||
vTaskDelete(NULL);
|
|
||||||
return;
|
|
||||||
#else
|
|
||||||
CRGB leds[1];
|
CRGB leds[1];
|
||||||
#ifdef GWLED_SCHEMA
|
#ifdef GWLED_SCHEMA
|
||||||
FastLED.addLeds<GWLED_TYPE,GWLED_PIN,(EOrder)GWLED_SCHEMA>(leds,1);
|
FastLED.addLeds<GWLED_TYPE, GWLED_PIN, (EOrder)GWLED_SCHEMA>(leds, 1);
|
||||||
#else
|
#else
|
||||||
FastLED.addLeds<GWLED_TYPE,GWLED_PIN>(leds,1);
|
FastLED.addLeds<GWLED_TYPE, GWLED_PIN>(leds, 1);
|
||||||
#endif
|
#endif
|
||||||
uint8_t brightness=api->getConfig()->getInt(GwConfigDefinitions::ledBrightness,128);
|
uint8_t brightness = api->getConfig()->getInt(GwConfigDefinitions::ledBrightness, 128);
|
||||||
GwLedMode currentMode=LED_GREEN;
|
GwLedMode currentMode = LED_GREEN;
|
||||||
leds[0]=colorFromMode(currentMode);
|
leds[0] = colorFromMode(currentMode);
|
||||||
FastLED.setBrightness(brightness);
|
FastLED.setBrightness(brightness);
|
||||||
FastLED.show();
|
FastLED.show();
|
||||||
LOG_DEBUG(GwLog::LOG,"led task started with mode %d, brightness=%d",(int)currentMode,(int)brightness);
|
LOG_DEBUG(GwLog::LOG, "led task started with mode %d, brightness=%d", (int)currentMode, (int)brightness);
|
||||||
int apiResult=0;
|
int apiResult = 0;
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
delay(50);
|
delay(50);
|
||||||
|
@ -77,5 +85,5 @@ void handleLeds(GwApi *api){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vTaskDelete(NULL);
|
vTaskDelete(NULL);
|
||||||
#endif
|
}
|
||||||
}
|
#endif
|
|
@ -1,8 +1,9 @@
|
||||||
#ifndef _GWLEDS_H
|
#ifndef _GWLEDS_H
|
||||||
#define _GWLEDS_H
|
#define _GWLEDS_H
|
||||||
#include "GwApi.h"
|
#include "GwApi.h"
|
||||||
//task function
|
//task init function
|
||||||
void handleLeds(GwApi *param);
|
|
||||||
|
|
||||||
DECLARE_USERTASK(handleLeds);
|
void initLeds(GwApi *param);
|
||||||
|
|
||||||
|
DECLARE_INITFUNCTION(initLeds);
|
||||||
#endif
|
#endif
|
Loading…
Reference in New Issue