kopia lustrzana https://github.com/Aircoookie/WLED
Updated UI with all new palettes
FastLED effects now have default palettes per effect Fire2012 can now use Palettes Option for palette blending added Added new Palettespull/57/head
rodzic
2466c5a204
commit
4b31610169
|
@ -1918,67 +1918,6 @@ uint16_t WS2812FX::mode_lightning(void)
|
|||
}
|
||||
|
||||
|
||||
// WLED limitation: Analog Clock overlay will NOT work when Fire2012 is active
|
||||
// Fire2012 by Mark Kriegsman, July 2012
|
||||
// as part of "Five Elements" shown here: http://youtu.be/knWiGsmgycY
|
||||
////
|
||||
// This basic one-dimensional 'fire' simulation works roughly as follows:
|
||||
// There's a underlying array of 'heat' cells, that model the temperature
|
||||
// at each point along the line. Every cycle through the simulation,
|
||||
// four steps are performed:
|
||||
// 1) All cells cool down a little bit, losing heat to the air
|
||||
// 2) The heat from each cell drifts 'up' and diffuses a little
|
||||
// 3) Sometimes randomly new 'sparks' of heat are added at the bottom
|
||||
// 4) The heat from each cell is rendered as a color into the leds array
|
||||
// The heat-to-color mapping uses a black-body radiation approximation.
|
||||
//
|
||||
// Temperature is in arbitrary units from 0 (cold black) to 255 (white hot).
|
||||
//
|
||||
// This simulation scales it self a bit depending on NUM_LEDS; it should look
|
||||
// "OK" on anywhere from 20 to 100 LEDs without too much tweaking.
|
||||
//
|
||||
// I recommend running this simulation at anywhere from 30-100 frames per second,
|
||||
// meaning an interframe delay of about 10-35 milliseconds.
|
||||
//
|
||||
// Looks best on a high-density LED setup (60+ pixels/meter).
|
||||
//
|
||||
//
|
||||
// There are two main parameters you can play with to control the look and
|
||||
// feel of your fire: COOLING (used in step 1 above), and SPARKING (used
|
||||
// in step 3 above) (Effect Intensity = Sparking).
|
||||
//
|
||||
// COOLING: How much does the air cool as it rises?
|
||||
// Less cooling = taller flames. More cooling = shorter flames.
|
||||
// Default 50, suggested range 20-100
|
||||
#define COOLING 75
|
||||
|
||||
uint16_t WS2812FX::mode_fire_2012(void)
|
||||
{
|
||||
// Step 1. Cool down every cell a little
|
||||
for( int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
_locked[i] = qsub8(_locked[i], random8(0, ((COOLING * 10) / SEGMENT_LENGTH) + 2));
|
||||
}
|
||||
|
||||
// Step 2. Heat from each cell drifts 'up' and diffuses a little
|
||||
for( int k= SEGMENT.stop; k >= SEGMENT.start + 2; k--) {
|
||||
_locked[k] = (_locked[k - 1] + _locked[k - 2] + _locked[k - 2] ) / 3;
|
||||
}
|
||||
|
||||
// Step 3. Randomly ignite new 'sparks' of heat near the bottom
|
||||
if( random8() <= SEGMENT.intensity ) {
|
||||
int y = SEGMENT.start + random8(7);
|
||||
if (y <= SEGMENT.stop) _locked[y] = qadd8(_locked[y], random8(160,255) );
|
||||
}
|
||||
|
||||
// Step 4. Map from heat cells to LED colors
|
||||
for( int j = SEGMENT.start; j <= SEGMENT.stop; j++) {
|
||||
CRGB color = HeatColor(_locked[j]);
|
||||
setPixelColor(j, color.red, color.green, color.blue);
|
||||
}
|
||||
return 10 + (uint16_t)(255 - SEGMENT.speed)/6;
|
||||
}
|
||||
|
||||
|
||||
// Pride2015
|
||||
// Animated, ever-changing rainbows.
|
||||
// by Mark Kriegsman: https://gist.github.com/kriegsman/964de772d64c502760e5
|
||||
|
@ -2060,7 +1999,21 @@ void WS2812FX::handle_palette(void)
|
|||
|
||||
switch (SEGMENT.palette)
|
||||
{
|
||||
case 0: {//periodically replace palette with a random one. Doesn't work with multiple FastLED segments
|
||||
case 0: {//default palette. Differs depending on effect
|
||||
switch (SEGMENT.mode)
|
||||
{
|
||||
case FX_MODE_FIRE_2012 : targetPalette = gGradientPalettes[22]; break;//heat palette
|
||||
case FX_MODE_COLORWAVES : targetPalette = gGradientPalettes[13]; break;//landscape 33
|
||||
case FX_MODE_FILLNOISE8 : targetPalette = OceanColors_p; break;
|
||||
case FX_MODE_NOISE16_1 : targetPalette = gGradientPalettes[17]; break;//Drywet
|
||||
case FX_MODE_NOISE16_2 : targetPalette = gGradientPalettes[30]; break;//Blue cyan yellow
|
||||
case FX_MODE_NOISE16_3 : targetPalette = gGradientPalettes[22]; break;//heat palette
|
||||
case FX_MODE_NOISE16_4 : targetPalette = gGradientPalettes[13]; break;//landscape 33
|
||||
|
||||
default: targetPalette = PartyColors_p; break;//palette, bpm
|
||||
}
|
||||
break;}
|
||||
case 1: {//periodically replace palette with a random one. Doesn't work with multiple FastLED segments
|
||||
if (!singleSegmentMode)
|
||||
{
|
||||
targetPalette = PartyColors_p; break; //fallback
|
||||
|
@ -2074,13 +2027,13 @@ void WS2812FX::handle_palette(void)
|
|||
CHSV(random8(), 255, random8(128, 255)));
|
||||
_lastPaletteChange = millis();
|
||||
} break;}
|
||||
case 1: {//primary color only
|
||||
case 2: {//primary color only
|
||||
CRGB prim;
|
||||
prim.red = (SEGMENT.colors[0] >> 16 & 0xFF);
|
||||
prim.green = (SEGMENT.colors[0] >> 8 & 0xFF);
|
||||
prim.blue = (SEGMENT.colors[0] & 0xFF);
|
||||
targetPalette = CRGBPalette16(prim); break;}
|
||||
case 2: {//based on primary
|
||||
case 3: {//based on primary
|
||||
//considering performance implications
|
||||
CRGB prim;
|
||||
prim.red = (SEGMENT.colors[0] >> 16 & 0xFF);
|
||||
|
@ -2090,10 +2043,10 @@ void WS2812FX::handle_palette(void)
|
|||
targetPalette = CRGBPalette16(
|
||||
CHSV(prim_hsv.h, prim_hsv.s, prim_hsv.v), //color itself
|
||||
CHSV(prim_hsv.h, max(prim_hsv.s - 50,0), prim_hsv.v), //less saturated
|
||||
CHSV(prim_hsv.h, prim_hsv.s, max(prim_hsv.h - 50,0)), //darker
|
||||
CHSV(prim_hsv.h, prim_hsv.s, max(prim_hsv.v - 50,0)), //darker
|
||||
CHSV(prim_hsv.h, prim_hsv.s, prim_hsv.v)); //color itself
|
||||
break;}
|
||||
case 3: {//primary + secondary
|
||||
case 4: {//primary + secondary
|
||||
CRGB prim;
|
||||
prim.red = (SEGMENT.colors[0] >> 16 & 0xFF);
|
||||
prim.green = (SEGMENT.colors[0] >> 8 & 0xFF);
|
||||
|
@ -2102,8 +2055,8 @@ void WS2812FX::handle_palette(void)
|
|||
sec.red = (SEGMENT.colors[1] >> 16 & 0xFF);
|
||||
sec.green = (SEGMENT.colors[1] >> 8 & 0xFF);
|
||||
sec.blue = (SEGMENT.colors[1] & 0xFF);
|
||||
targetPalette = CRGBPalette16(prim,sec,prim); break;}
|
||||
case 4: {//based on primary + secondary
|
||||
targetPalette = CRGBPalette16(sec,prim); break;}
|
||||
case 5: {//based on primary + secondary
|
||||
CRGB prim;
|
||||
prim.red = (SEGMENT.colors[0] >> 16 & 0xFF);
|
||||
prim.green = (SEGMENT.colors[0] >> 8 & 0xFF);
|
||||
|
@ -2112,35 +2065,28 @@ void WS2812FX::handle_palette(void)
|
|||
sec.red = (SEGMENT.colors[1] >> 16 & 0xFF);
|
||||
sec.green = (SEGMENT.colors[1] >> 8 & 0xFF);
|
||||
sec.blue = (SEGMENT.colors[1] & 0xFF);
|
||||
CHSV prim_hsv = rgb2hsv_approximate(prim);
|
||||
CHSV sec_hsv = rgb2hsv_approximate(sec );
|
||||
targetPalette = CRGBPalette16(
|
||||
CHSV(prim_hsv.h, prim_hsv.s, prim_hsv.v), //color itself
|
||||
CHSV(prim_hsv.h, max(prim_hsv.s - 50,0), prim_hsv.v), //less saturated
|
||||
CHSV(sec_hsv.h, sec_hsv.s, max(sec_hsv.v - 50,0)), //darker
|
||||
CHSV(sec_hsv.h, sec_hsv.s, sec_hsv.v)); //color itself
|
||||
break;}
|
||||
case 5: //Party colors
|
||||
targetPalette = CRGBPalette16(sec,prim,CRGB::White); break;}
|
||||
case 6: //Party colors
|
||||
targetPalette = PartyColors_p; break;
|
||||
case 6: //Cloud colors
|
||||
case 7: //Cloud colors
|
||||
targetPalette = CloudColors_p; break;
|
||||
case 7: //Lava colors
|
||||
case 8: //Lava colors
|
||||
targetPalette = LavaColors_p; break;
|
||||
case 8: //Ocean colors
|
||||
case 9: //Ocean colors
|
||||
targetPalette = OceanColors_p; break;
|
||||
case 9: //Forest colors
|
||||
case 10: //Forest colors
|
||||
targetPalette = ForestColors_p; break;
|
||||
case 10: //Rainbow colors
|
||||
case 11: //Rainbow colors
|
||||
targetPalette = RainbowColors_p; break;
|
||||
case 11: //Rainbow stripe colors
|
||||
case 12: //Rainbow stripe colors
|
||||
targetPalette = RainbowStripeColors_p; break;
|
||||
default: //progmem palettes
|
||||
targetPalette = gGradientPalettes[constrain(SEGMENT.palette -12, 0, gGradientPaletteCount -1)];
|
||||
targetPalette = gGradientPalettes[constrain(SEGMENT.palette -13, 0, gGradientPaletteCount -1)];
|
||||
}
|
||||
|
||||
if (singleSegmentMode && paletteFade) //only blend if just one segment uses FastLED mode
|
||||
{
|
||||
nblendPaletteTowardPalette(currentPalette, targetPalette, 42);
|
||||
nblendPaletteTowardPalette(currentPalette, targetPalette, 48);
|
||||
} else
|
||||
{
|
||||
currentPalette = targetPalette;
|
||||
|
@ -2152,18 +2098,84 @@ uint16_t WS2812FX::mode_palette(void)
|
|||
{
|
||||
handle_palette();
|
||||
CRGB fastled_col;
|
||||
bool noWrap = (paletteBlend == 2 || (paletteBlend == 0 && SEGMENT.speed == 0));
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++)
|
||||
{
|
||||
uint8_t colorIndex = map(i,SEGMENT.start,SEGMENT.stop,0,255) + (SEGMENT_RUNTIME.counter_mode_step >> 6 & 0xFF);
|
||||
fastled_col = ColorFromPalette( currentPalette, colorIndex, 255, LINEARBLEND);
|
||||
uint8_t colorIndex = map(i,SEGMENT.start,SEGMENT.stop,0,255) - (SEGMENT_RUNTIME.counter_mode_step >> 6 & 0xFF);
|
||||
|
||||
if (noWrap) colorIndex = map(colorIndex, 0, 255, 0, 240); //cut off blend at palette "end"
|
||||
|
||||
fastled_col = ColorFromPalette( currentPalette, colorIndex, 255, (paletteBlend == 3)? NOBLEND:LINEARBLEND);
|
||||
setPixelColor(i, fastled_col.red, fastled_col.green, fastled_col.blue);
|
||||
}
|
||||
SEGMENT_RUNTIME.counter_mode_step += SEGMENT.speed;
|
||||
SEGMENT_RUNTIME.counter_mode_step += SEGMENT.speed *2;
|
||||
if (SEGMENT.speed == 0) SEGMENT_RUNTIME.counter_mode_step = 0;
|
||||
return 20;
|
||||
}
|
||||
|
||||
|
||||
// WLED limitation: Analog Clock overlay will NOT work when Fire2012 is active
|
||||
// Fire2012 by Mark Kriegsman, July 2012
|
||||
// as part of "Five Elements" shown here: http://youtu.be/knWiGsmgycY
|
||||
////
|
||||
// This basic one-dimensional 'fire' simulation works roughly as follows:
|
||||
// There's a underlying array of 'heat' cells, that model the temperature
|
||||
// at each point along the line. Every cycle through the simulation,
|
||||
// four steps are performed:
|
||||
// 1) All cells cool down a little bit, losing heat to the air
|
||||
// 2) The heat from each cell drifts 'up' and diffuses a little
|
||||
// 3) Sometimes randomly new 'sparks' of heat are added at the bottom
|
||||
// 4) The heat from each cell is rendered as a color into the leds array
|
||||
// The heat-to-color mapping uses a black-body radiation approximation.
|
||||
//
|
||||
// Temperature is in arbitrary units from 0 (cold black) to 255 (white hot).
|
||||
//
|
||||
// This simulation scales it self a bit depending on NUM_LEDS; it should look
|
||||
// "OK" on anywhere from 20 to 100 LEDs without too much tweaking.
|
||||
//
|
||||
// I recommend running this simulation at anywhere from 30-100 frames per second,
|
||||
// meaning an interframe delay of about 10-35 milliseconds.
|
||||
//
|
||||
// Looks best on a high-density LED setup (60+ pixels/meter).
|
||||
//
|
||||
//
|
||||
// There are two main parameters you can play with to control the look and
|
||||
// feel of your fire: COOLING (used in step 1 above), and SPARKING (used
|
||||
// in step 3 above) (Effect Intensity = Sparking).
|
||||
//
|
||||
// COOLING: How much does the air cool as it rises?
|
||||
// Less cooling = taller flames. More cooling = shorter flames.
|
||||
// Default 50, suggested range 20-100
|
||||
#define COOLING 75
|
||||
|
||||
uint16_t WS2812FX::mode_fire_2012(void)
|
||||
{
|
||||
handle_palette();
|
||||
// Step 1. Cool down every cell a little
|
||||
for( int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
_locked[i] = qsub8(_locked[i], random8(0, ((COOLING * 10) / SEGMENT_LENGTH) + 2));
|
||||
}
|
||||
|
||||
// Step 2. Heat from each cell drifts 'up' and diffuses a little
|
||||
for( int k= SEGMENT.stop; k >= SEGMENT.start + 2; k--) {
|
||||
_locked[k] = (_locked[k - 1] + _locked[k - 2] + _locked[k - 2] ) / 3;
|
||||
}
|
||||
|
||||
// Step 3. Randomly ignite new 'sparks' of heat near the bottom
|
||||
if( random8() <= SEGMENT.intensity ) {
|
||||
int y = SEGMENT.start + random8(7);
|
||||
if (y <= SEGMENT.stop) _locked[y] = qadd8(_locked[y], random8(160,255) );
|
||||
}
|
||||
|
||||
// Step 4. Map from heat cells to LED colors
|
||||
for( int j = SEGMENT.start; j <= SEGMENT.stop; j++) {
|
||||
CRGB color = ColorFromPalette( currentPalette, min(_locked[j],240), 255, LINEARBLEND);
|
||||
setPixelColor(j, color.red, color.green, color.blue);
|
||||
}
|
||||
return 10 + (uint16_t)(255 - SEGMENT.speed)/6;
|
||||
}
|
||||
|
||||
|
||||
// ColorWavesWithPalettes by Mark Kriegsman: https://gist.github.com/kriegsman/8281905786e8b2632aeb
|
||||
// This function draws color waves with an ever-changing,
|
||||
// widely-varying set of parameters, using a color palette.
|
||||
|
@ -2229,7 +2241,7 @@ uint16_t WS2812FX::mode_bpm(void)
|
|||
handle_palette();
|
||||
CRGB fastled_col;
|
||||
uint8_t beat = beatsin8(SEGMENT.speed, 64, 255);
|
||||
for ( int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
fastled_col = ColorFromPalette(currentPalette, SEGMENT_RUNTIME.counter_mode_step + (i * 2), beat - SEGMENT_RUNTIME.counter_mode_step + (i * 10));
|
||||
setPixelColor(i, fastled_col.red, fastled_col.green, fastled_col.blue);
|
||||
}
|
||||
|
@ -2244,12 +2256,12 @@ uint16_t WS2812FX::mode_fillnoise8(void)
|
|||
if (SEGMENT_RUNTIME.counter_mode_call == 0) SEGMENT_RUNTIME.counter_mode_step = random(12345);
|
||||
handle_palette();
|
||||
CRGB fastled_col;
|
||||
for (int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
uint8_t index = inoise8(i * SEGMENT_LENGTH, SEGMENT_RUNTIME.counter_mode_step + i * SEGMENT_LENGTH) % 255;
|
||||
fastled_col = ColorFromPalette(currentPalette, index, 255, LINEARBLEND);
|
||||
setPixelColor(i, fastled_col.red, fastled_col.green, fastled_col.blue);
|
||||
}
|
||||
SEGMENT_RUNTIME.counter_mode_step += beatsin8(SEGMENT.speed, 1, 4); //10,1,4
|
||||
SEGMENT_RUNTIME.counter_mode_step += beatsin8(SEGMENT.speed, 1, 6); //10,1,4
|
||||
|
||||
return 20;
|
||||
}
|
||||
|
@ -2261,7 +2273,7 @@ uint16_t WS2812FX::mode_noise16_1(void)
|
|||
CRGB fastled_col;
|
||||
SEGMENT_RUNTIME.counter_mode_step += (1 + SEGMENT.speed/16);
|
||||
|
||||
for (int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
|
||||
uint16_t shift_x = beatsin8(11); // the x position of the noise field swings @ 17 bpm
|
||||
uint16_t shift_y = SEGMENT_RUNTIME.counter_mode_step/42; // the y position becomes slowly incremented
|
||||
|
@ -2290,7 +2302,7 @@ uint16_t WS2812FX::mode_noise16_2(void)
|
|||
CRGB fastled_col;
|
||||
SEGMENT_RUNTIME.counter_mode_step += (1 + SEGMENT.speed);
|
||||
|
||||
for (int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
|
||||
uint16_t shift_x = SEGMENT_RUNTIME.counter_mode_step >> 6; // x as a function of time
|
||||
uint16_t shift_y = SEGMENT_RUNTIME.counter_mode_step/42;
|
||||
|
@ -2318,7 +2330,7 @@ uint16_t WS2812FX::mode_noise16_3(void)
|
|||
CRGB fastled_col;
|
||||
SEGMENT_RUNTIME.counter_mode_step += (1 + SEGMENT.speed);
|
||||
|
||||
for (int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
|
||||
uint16_t shift_x = 4223; // no movement along x and y
|
||||
uint16_t shift_y = 1234;
|
||||
|
@ -2345,7 +2357,7 @@ uint16_t WS2812FX::mode_noise16_4(void)
|
|||
handle_palette();
|
||||
CRGB fastled_col;
|
||||
SEGMENT_RUNTIME.counter_mode_step += SEGMENT.speed;
|
||||
for (int i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i++) {
|
||||
int16_t index = inoise16(uint32_t(i - SEGMENT.start) << 12, SEGMENT_RUNTIME.counter_mode_step/8);
|
||||
fastled_col = ColorFromPalette(currentPalette, index);
|
||||
setPixelColor(i, fastled_col.red, fastled_col.green, fastled_col.blue);
|
||||
|
|
|
@ -148,10 +148,10 @@
|
|||
#define FX_MODE_RANDOM_CHASE 61
|
||||
#define FX_MODE_OSCILLATE 62
|
||||
//Modes that use FastLED -->
|
||||
#define FX_MODE_FIRE_2012 63
|
||||
#define FX_MODE_PRIDE_2015 64
|
||||
#define FX_MODE_JUGGLE 65
|
||||
#define FX_MODE_PALETTE 66
|
||||
#define FX_MODE_PRIDE_2015 63
|
||||
#define FX_MODE_JUGGLE 64
|
||||
#define FX_MODE_PALETTE 65
|
||||
#define FX_MODE_FIRE_2012 66
|
||||
#define FX_MODE_COLORWAVES 67
|
||||
#define FX_MODE_BPM 68
|
||||
#define FX_MODE_FILLNOISE8 69
|
||||
|
@ -271,7 +271,8 @@ class WS2812FX {
|
|||
_segments[0].speed = DEFAULT_SPEED;
|
||||
_reverseMode = false;
|
||||
_skipFirstMode = false;
|
||||
paletteFade = true;
|
||||
paletteFade = 0;
|
||||
paletteBlend = 0;
|
||||
_locked = NULL;
|
||||
_cronixieDigits = new byte[6];
|
||||
bus = new NeoPixelWrapper();
|
||||
|
@ -316,6 +317,8 @@ class WS2812FX {
|
|||
show(void);
|
||||
|
||||
uint8_t
|
||||
paletteFade,
|
||||
paletteBlend,
|
||||
getBrightness(void),
|
||||
getMode(void),
|
||||
getSpeed(void),
|
||||
|
@ -332,8 +335,6 @@ class WS2812FX {
|
|||
getPowerEstimate(uint16_t leds, uint32_t c, byte b),
|
||||
getSafePowerMultiplier(double safeMilliAmps, uint16_t leds, uint32_t c, byte b);
|
||||
|
||||
bool paletteFade;
|
||||
|
||||
WS2812FX::Segment
|
||||
getSegment(void);
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
uwv = false;
|
||||
}
|
||||
Cf.TX.selectedIndex = this.responseXML.getElementsByTagName('fx')[0].childNodes[0].nodeValue;
|
||||
Cf.FP.selectedIndex = this.responseXML.getElementsByTagName('fp')[0].childNodes[0].nodeValue;
|
||||
d.Cf.SX.value = this.responseXML.getElementsByTagName('sx')[0].childNodes[0].nodeValue;
|
||||
d.Cf.IX.value = this.responseXML.getElementsByTagName('ix')[0].childNodes[0].nodeValue;
|
||||
nla = (this.responseXML.getElementsByTagName('nl')[0].innerHTML)!=0?true:false;
|
||||
|
@ -171,8 +172,8 @@
|
|||
case 3: gId("path1").style.fill = aC; gId("path2").style.fill = aC;
|
||||
}
|
||||
tgb.style.fill=(Cf.SA.value>0)?aC:dC;
|
||||
fpX.style.display=(Cf.TX.selectedIndex>65)?"block":"none";
|
||||
fof.style.fill=(Cf.TX.selectedIndex>65)?aC:dC;
|
||||
fpX.style.display=(Cf.TX.selectedIndex>64)?"block":"none";
|
||||
fof.style.fill=(Cf.TX.selectedIndex>64)?aC:dC;
|
||||
fmr.style.fill=(Cf.TX.selectedIndex<1)?aC:dC;
|
||||
}
|
||||
function TgT()
|
||||
|
@ -194,7 +195,7 @@
|
|||
if (n==-1||n==74) return;
|
||||
Cf.TX.selectedIndex =n;
|
||||
if (n < 0) Cf.TX.selectedIndex = 0;
|
||||
if (n > 73) Cf.TX.selectedIndex = 66;
|
||||
if (n > 73) Cf.TX.selectedIndex = 65;
|
||||
GX();
|
||||
}
|
||||
function TgHSB()
|
||||
|
@ -648,10 +649,10 @@
|
|||
<option value="60">Scanner x2 (60)</option>
|
||||
<option value="61">Random Chase (61)</option>
|
||||
<option value="62">Oscillate (62)</option>
|
||||
<option value="63">Fire 2012 (63)</option>
|
||||
<option value="64">Pride 2015 (64)</option>
|
||||
<option value="65">Juggle (65)</option>
|
||||
<option value="66">Palette (66)</option>
|
||||
<option value="63">Pride 2015 (63)</option>
|
||||
<option value="64">Juggle (64)</option>
|
||||
<option value="65">Palette (65)</option>
|
||||
<option value="66">Fire 2012 (66)</option>
|
||||
<option value="67">Colorwaves (67)</option>
|
||||
<option value="68">BPM (68)</option>
|
||||
<option value="69">Fill Noise 8 (69)</option>
|
||||
|
@ -670,18 +671,51 @@
|
|||
<div id="fpX">
|
||||
<br>FastLED Palette<br><br>
|
||||
<select name="FP" onchange="GP()">
|
||||
<option value="0" selected>Random Cycle</option>
|
||||
<option value="1">Primary Color Only</option>
|
||||
<option value="2">Based on Primary</option>
|
||||
<option value="3">Set Colors Only</option>
|
||||
<option value="4">Based on Set Colors</option>
|
||||
<option value="5">Party Colors</option>
|
||||
<option value="6">Cloud Colors</option>
|
||||
<option value="7">Lava Colors</option>
|
||||
<option value="8">Ocean Colors</option>
|
||||
<option value="9">Forest Colors</option>
|
||||
<option value="10">Rainbow</option>
|
||||
<option value="11">Rainbow Stripe</option>
|
||||
<option value="0" selected>Default</option>
|
||||
<option value="1">Random Cycle</option>
|
||||
<option value="2">Primary Color Only</option>
|
||||
<option value="3">Based on Primary</option>
|
||||
<option value="4">Set Colors Only</option>
|
||||
<option value="5">Based on Set Colors</option>
|
||||
<option value="6">Party</option>
|
||||
<option value="7">Cloud</option>
|
||||
<option value="8">Lava</option>
|
||||
<option value="9">Ocean</option>
|
||||
<option value="10">Forest</option>
|
||||
<option value="11">Rainbow</option>
|
||||
<option value="12">Rainbow Stripe</option>
|
||||
<option value="13">Sunset</option>
|
||||
<option value="14">Rivendell</option>
|
||||
<option value="15">Breeze</option>
|
||||
<option value="16">Red & Blue</option>
|
||||
<option value="17">Yellowout</option>
|
||||
<option value="18">Analogous</option>
|
||||
<option value="19">Splash</option>
|
||||
<option value="20">Pastel</option>
|
||||
<option value="21">Sunset2</option>
|
||||
<option value="22">Beech</option>
|
||||
<option value="23">Vintage</option>
|
||||
<option value="24">Departure</option>
|
||||
<option value="25">Landscape</option>
|
||||
<option value="26">Beach</option>
|
||||
<option value="27">Sherbet</option>
|
||||
<option value="28">Hult</option>
|
||||
<option value="29">Hult64</option>
|
||||
<option value="30">Drywet</option>
|
||||
<option value="31">Jul</option>
|
||||
<option value="32">Grintage</option>
|
||||
<option value="33">Rewhi</option>
|
||||
<option value="34">Tertiary</option>
|
||||
<option value="35">Fire</option>
|
||||
<option value="36">Icefire</option>
|
||||
<option value="37">Cyane</option>
|
||||
<option value="38">Light Pink</option>
|
||||
<option value="39">Autumn</option>
|
||||
<option value="40">Magenta</option>
|
||||
<option value="41">Magred</option>
|
||||
<option value="42">Yelmag</option>
|
||||
<option value="43">Yelblu</option>
|
||||
<option value="44">Orange & Teal</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="slX" class="sl">
|
||||
|
|
|
@ -422,10 +422,10 @@
|
|||
<li onclick="X(60)">Dual Scanner</li>
|
||||
<li onclick="X(61)">Random Chase</li>
|
||||
<li onclick="X(62)">Oscillate</li>
|
||||
<li onclick="X(63)">Fire 2012</li>
|
||||
<li onclick="X(64)">Pride 2015</li>
|
||||
<li onclick="X(65)">Juggle</li>
|
||||
<li onclick="X(66)">Palette</li>
|
||||
<li onclick="X(63)">Pride 2015</li>
|
||||
<li onclick="X(64)">Juggle</li>
|
||||
<li onclick="X(65)">Palette</li>
|
||||
<li onclick="X(66)">Fire 2012</li>
|
||||
<li onclick="X(67)">Colorwaves</li>
|
||||
<li onclick="X(68)">BPM</li>
|
||||
<li onclick="X(69)">Fill Noise 8</li>
|
||||
|
@ -433,19 +433,53 @@
|
|||
<li onclick="X(71)">Noise 16 2</li>
|
||||
<li onclick="X(72)">Noise 16 3</li>
|
||||
<li onclick="X(73)">Noise 16 4</li>
|
||||
<li><a href="#">Go to top</a></li>
|
||||
<p style="margin-left:-37px">FastLED Palette (Effects 56-73)</p>
|
||||
<li onclick="P(0)">Random Change</li>
|
||||
<li onclick="P(1)">Primary Only</li>
|
||||
<li onclick="P(2)">Based on Primary</li>
|
||||
<li onclick="P(3)">Set Colors Only</li>
|
||||
<li onclick="P(4)">Based on Set</li>
|
||||
<li onclick="P(5)">Party</li>
|
||||
<li onclick="P(6)">Cloud</li>
|
||||
<li onclick="P(7)">Lava</li>
|
||||
<li onclick="P(8)">Ocean</li>
|
||||
<li onclick="P(9)">Forest</li>
|
||||
<li onclick="P(10)">Rainbow</li>
|
||||
<li onclick="P(11)">Rainbow Stripe</li>
|
||||
<li onclick="P(0)">Default</li>
|
||||
<li onclick="P(1)">Random Cycle</li>
|
||||
<li onclick="P(2)">Primary Color Only</li>
|
||||
<li onclick="P(3)">Based on Primary</li>
|
||||
<li onclick="P(4)">Set Colors Only</li>
|
||||
<li onclick="P(5)">Based on Set Colors</li>
|
||||
<li onclick="P(6)">Party</li>
|
||||
<li onclick="P(7)">Cloud</li>
|
||||
<li onclick="P(8)">Lava</li>
|
||||
<li onclick="P(9)">Ocean</li>
|
||||
<li onclick="P(10)">Forest</li>
|
||||
<li onclick="P(11)">Rainbow</li>
|
||||
<li onclick="P(12)">Rainbow Stripe</li>
|
||||
<li onclick="P(13)">Sunset</li>
|
||||
<li onclick="P(14)">Rivendell</li>
|
||||
<li onclick="P(15)">Breeze</li>
|
||||
<li onclick="P(16)">Red & Blue</li>
|
||||
<li onclick="P(17)">Yellowout</li>
|
||||
<li onclick="P(18)">Analogous</li>
|
||||
<li onclick="P(19)">Splash</li>
|
||||
<li onclick="P(20)">Pastel</li>
|
||||
<li onclick="P(21)">Sunset2</li>
|
||||
<li onclick="P(22)">Beech</li>
|
||||
<li onclick="P(23)">Vintage</li>
|
||||
<li onclick="P(24)">Departure</li>
|
||||
<li onclick="P(25)">Landscape</li>
|
||||
<li onclick="P(26)">Beach</li>
|
||||
<li onclick="P(27)">Sherbet</li>
|
||||
<li onclick="P(28)">Hult</li>
|
||||
<li onclick="P(29)">Hult64</li>
|
||||
<li onclick="P(30)">Drywet</li>
|
||||
<li onclick="P(31)">Jul</li>
|
||||
<li onclick="P(32)">Grintage</li>
|
||||
<li onclick="P(33)">Rewhi</li>
|
||||
<li onclick="P(34)">Tertiary</li>
|
||||
<li onclick="P(35)">Fire</li>
|
||||
<li onclick="P(36)">Icefire</li>
|
||||
<li onclick="P(37)">Cyane</li>
|
||||
<li onclick="P(38)">Light Pink</li>
|
||||
<li onclick="P(39)">Autumn</li>
|
||||
<li onclick="P(40)">Magenta</li>
|
||||
<li onclick="P(41)">Magred</li>
|
||||
<li onclick="P(42)">Yelmag</li>
|
||||
<li onclick="P(43)">Yelblu</li>
|
||||
<li onclick="P(44)">Orange & Teal</li>
|
||||
|
||||
<li><a href="#">Go to top</a></li></div>
|
||||
<iframe id="stf" onload="feedback();" style="display:none;"></iframe>
|
||||
|
|
Plik binarny nie jest wyświetlany.
164
wled00/htmls00.h
164
wled00/htmls00.h
File diff suppressed because one or more lines are too long
|
@ -86,7 +86,10 @@ const char PAGE_settings_leds1[] PROGMEM = R"=====(
|
|||
<h2>LED setup</h2>
|
||||
LED count: <input name="LC" type="number" min="1" max="1200" required><br>
|
||||
LEDs are 4-channel type (RGBW): <input type="checkbox" name="EW"><br>
|
||||
<br>
|
||||
Apply preset <input name="BP" type="number" min="0" max="25" required> at boot (0 uses defaults)<br>
|
||||
Turn on after power up/reset: <input type="checkbox" name="BO"><br>
|
||||
<br>
|
||||
Default RGB color:
|
||||
<input name="CR" type="number" min="0" max="255" required>
|
||||
<input name="CG" type="number" min="0" max="255" required>
|
||||
|
@ -105,12 +108,12 @@ Default secondary RGB(W):<br>
|
|||
<input name="SW" type="number" min="0" max="255" required><br>
|
||||
Ignore and use current color, brightness and effects: <input type="checkbox" name="IS"><br>
|
||||
Save current preset cycle configuration as boot default: <input type="checkbox" name="PC"><br>
|
||||
Turn on after power up/reset: <input type="checkbox" name="BO"><br>
|
||||
Use Gamma correction for brightness: <input type="checkbox" name="GB"><br>
|
||||
Use Gamma correction for color: <input type="checkbox" name="GC"><br>
|
||||
<br>
|
||||
Use Gamma correction for color: <input type="checkbox" name="GC"> (strongly recommended)<br>
|
||||
Use Gamma correction for brightness: <input type="checkbox" name="GB"> (not recommended)<br>
|
||||
Brightness factor: <input name="BF" type="number" min="0" max="255" required> %
|
||||
<h3>Transitions</h3>
|
||||
Fade: <input type="checkbox" name="TF"><br>
|
||||
Crossfade: <input type="checkbox" name="TF"><br>
|
||||
Transition Time: <input name="TD" maxlength="5" size="2"> ms<br>
|
||||
Enable transition for secondary color: <input type="checkbox" name="T2"><br>
|
||||
Enable Palette transitions: <input type="checkbox" name="PF">
|
||||
|
@ -119,6 +122,13 @@ Default Duration: <input name="TL" type="number" min="1" max="255" required> min
|
|||
Default Target brightness: <input name="TB" type="number" min="0" max="255" required><br>
|
||||
Fade down: <input type="checkbox" name="TW"><br>
|
||||
<h3>Advanced</h3>
|
||||
Palette blending:
|
||||
<select name="PB">
|
||||
<option value="0">Linear (wrap if moving)</option>
|
||||
<option value="1">Linear (always wrap)</option>
|
||||
<option value="2">Linear (never wrap)</option>
|
||||
<option value="3">None (not recommended)</option>
|
||||
</select><br>
|
||||
Reverse LED order (rotate 180): <input type="checkbox" name="RV"><br>
|
||||
Init LEDs after WiFi: <input type="checkbox" name="EI"><br>
|
||||
Skip first LED: <input type="checkbox" name="SL"><hr>
|
||||
|
|
|
@ -26,6 +26,7 @@ DEFINE_GRADIENT_PALETTE( es_vintage_57_gp ) {
|
|||
153, 167,135, 10,
|
||||
255, 46, 56, 4};
|
||||
|
||||
|
||||
// Gradient palette "es_vintage_01_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/vintage/tn/es_vintage_01.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -41,6 +42,7 @@ DEFINE_GRADIENT_PALETTE( es_vintage_01_gp ) {
|
|||
229, 4, 1, 1,
|
||||
255, 4, 1, 1};
|
||||
|
||||
|
||||
// Gradient palette "es_rivendell_15_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/rivendell/tn/es_rivendell_15.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -53,21 +55,24 @@ DEFINE_GRADIENT_PALETTE( es_rivendell_15_gp ) {
|
|||
242, 150,156, 99,
|
||||
255, 150,156, 99};
|
||||
|
||||
|
||||
// Gradient palette "rgi_15_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/ds/rgi/tn/rgi_15.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 36 bytes of program space.
|
||||
// Edited to be brighter
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( rgi_15_gp ) {
|
||||
0, 4, 1, 31,
|
||||
31, 55, 1, 16,
|
||||
63, 197, 3, 7,
|
||||
95, 59, 2, 17,
|
||||
127, 6, 2, 34,
|
||||
159, 39, 6, 33,
|
||||
191, 112, 13, 32,
|
||||
223, 56, 9, 35,
|
||||
255, 22, 6, 38};
|
||||
0, 4, 1, 70,
|
||||
31, 55, 1, 30,
|
||||
63, 255, 4, 7,
|
||||
95, 59, 2, 29,
|
||||
127, 11, 3, 50,
|
||||
159, 39, 8, 60,
|
||||
191, 112, 19, 40,
|
||||
223, 78, 11, 39,
|
||||
255, 29, 8, 59};
|
||||
|
||||
|
||||
// Gradient palette "retro2_16_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/ma/retro2/tn/retro2_16.png.index.html
|
||||
|
@ -78,6 +83,7 @@ DEFINE_GRADIENT_PALETTE( retro2_16_gp ) {
|
|||
0, 188,135, 1,
|
||||
255, 46, 7, 1};
|
||||
|
||||
|
||||
// Gradient palette "Analogous_1_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/red/tn/Analogous_1.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -90,6 +96,7 @@ DEFINE_GRADIENT_PALETTE( Analogous_1_gp ) {
|
|||
191, 142, 0, 45,
|
||||
255, 255, 0, 0};
|
||||
|
||||
|
||||
// Gradient palette "es_pinksplash_08_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/pink_splash/tn/es_pinksplash_08.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -102,45 +109,6 @@ DEFINE_GRADIENT_PALETTE( es_pinksplash_08_gp ) {
|
|||
221, 157, 3,112,
|
||||
255, 157, 3,112};
|
||||
|
||||
// Gradient palette "es_pinksplash_07_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/pink_splash/tn/es_pinksplash_07.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 28 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( es_pinksplash_07_gp ) {
|
||||
0, 229, 1, 1,
|
||||
61, 242, 4, 63,
|
||||
101, 255, 12,255,
|
||||
127, 249, 81,252,
|
||||
153, 255, 11,235,
|
||||
193, 244, 5, 68,
|
||||
255, 232, 1, 5};
|
||||
|
||||
// Gradient palette "Coral_reef_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/other/tn/Coral_reef.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 24 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Coral_reef_gp ) {
|
||||
0, 40,199,197,
|
||||
50, 10,152,155,
|
||||
96, 1,111,120,
|
||||
96, 43,127,162,
|
||||
139, 10, 73,111,
|
||||
255, 1, 34, 71};
|
||||
|
||||
// Gradient palette "es_ocean_breeze_068_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/ocean_breeze/tn/es_ocean_breeze_068.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 24 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( es_ocean_breeze_068_gp ) {
|
||||
0, 100,156,153,
|
||||
51, 1, 99,137,
|
||||
101, 1, 68, 84,
|
||||
104, 35,142,168,
|
||||
178, 0, 63,117,
|
||||
255, 1, 10, 10};
|
||||
|
||||
// Gradient palette "es_ocean_breeze_036_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/ocean_breeze/tn/es_ocean_breeze_036.png.index.html
|
||||
|
@ -153,6 +121,7 @@ DEFINE_GRADIENT_PALETTE( es_ocean_breeze_036_gp ) {
|
|||
153, 144,209,255,
|
||||
255, 0, 73, 82};
|
||||
|
||||
|
||||
// Gradient palette "departure_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/mjf/tn/departure.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -172,6 +141,7 @@ DEFINE_GRADIENT_PALETTE( departure_gp ) {
|
|||
212, 0, 55, 0,
|
||||
255, 0, 55, 0};
|
||||
|
||||
|
||||
// Gradient palette "es_landscape_64_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/landscape/tn/es_landscape_64.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -188,6 +158,7 @@ DEFINE_GRADIENT_PALETTE( es_landscape_64_gp ) {
|
|||
204, 59,117,250,
|
||||
255, 1, 37,192};
|
||||
|
||||
|
||||
// Gradient palette "es_landscape_33_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/landscape/tn/es_landscape_33.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -201,6 +172,7 @@ DEFINE_GRADIENT_PALETTE( es_landscape_33_gp ) {
|
|||
66, 39,142, 74,
|
||||
255, 1, 4, 1};
|
||||
|
||||
|
||||
// Gradient palette "rainbowsherbet_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/ma/icecream/tn/rainbowsherbet.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -215,6 +187,7 @@ DEFINE_GRADIENT_PALETTE( rainbowsherbet_gp ) {
|
|||
209, 42,255, 22,
|
||||
255, 87,255, 65};
|
||||
|
||||
|
||||
// Gradient palette "gr65_hult_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/hult/tn/gr65_hult.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -228,6 +201,7 @@ DEFINE_GRADIENT_PALETTE( gr65_hult_gp ) {
|
|||
216, 1,124,109,
|
||||
255, 1,124,109};
|
||||
|
||||
|
||||
// Gradient palette "gr64_hult_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/hult/tn/gr64_hult.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -243,6 +217,7 @@ DEFINE_GRADIENT_PALETTE( gr64_hult_gp ) {
|
|||
239, 0, 55, 45,
|
||||
255, 0, 55, 45};
|
||||
|
||||
|
||||
// Gradient palette "GMT_drywet_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/gmt/tn/GMT_drywet.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -257,6 +232,7 @@ DEFINE_GRADIENT_PALETTE( GMT_drywet_gp ) {
|
|||
212, 1, 1,111,
|
||||
255, 1, 7, 33};
|
||||
|
||||
|
||||
// Gradient palette "ib15_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/ing/general/tn/ib15.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -270,28 +246,19 @@ DEFINE_GRADIENT_PALETTE( ib15_gp ) {
|
|||
141, 137, 31, 39,
|
||||
255, 59, 33, 89};
|
||||
|
||||
// Gradient palette "Fuschia_7_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/ds/fuschia/tn/Fuschia-7.png.index.html
|
||||
|
||||
// Gradient palette "Tertiary_01_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/vermillion/tn/Tertiary_01.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 20 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Fuschia_7_gp ) {
|
||||
0, 43, 3,153,
|
||||
63, 100, 4,103,
|
||||
127, 188, 5, 66,
|
||||
191, 161, 11,115,
|
||||
255, 135, 20,182};
|
||||
DEFINE_GRADIENT_PALETTE( Tertiary_01_gp ) {
|
||||
0, 0, 1,255,
|
||||
63, 3, 68, 45,
|
||||
127, 23,255, 0,
|
||||
191, 100, 68, 1,
|
||||
255, 255, 1, 4};
|
||||
|
||||
// Gradient palette "es_emerald_dragon_08_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/emerald_dragon/tn/es_emerald_dragon_08.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 16 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( es_emerald_dragon_08_gp ) {
|
||||
0, 97,255, 1,
|
||||
101, 47,133, 1,
|
||||
178, 13, 43, 1,
|
||||
255, 2, 10, 1};
|
||||
|
||||
// Gradient palette "lava_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/neota/elem/tn/lava.png.index.html
|
||||
|
@ -313,20 +280,22 @@ DEFINE_GRADIENT_PALETTE( lava_gp ) {
|
|||
244, 255,255, 71,
|
||||
255, 255,255,255};
|
||||
|
||||
// Gradient palette "fire_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/neota/elem/tn/fire.png.index.html
|
||||
|
||||
// Gradient palette "fierce_ice_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/neota/elem/tn/fierce-ice.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 28 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( fire_gp ) {
|
||||
0, 1, 1, 0,
|
||||
76, 32, 5, 0,
|
||||
146, 192, 24, 0,
|
||||
197, 220,105, 5,
|
||||
240, 252,255, 31,
|
||||
250, 252,255,111,
|
||||
DEFINE_GRADIENT_PALETTE( fierce_ice_gp ) {
|
||||
0, 0, 0, 0,
|
||||
59, 0, 9, 45,
|
||||
119, 0, 38,255,
|
||||
149, 3,100,255,
|
||||
180, 23,199,255,
|
||||
217, 100,235,255,
|
||||
255, 255,255,255};
|
||||
|
||||
|
||||
// Gradient palette "Colorfull_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Colorfull.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -345,19 +314,6 @@ DEFINE_GRADIENT_PALETTE( Colorfull_gp ) {
|
|||
168, 100,180,155,
|
||||
255, 22,121,174};
|
||||
|
||||
// Gradient palette "Magenta_Evening_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Magenta_Evening.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 28 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Magenta_Evening_gp ) {
|
||||
0, 71, 27, 39,
|
||||
31, 130, 11, 51,
|
||||
63, 213, 2, 64,
|
||||
70, 232, 1, 66,
|
||||
76, 252, 1, 69,
|
||||
108, 123, 2, 51,
|
||||
255, 46, 9, 35};
|
||||
|
||||
// Gradient palette "Pink_Purple_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Pink_Purple.png.index.html
|
||||
|
@ -377,6 +333,7 @@ DEFINE_GRADIENT_PALETTE( Pink_Purple_gp ) {
|
|||
183, 128, 57,155,
|
||||
255, 146, 40,123};
|
||||
|
||||
|
||||
// Gradient palette "Sunset_Real_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Sunset_Real.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -391,6 +348,68 @@ DEFINE_GRADIENT_PALETTE( Sunset_Real_gp ) {
|
|||
198, 16, 0,130,
|
||||
255, 0, 0,160};
|
||||
|
||||
|
||||
// Gradient palette "Sunset_Yellow_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Sunset_Yellow.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 44 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Sunset_Yellow_gp ) {
|
||||
0, 10, 62,123,
|
||||
36, 56,130,103,
|
||||
87, 153,225, 85,
|
||||
100, 199,217, 68,
|
||||
107, 255,207, 54,
|
||||
115, 247,152, 57,
|
||||
120, 239,107, 61,
|
||||
128, 247,152, 57,
|
||||
180, 255,207, 54,
|
||||
223, 255,227, 48,
|
||||
255, 255,248, 42};
|
||||
|
||||
|
||||
// Gradient palette "Beech_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Beech.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 60 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Beech_gp ) {
|
||||
0, 255,252,214,
|
||||
12, 255,252,214,
|
||||
22, 255,252,214,
|
||||
26, 190,191,115,
|
||||
28, 137,141, 52,
|
||||
28, 112,255,205,
|
||||
50, 51,246,214,
|
||||
71, 17,235,226,
|
||||
93, 2,193,199,
|
||||
120, 0,156,174,
|
||||
133, 1,101,115,
|
||||
136, 1, 59, 71,
|
||||
136, 7,131,170,
|
||||
208, 1, 90,151,
|
||||
255, 0, 56,133};
|
||||
|
||||
|
||||
// Gradient palette "Another_Sunset_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/atmospheric/tn/Another_Sunset.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 32 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Another_Sunset_gp ) {
|
||||
0, 110, 49, 11,
|
||||
29, 55, 34, 10,
|
||||
68, 22, 22, 9,
|
||||
68, 239,124, 8,
|
||||
97, 220,156, 27,
|
||||
124, 203,193, 61,
|
||||
178, 33, 53, 56,
|
||||
255, 0, 1, 52};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Gradient palette "es_autumn_19_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/es/autumn/tn/es_autumn_19.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -411,6 +430,7 @@ DEFINE_GRADIENT_PALETTE( es_autumn_19_gp ) {
|
|||
249, 17, 1, 1,
|
||||
255, 17, 1, 1};
|
||||
|
||||
|
||||
// Gradient palette "BlacK_Blue_Magenta_White_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/BlacK_Blue_Magenta_White.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -425,6 +445,7 @@ DEFINE_GRADIENT_PALETTE( BlacK_Blue_Magenta_White_gp ) {
|
|||
212, 255, 55,255,
|
||||
255, 255,255,255};
|
||||
|
||||
|
||||
// Gradient palette "BlacK_Magenta_Red_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/BlacK_Magenta_Red.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -437,6 +458,7 @@ DEFINE_GRADIENT_PALETTE( BlacK_Magenta_Red_gp ) {
|
|||
191, 255, 0, 45,
|
||||
255, 255, 0, 0};
|
||||
|
||||
|
||||
// Gradient palette "BlacK_Red_Magenta_Yellow_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/BlacK_Red_Magenta_Yellow.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -451,6 +473,7 @@ DEFINE_GRADIENT_PALETTE( BlacK_Red_Magenta_Yellow_gp ) {
|
|||
212, 255, 55, 45,
|
||||
255, 255,255, 0};
|
||||
|
||||
|
||||
// Gradient palette "Blue_Cyan_Yellow_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/Blue_Cyan_Yellow.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
|
@ -464,73 +487,13 @@ DEFINE_GRADIENT_PALETTE( Blue_Cyan_Yellow_gp ) {
|
|||
255, 255,255, 0};
|
||||
|
||||
|
||||
//Custom palette by Aircoookie
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Gradient palette "BlacK_Blue_Cyan_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/BlacK_Blue_Cyan.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 20 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( BlacK_Blue_Cyan_gp ) {
|
||||
0, 0, 0, 0,
|
||||
63, 0, 0, 45,
|
||||
127, 0, 0,255,
|
||||
191, 0, 55,255,
|
||||
255, 0,255,255};
|
||||
|
||||
|
||||
// Gradient palette "BlacK_Blue_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/BlacK_Blue.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 12 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( BlacK_Blue_gp ) {
|
||||
0, 0, 0, 0,
|
||||
127, 0, 0, 45,
|
||||
255, 0, 0,255};
|
||||
|
||||
|
||||
// Gradient palette "Red_Black_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/Red_Black.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 12 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Red_Black_gp ) {
|
||||
0, 255, 0, 0,
|
||||
127, 42, 0, 0,
|
||||
255, 0, 0, 0};
|
||||
|
||||
|
||||
// Gradient palette "Yellow_Black_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/nd/basic/tn/Yellow_Black.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 12 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Yellow_Black_gp ) {
|
||||
0, 255,255, 0,
|
||||
127, 42, 55, 0,
|
||||
255, 0, 0, 0};
|
||||
|
||||
|
||||
// Gradient palette "bhw1_hello_gp", originally from
|
||||
// http://soliton.vm.bytemark.co.uk/pub/cpt-city/bhw/bhw1/tn/bhw1_hello.png.index.html
|
||||
// converted for FastLED with gammas (2.6, 2.2, 2.5)
|
||||
// Size: 32 bytes of program space.
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( bhw1_hello_gp ) {
|
||||
0, 237,156,197,
|
||||
35, 244,189,230,
|
||||
56, 255,255,255,
|
||||
79, 244,189,230,
|
||||
109, 237,156,197,
|
||||
160, 121,255,255,
|
||||
196, 255,255,255,
|
||||
255, 121,255,255};
|
||||
|
||||
DEFINE_GRADIENT_PALETTE( Orange_Teal_gp ) {
|
||||
0, 0,150, 92,
|
||||
55, 0,150, 92,
|
||||
200, 255, 72, 0,
|
||||
255, 255, 72, 0};
|
||||
|
||||
|
||||
// Single array of defined cpt-city color palettes.
|
||||
|
@ -544,39 +507,38 @@ DEFINE_GRADIENT_PALETTE( bhw1_hello_gp ) {
|
|||
// This list of color palettes acts as a "playlist"; you can
|
||||
// add or delete, or re-arrange as you wish.
|
||||
const TProgmemRGBGradientPalettePtr gGradientPalettes[] = {
|
||||
Sunset_Real_gp, //12
|
||||
es_rivendell_15_gp, //13
|
||||
es_ocean_breeze_036_gp, //14
|
||||
rgi_15_gp, //15
|
||||
retro2_16_gp, //16
|
||||
Analogous_1_gp, //17
|
||||
es_pinksplash_08_gp, //18
|
||||
Coral_reef_gp, //19
|
||||
es_ocean_breeze_068_gp, //20
|
||||
es_pinksplash_07_gp, //21
|
||||
es_vintage_01_gp, //22
|
||||
departure_gp, //23
|
||||
es_landscape_64_gp, //24
|
||||
es_landscape_33_gp, //25
|
||||
rainbowsherbet_gp, //26
|
||||
gr65_hult_gp, //27
|
||||
gr64_hult_gp, //28
|
||||
GMT_drywet_gp, //29
|
||||
ib_jul01_gp, //30
|
||||
es_vintage_57_gp, //31
|
||||
ib15_gp, //32
|
||||
Fuschia_7_gp, //33
|
||||
es_emerald_dragon_08_gp, //34
|
||||
lava_gp, //35
|
||||
fire_gp, //36
|
||||
Colorfull_gp, //37
|
||||
Magenta_Evening_gp, //38
|
||||
Pink_Purple_gp, //39
|
||||
es_autumn_19_gp, //40
|
||||
BlacK_Blue_Magenta_White_gp, //41
|
||||
BlacK_Magenta_Red_gp, //42
|
||||
BlacK_Red_Magenta_Yellow_gp, //43
|
||||
Blue_Cyan_Yellow_gp, //44
|
||||
Sunset_Real_gp, //13-00 Sunset
|
||||
es_rivendell_15_gp, //14-01 Rivendell
|
||||
es_ocean_breeze_036_gp, //15-02 Breeze
|
||||
rgi_15_gp, //16-03 Red & Blue
|
||||
retro2_16_gp, //17-04 Yellowout
|
||||
Analogous_1_gp, //18-05 Analogous
|
||||
es_pinksplash_08_gp, //19-06 Splash
|
||||
Sunset_Yellow_gp, //20-07 Pastel
|
||||
Another_Sunset_gp, //21-08 Sunset2
|
||||
Beech_gp, //22-09 Beech
|
||||
es_vintage_01_gp, //23-10 Vintage
|
||||
departure_gp, //24-11 Departure
|
||||
es_landscape_64_gp, //25-12 Landscape
|
||||
es_landscape_33_gp, //26-13 Beach
|
||||
rainbowsherbet_gp, //27-14 Sherbet
|
||||
gr65_hult_gp, //28-15 Hult
|
||||
gr64_hult_gp, //29-16 Hult64
|
||||
GMT_drywet_gp, //30-17 Drywet
|
||||
ib_jul01_gp, //31-18 Jul
|
||||
es_vintage_57_gp, //32-19 Grintage
|
||||
ib15_gp, //33-20 Rewhi
|
||||
Tertiary_01_gp, //34-21 Tertiary
|
||||
lava_gp, //35-22 Fire
|
||||
fierce_ice_gp, //36-23 Icefire
|
||||
Colorfull_gp, //37-24 Cyane
|
||||
Pink_Purple_gp, //38-25 Light Pink
|
||||
es_autumn_19_gp, //39-26 Autumn
|
||||
BlacK_Blue_Magenta_White_gp, //40-27 Magenta
|
||||
BlacK_Magenta_Red_gp, //41-28 Magred
|
||||
BlacK_Red_Magenta_Yellow_gp, //42-29 Yelmag
|
||||
Blue_Cyan_Yellow_gp, //43-30 Yelblu
|
||||
Orange_Teal_gp //44-31 Orange & Teal
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#include "src/dependencies/e131/E131.h"
|
||||
|
||||
//version in format yymmddb (b = daily build)
|
||||
#define VERSION 1809084
|
||||
#define VERSION 1809103
|
||||
char versionString[] = "0.8.0-a";
|
||||
|
||||
//AP and OTA default passwords (change them!)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#define EEPSIZE 3072
|
||||
|
||||
//eeprom Version code, enables default settings instead of 0 init on update
|
||||
#define EEPVER 7
|
||||
#define EEPVER 8
|
||||
//0 -> old version, default
|
||||
//1 -> 0.4p 1711272 and up
|
||||
//2 -> 0.4p 1711302 and up
|
||||
|
@ -129,7 +129,8 @@ void saveSettingsToEEPROM()
|
|||
EEPROM.write(379, colSecS[1]);
|
||||
EEPROM.write(380, colSecS[2]);
|
||||
EEPROM.write(381, whiteSecS);
|
||||
|
||||
EEPROM.write(382, strip.paletteBlend);
|
||||
|
||||
EEPROM.write(389, bootPreset);
|
||||
EEPROM.write(390, aOtaEnabled);
|
||||
EEPROM.write(391, receiveNotificationColor);
|
||||
|
@ -356,7 +357,7 @@ void loadSettingsFromEEPROM(bool first)
|
|||
whiteS = EEPROM.read(371); white = whiteS;
|
||||
useRGBW = EEPROM.read(372);
|
||||
effectPaletteDefault = EEPROM.read(373); effectPalette = effectPaletteDefault;
|
||||
strip.paletteFade = EEPROM.read(374);
|
||||
//374 - strip.paletteFade
|
||||
|
||||
if (lastEEPROMversion > 0) {
|
||||
apWaitTimeSecs = EEPROM.read(375);
|
||||
|
@ -444,6 +445,12 @@ void loadSettingsFromEEPROM(bool first)
|
|||
arlsForceMaxBri = EEPROM.read(2195);
|
||||
arlsDisableGammaCorrection = EEPROM.read(2196);
|
||||
}
|
||||
|
||||
if (lastEEPROMversion > 7)
|
||||
{
|
||||
strip.paletteFade = EEPROM.read(374);
|
||||
strip.paletteBlend = EEPROM.read(382);
|
||||
}
|
||||
|
||||
receiveDirect = !EEPROM.read(2200);
|
||||
enableRealtimeUI = EEPROM.read(2201);
|
||||
|
|
|
@ -198,6 +198,7 @@ void getSettingsJS(byte subPage) //get values for settings form in javascript
|
|||
sappend('v',"TB",nightlightTargetBri);
|
||||
sappend('v',"TL",nightlightDelayMins);
|
||||
sappend('c',"TW",nightlightFade);
|
||||
sappend('i',"PB",strip.paletteBlend);
|
||||
sappend('c',"RV",reverseMode);
|
||||
sappend('c',"EI",initLedsLast);
|
||||
sappend('c',"SL",skipFirstLed);
|
||||
|
|
|
@ -184,6 +184,13 @@ void handleSettingsSet(byte subPage)
|
|||
}
|
||||
nightlightFade = server.hasArg("TW");
|
||||
reverseMode = server.hasArg("RV");
|
||||
if (server.hasArg("PB"))
|
||||
{
|
||||
int i = server.arg("PB").toInt();
|
||||
if (i >= 0){
|
||||
strip.paletteBlend = i;
|
||||
}
|
||||
}
|
||||
initLedsLast = server.hasArg("EI");
|
||||
strip.setReverseMode(reverseMode);
|
||||
skipFirstLed = server.hasArg("SL");
|
||||
|
|
Ładowanie…
Reference in New Issue