Add SignalRGB control via WLED emulation
The clock answers like a WLED device (mDNS _wled._tcp, /json/info, /json/state, realtime UDP on 21324 and DDP on 4048), so SignalRGB can drive the 4 backlight LEDs, one per tube, LED 0 = left tube. Frames are shown at most 30 times a second (WLED_MAX_FPS); the normal effect returns 2.5 s after they stop, and the alarm flash still wins. Three new settings on the RGB page: enable (also a Home Assistant switch), stay dark while the tubes are off, and scale by the RGB brightness. They are stored in EEPROM after prm with their own magic value, so the update does not factory-reset the clock. page.js and site.css are now sent with no-cache: browsers kept them for a year and ran the old script after a web UI update. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c4e0c29791
commit
ae87849e75
9 files changed
+446
-20
No files matched your search
@@ -100,4 +100,11 @@ GPIO0 to GND, tap RST to GND, then release GPIO0.
|
||||
it is now only sent when the pixels change, and only in the dark gap between tubes; this also
|
||||
fixed digits that seemed to hang). Saving the firmware URL no longer starts an update.
|
||||
Optional web password, cathode-protect random start, LED gamma.
|
||||
6. Open: the user can create `secrets.h` (gitignored, never read it) for OTA and web passwords.
|
||||
6. Done (2026-10-25): SignalRGB via WLED emulation (`wled.ino`, `USE_WLED_REALTIME`,
|
||||
`WLED_MAX_FPS` 30: no flicker, no loop stalls). SignalRGB's WLED plugin only sends as many LEDs as the channel's component has (needs 4). LED order checked:
|
||||
SignalRGB LED 0 = left tube, `tubePixels` {0,1,2,3} is right. Settings `wledEnable` /
|
||||
`wledDarkWithTubes` / `wledUseBrightness` live in `prmExt`, stored in EEPROM after `prm` with
|
||||
their own magic value: never add fields to `prm` (a `MAGIC_VALUE` bump factory-resets the
|
||||
clock, WiFi included). HA switch "SignalRGB". `page.js`/`site.css` were cached by browsers for a
|
||||
year; now sent with `no-cache`.
|
||||
7. Open: the user can create `secrets.h` (gitignored, never read it) for OTA and web passwords.
|
||||
Reference in new issue
Block a user