-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Description
I have several DMX fixtures with 34-channel mode that I would like to utilize. They are RGBA bars with 8 "zones" that can be separately controlled instead of only the whole bar at once, but this mode requires 34 DMX channels - 8x RBGA (8x4=32) + Strobe channel + Overall Brightness channel.
Describe the solution you'd like
The DMX page should not be hard-coded for a 15-channel maximum, but maybe if a maximum needs to be specified, somewhere upwards of 40 or 50 that no current fixtures actually support (yet?)
Describe alternatives you've considered
-
Injecting my own HTML on the fly using tampermonkey to allow for the necessary number of channels, however when trying to save or load this modified config it doesn't work because elsewhere in the code there is a limit of 15. Also tried updating the DMXFixtureMap variable to be the same length array as the updated channel count above for the config json file.
-
update the code myself to attempt to provide this feature, but after uploading my ESP32 never fully booted so did not work
Additional context
The changes I tried were in the wled00/data/settings_dmx.htm at the below lines:
- 32: for (i=0;i<15;i++) {
- 45: loadJS(getURL('/settings/s.js?p=7'), false, ()=>{GCH(15);}, ()=>{mMap();});
- 62: Channels per fixture (15 max):
in wled.h:
WLED_GLOBAL byte DMXChannels _INIT(7); // number of channels per fixture
WLED_GLOBAL byte DMXFixtureMap[15] _INIT_N(({ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }));
in cfg.cpp line 1240:
for (unsigned i = 0; i < 15; i++) {
and same in set.cpp line 643:
for (unsigned i = 0; i < 15; i++) {
and wled_server.cpp line 147:
for (int i=0; i<15; i++) {