Replace example shows with numbered production shows and add sparkle flag
- Rename all show .txt files with NNN_ numeric prefix so order is explicit and controlled by filename (001_heartbeat_red through 006_party) - Drop HOME_SHOW special-casing from convert_all.py; show 0 is simply the lowest-numbered file - Add SHOW_FLAG_SPARKLE support: shows can declare '// flags: sparkle' to overlay random white flashes on top of the base color each frame - Wire sparkle into led_controller and config.h (SPARKLE_CHANCE/FRAMES) - Replace old placeholder/example shows with the six production shows Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* 1 tap — next show
|
||||
* 2 taps — previous show
|
||||
* 3 taps — lights off (any tap or hold resumes)
|
||||
* hold — reset to show 0 (blue breath)
|
||||
* hold — reset to show 0 (red heartbeat)
|
||||
*
|
||||
* To add or update shows:
|
||||
* 1. Add or edit a .txt file in converter/shows/
|
||||
@@ -79,7 +79,7 @@ void setup() {
|
||||
s_button.setPressMs(800);
|
||||
s_button.attachClick([]() { load_show((s_show_index + 1) % SHOW_COUNT); });
|
||||
s_button.attachDoubleClick([]() { load_show((s_show_index + SHOW_COUNT - 1) % SHOW_COUNT); });
|
||||
s_button.attachMultiClick([]() { if (s_button.getNumberClicks() == 3) { s_lights_off = true; leds_apply_color(CRGB::Black); leds_show(); } });
|
||||
s_button.attachMultiClick([]() { if (s_button.getNumberClicks() == 3) { s_lights_off = true; leds_apply_color(CRGB::Black, false); leds_show(); } });
|
||||
s_button.attachLongPressStart([]() { load_show(0); });
|
||||
}
|
||||
|
||||
@@ -97,7 +97,8 @@ void loop() {
|
||||
CRGB to = CRGB(step.r, step.g, step.b);
|
||||
uint8_t t8 = step_progress(step, now);
|
||||
|
||||
leds_apply_color(blend(s_from_color, to, t8));
|
||||
bool sparkle = (s_show.flags & SHOW_FLAG_SPARKLE) != 0;
|
||||
leds_apply_color(blend(s_from_color, to, t8), sparkle);
|
||||
leds_show();
|
||||
|
||||
if (t8 == 255) advance_step(to, now);
|
||||
|
||||
Reference in New Issue
Block a user