rgbwifi/src/strip.cpp

37 lines
853 B
C++

/*
* ESP8266 RGBW controller
* Copyright 2020 (c) Mark van Renswoude
*
* https://git.x2software.net/pub/RGBWifi
*/
#include "./strip.h"
#include <Math.h>
#include <FS.h>
#include "./debug.h"
#include "./global.h"
NeoGamma<NeoGammaTableMethod> colorGamma;
RgbwColor clearColor(0);
void Strip::init(uint16_t ledCount)
{
mBus = new NeoPixelBus<NeoGrbwFeature, Neo800KbpsMethod>(ledCount);
mBus->Begin();
setStatic(clearColor);
}
void Strip::setStatic(const RgbwColor color)
{
_d("Strip :: setStatic, color = "); _d(color.R); _d(","); _d(color.G); _d(","); _d(color.B); _d(","); _dln(color.W);
RgbwColor corrected = colorGamma.Correct(color);
_d("Strip :: setStatic, gamma corrected = "); _d(corrected.R); _d(","); _d(corrected.G); _d(","); _d(corrected.B); _d(","); _dln(corrected.W);
mBus->ClearTo(corrected);
mBus->Show();
}