Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
16e28dd
1 Remove WiFiManager and OTA, move config to config.h
domiko96 Aug 6, 2026
eabe4c8
Pull in AnnimationHandlerBus implementations
domiko96 Aug 6, 2026
fb8b370
1 Part A: split AnimationHandlerBus modes into one file per mode
domiko96 Aug 8, 2026
d71afd6
1 Part B: implement 8 addressable-only effect modes
domiko96 Aug 8, 2026
4282377
1 Part C: add PIXEL_ARRAY mode for direct per-pixel RGB control
domiko96 Aug 8, 2026
c332dbc
1 Part D: add Ocean/Forest/Dusk/FireFlicker shared uniform modes
domiko96 Aug 8, 2026
3ca17c0
1 Part F: split project layout into config/ (tunables) and lib/ (c…
domiko96 Aug 9, 2026
67d0166
1 Docs: rewrite README Modes docs to match actual code, add HTML t…
domiko96 Aug 9, 2026
ac9654f
1 Part E: extract ModeMath helpers, add native unit tests
domiko96 Aug 9, 2026
6f2c96a
1 Part G: track the MAX4466's DC bias instead of assuming 0.5
domiko96 Aug 9, 2026
b3fefe8
1 Part H: add BASS_REACT and VU_METER_PEAK modes
domiko96 Aug 9, 2026
a80e3e7
1 Part I: add DS18B20 one-wire temperature sensor support
domiko96 Aug 9, 2026
2bd2d62
1 Add class-level doc comments across the core library headers
domiko96 Aug 9, 2026
fafecd1
1 Add top-level Makefile with build/upload/uploadAndMonitor/doc-gifs
domiko96 Aug 9, 2026
1063932
1 Part N: add mermaid class + sequence diagrams to DEVNOTES.md
domiko96 Aug 9, 2026
df25409
1 Part M: real code-driven animated GIF previews per mode
domiko96 Aug 9, 2026
575245d
1 Add missing BASS_REACT/VU_METER_PEAK rows to README modes table
domiko96 Aug 9, 2026
5e6c973
1 Rotate mode preview GIFs to 800x8 and give each its own full-wid…
domiko96 Aug 9, 2026
a126188
1 Add root .gitignore for macOS .DS_Store cruft
domiko96 Aug 9, 2026
57bcd32
1 Tunable comet trail spacing, COMET_BACK_AND_FORTH, tunable NIGHT…
domiko96 Aug 9, 2026
a770dd0
1 FIRE: tunable regime-switch timing + overall dimming; VU_METER: …
domiko96 Aug 9, 2026
5253cf5
1 Add NOISE_RANDOM_COLOR (114) and tunable maxBrightnes for NOISE …
domiko96 Aug 9, 2026
75c88f8
1 WIPE example: use time=12000 so the preview GIF isn't mostly static
domiko96 Aug 9, 2026
666bb8f
1 Implement BLINK_COLOR (mode 1) as a notification-blink overlay
domiko96 Aug 9, 2026
59e1db0
1 Add SPECTRUM (mode 115), an FFT bin-based audio visualizer
domiko96 Aug 9, 2026
cafb5bd
1 THEATER_CHASE (107): tunable segment length and spacing
domiko96 Aug 9, 2026
1f0d1ee
1 Add HEARTBEAT (mode 10), a lub-DUB brightness pulse
domiko96 Aug 9, 2026
431ba66
1 Implement SOUND_2_LIGHT (mode 3): overall-brightness audio react…
domiko96 Aug 9, 2026
cf3f6a5
1 Renumber all modes into semantic bands, widen varSilo.mode to fi…
domiko96 Aug 9, 2026
0cc5f91
1 Add POLICE_LIGHTS (mode 112), a red/blue wig-wag flash
domiko96 Aug 9, 2026
2da051e
1 Zero-pad mode numbers in Modes/*.cpp and doc/gifs/*.gif filenames
domiko96 Aug 9, 2026
f9a2225
1 VU_METER_PEAK (501): support the same position anchor as VU_METER
domiko96 Aug 9, 2026
1e5fee9
1 OCEAN/FOREST/DUSK (3/4/5): add maxBrightnes dimming
domiko96 Aug 9, 2026
b95242e
1 Fix audio-reactive modes freezing at peak after a loud sound
domiko96 Aug 9, 2026
700d625
1 FIRE_FLICKER (6): soften transitions, was too strobe-like
domiko96 Aug 9, 2026
36fb9a9
1 COMET/COMET_BACK_AND_FORTH (109/110): fix trail gaps, add tunabl…
domiko96 Aug 9, 2026
fccbb98
1 Add PROGRESS_BAR (mode 113), a simple percentage bar
domiko96 Aug 9, 2026
3bac244
1 VU_METER/VU_METER_PEAK (500/501): drop bias-relative amplitude, …
domiko96 Aug 9, 2026
bd2e052
Add ESP OTA logic
domiko96 Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
35 changes: 35 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Top-level convenience targets wrapping PlatformIO (software/) and the
# doc-gif generation pipeline (tools/gifgen/).

PIO := pio
PIO_ENV := esp12e
SOFTWARE_DIR := software

.PHONY: build upload uploadAndMonitor uploadOTA doc-gifs

build:
cd $(SOFTWARE_DIR) && $(PIO) run -e $(PIO_ENV)

upload: build
cd $(SOFTWARE_DIR) && $(PIO) run -e $(PIO_ENV) -t upload

uploadAndMonitor: build
cd $(SOFTWARE_DIR) && $(PIO) run -e $(PIO_ENV) -t upload -t monitor

# Flash a board over WiFi via ArduinoOTA. Prompts for the target device's MAC
# address rather than an IP, since the board's OTA hostname is derived from
# its MAC (see initOTA() in src/main.cpp) and mDNS (.local) resolution finds
# it regardless of its current DHCP-assigned IP.
uploadOTA: build
@read -p "Enter device MAC address (e.g. 84:F3:EB:B7:09:A5): " mac; \
host="espled-$$(echo "$$mac" | tr -d ':')"; \
auth=$$(grep -oE 'OTA_PASSWORD *"[^"]*"' $(SOFTWARE_DIR)/config/device_config.h | grep -oE '"[^"]*"' | tr -d '"'); \
if [ -z "$$auth" ]; then \
echo "OTA_PASSWORD not found in $(SOFTWARE_DIR)/config/device_config.h - see config/device_config.h.example"; \
exit 1; \
fi; \
echo "Flashing $$host.local ..."; \
cd $(SOFTWARE_DIR) && PLATFORMIO_UPLOAD_PROTOCOL=espota PLATFORMIO_UPLOAD_PORT=$$host.local PLATFORMIO_UPLOAD_FLAGS="--auth=$$auth" $(PIO) run -e $(PIO_ENV) -t upload

doc-gifs:
python3 tools/gifgen/generate.py
25 changes: 6 additions & 19 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,25 +61,12 @@ Software:
## Which parts do I need?
See the Bill-Of-Materials file named ESPLED.csv in the hardware folder.

## Suggested MODES

| Modenumber | Name | Description | used-Arguments-from-Var-Silo|
|--------------|------------------|-------------|-----------------------------|
|1| Fade to color | Also used for jumps -> time = 0 | RGBWW-value, Transitiontime |
|2| Blink color | Stores current State, Fades to color and back - Maybe posibility of selectiong number of blinks | RGBWW-value, Transition time, OnTime, NumOfBlinks |
|3|Strobe|Strobe selectable color and Freq|RGBWW-value, Freq |
|4|Sound2LIGHT|adjust brightness according to soundvalue|RGBWW-value, sensivitity |
|5|Breathing|Strip turns brighter and darker periodically (some randomness) |RGBWW-value, frequency how often it should "breath"|
|6|TempVis|Visualizes Temperatur Value of Temp Sensor - Cold(Blue)<>Normal(Green)<>Hot(Red)||
|7||||
|8||||
|101|Lagerfeuer Animation|(gibt es online fertig)|centerposition|
|102|Noise||RGBWW,update Rate|
|103|VU-Meter|| RGbWW, Sensitivity, update rate, centerposition|
|104|StrobeParts|Small x-LED long "Parts" light up in strobe mode|RGBWW, Freq, centerposition, PartLength|
|105|Moving Parts|Small x-LED long "Parts" travel from centerpos(=Startpos) - to the end(s) of the strip|RGBWW-value, update rate, centerposition, |
|106|American Police Light|red/blue left/right (half of adress room) flash|update rate|
|107|Rainbow|fills strip with rainbow maybe moves it||
## Supported MODES

The full, up-to-date list of supported modes — numbers, parameters, JSON examples, and animated
previews — lives in [`software/README.md`](/software/README.md#modes), generated directly from
the actual firmware source. This section used to duplicate that table as a pre-implementation
design sketch; it's been removed here to avoid the two drifting out of sync.


## nice Projects with led animations for insperation
Expand Down
Binary file added doc/gifs/0000_fade2Color.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0001_strobe.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0002_breathe.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0003_ocean.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0004_forest.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0005_dusk.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0006_fireFlicker.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0007_heartBeat.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0050_sound2Light.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0051_bassReact.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0100_wipe.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0101_fire.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0102_noise.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0103_noiseRandomColor.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0104_nightSky.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0105_movingParts.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0106_movingBackAndForth.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0107_rainbowCycle.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0108_theaterChase.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0109_comet.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0110_cometBackAndForth.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0111_strobeParts.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0112_policeLights.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0113_progressBar.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0500_vuMeter.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gifs/0501_vuMeterPeak.gif
Binary file added doc/gifs/0502_spectrum.gif
Binary file added doc/gifs/1000_pixelArray.gif
Binary file added doc/gifs/1001_blinkColor.gif
124 changes: 0 additions & 124 deletions doc/modes_description.md

This file was deleted.

1 change: 1 addition & 0 deletions software/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
.clang_complete
.gcc-flags.json
.vscode
config/device_config.h
Loading