manual merge #2

This commit is contained in:
fishbone-git 2019-12-24 15:12:54 +01:00
parent 7712faca0a
commit 58f41a1f9b

View File

@ -301,24 +301,24 @@ uint16_t WS2812FX::scan(bool dual)
uint32_t cycleTime = 750 + (255 - SEGMENT.speed)*150; uint32_t cycleTime = 750 + (255 - SEGMENT.speed)*150;
uint32_t perc = now % cycleTime; uint32_t perc = now % cycleTime;
uint16_t prog = (perc * 65535) / cycleTime; uint16_t prog = (perc * 65535) / cycleTime;
uint16_t ledIndex = (prog * ((SEGLEN * 2) - 2)) >> 16; uint16_t size = 1 + ((SEGMENT.intensity * SEGLEN) >>9);
uint16_t size = 1 + SEGMENT.intensity >> 3; uint16_t ledIndex = (prog * ((SEGLEN *2) - size *2)) >> 16;
fill(SEGCOLOR(1)); fill(SEGCOLOR(1));
int led_offset = ledIndex - (SEGLEN - 1); int led_offset = ledIndex - (SEGLEN - size);
led_offset = abs(led_offset); led_offset = abs(led_offset);
uint16_t i = SEGMENT.start + led_offset; if (dual) {
for (int16_t j=i-size/2; j<=i+size/2; j++) { for (uint16_t j = led_offset; j < led_offset + size; j++) {
if (j>=0) setPixelColor(j, color_from_palette(i, true, PALETTE_SOLID_WRAP, 0)); uint16_t i2 = SEGMENT.stop -1 -j;
setPixelColor(i2, color_from_palette(i2, true, PALETTE_SOLID_WRAP, (SEGCOLOR(2))? 2:0));
}
} }
if (dual) { for (uint16_t j = led_offset; j < led_offset + size; j++) {
uint16_t i2 = SEGMENT.start + SEGLEN - led_offset - 1; uint16_t i = SEGMENT.start + j;
for (int16_t j=i2-size/2; j<=i2+size/2; j++) { setPixelColor(i, color_from_palette(i, true, PALETTE_SOLID_WRAP, 0));
if (j>=0) setPixelColor(j, color_from_palette(i2, true, PALETTE_SOLID_WRAP, 0));
}
} }
return FRAMETIME; return FRAMETIME;
@ -1004,7 +1004,7 @@ uint16_t WS2812FX::larson_scanner(bool dual) {
for (uint16_t i = SEGENV.step; i < index; i++) { for (uint16_t i = SEGENV.step; i < index; i++) {
uint16_t j = (SEGENV.aux0)?i:SEGLEN-1-i; uint16_t j = (SEGENV.aux0)?i:SEGLEN-1-i;
setPixelColor(j, color_from_palette(j, true, PALETTE_SOLID_WRAP, 0)); setPixelColor(SEGMENT.start + j, color_from_palette(j, true, PALETTE_SOLID_WRAP, 0));
} }
if (dual) { if (dual) {
uint32_t c; uint32_t c;
@ -1016,7 +1016,7 @@ uint16_t WS2812FX::larson_scanner(bool dual) {
for (uint16_t i = SEGENV.step; i < index; i++) { for (uint16_t i = SEGENV.step; i < index; i++) {
uint16_t j = (SEGENV.aux0)?SEGLEN-1-i:i; uint16_t j = (SEGENV.aux0)?SEGLEN-1-i:i;
setPixelColor(j, c); setPixelColor(SEGMENT.start + j, c);
} }
} }
@ -1034,7 +1034,7 @@ uint16_t WS2812FX::mode_comet(void) {
fade_out(SEGMENT.intensity); fade_out(SEGMENT.intensity);
setPixelColor(index, color_from_palette(index, true, PALETTE_SOLID_WRAP, 0)); setPixelColor(SEGMENT.start + index, color_from_palette(index, true, PALETTE_SOLID_WRAP, 0));
return FRAMETIME; return FRAMETIME;
} }