37 lines
853 B
C++
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();
|
|
}
|