mxklb
December 14, 2022, 9:38pm
23
Please refer to the PR description, this should be more clear & human readable than code:
Aircoookie:main
← mxklb:pr_fxsegs
opened 02:21PM - 19 Nov 22 UTC
# Abstract
This enables WLED to control segments via DMX with `Effect` modes … ++ introduces some additional refactoring.
1. Added missing third color RGBW channels.
2. Added missing `effect option` channel (_mirror_ and _reverse_).
3. Existing `Effect` mode is clearly divided into 15|18 DMX channel modes (+ whites).
4. New `Effect Segment` modes are introduced to control segments by 15|18 DMX channels.
5. Hidden "feature" `Presets` is no longer hidden & less restrictive according to its DMX start address.
# For documentation
- Existing `Effect` mode now controls 15 channels (including third color RGB, without whites):
`[bri,effectCurrent,effectSpeed,effectIntensity,effectPalette,effectOption,R,G,B,R2,G2,B2,R3,G3,B3]`
- A new `Effect + White` mode controls 18 channels (same as above + including white channels `[..,W,W2,W3]`).
- `Effect Segment` is the same as `Effect` with 15 channels per segment; expect `channel 1 = "Segment Dimmer"`.
- `Effect Segment + White` is the same as `Effect Segment` incl whites, so it uses 18 DMX channels per segment.
- `Preset` mode triggers presets by sending preset numbers and controls brightness = 2 DMX channel.
Segment modes introduce an additional `DMX segment spacing`. If spacing is `s = 0` subsequent DMX addresses for all segments are created. When `s > 0` a gap of `s` DMX addresses between segments is used. This feature is good to place segments (= DMX fixtures) inside DMX universe more efficient.
Segment DMX Start Address (i) = DMXAddress + i * (dmxEffectChannels + DMXSegmentSpacing)
Where `DMXAddress` = start address as configured in UI, `dmxEffectChannels` = 15|18 depending on selected segment mode, `DMXSegmentSpacing` = address gap as configured in UI and `i` is the index of each segment as existing.
As existing `Effect` mode, these modes are not realtime, and only support 1 universe as configured in UI.
Note: 1 DMX universe = max 512 DMX addresses. So max number of segments depends on selected segment mode and configured `DMX segment spacing`. To calculate how many segments can be controlled via DMX:
Max segments = floor[ (512 - DMXAddress) / (dmxEffectChannels + DMXSegmentSpacing) ]
# PR notes
I tested everything expect `Preset`. Everything shall work as written here. **Please test and provide some feedback**!
According to #2325 there will be some more DMX changes to come in future. I decided to provide this PR as is, because it does not interfere with the changes made for the other DMX modes mentioned. Maybe we merge this first, because it's finished from my point of view. We may provide further DMX changes in another PR. Alternate I could pull changes from #2325 into here to provide a more feature rich DMX advancement in a whole, if I find time to .. TBD
IMO separating this from the other DMX changes discussed in #2325 does no harm, it shall be merged anyhow.
mxklb
December 14, 2022, 9:52pm
24
You found a “bug” in code comments, thank you
I’ll remove that missleading comments.
great, i hate when there so confusion around, so lets fix that i hope i will get more critical one still
Have requested 3 new fixtures from sound switch for 15ch , 18ch and 2ch preset modes…will do more testing when thats done
mxklb
December 15, 2022, 1:22pm
27
@dzelionis better request custom user defined DMX channel mappings to be more future proof
I know, but it will never happen as i think its does not fit their bossiness model…anyway …
I have a cleanup of my not-related post completed … sorry again
by the way had no issues or bugs discovered, all running smoothly…
so, this not the first and not the last time i say Thanks @mxklb , really good work you have done here, you can proud of yourself!!!
mxklb
December 23, 2022, 8:44pm
30
thank you @dzelionis for testing it out, sounds really good
Hey,
just wondering,
when do you think you gonna move out of beta testing to the production version? any ETA?
Thanks
mxklb
January 10, 2023, 3:35pm
32
I can’t tell, because I’m not a maintainer of WLED, so we’ll have to wait for them to merge it.
mxklb
January 17, 2023, 11:14pm
33
got merged into mainline … docs follow … thanks for testing
Aircoookie:main
← mxklb:e131Modes
opened 10:39PM - 17 Jan 23 UTC
Adds descriptions for
- new DMX preset mode
- new DMX effect segment modes
-… missing docs of multiple RGBW mode
Coming from: https://github.com/Aircoookie/WLED/pull/2891
Note: These changes describe WLED versions > **0.14.0-b1** - as the PR got merged.
For **b2** or **0.14.0** release: This is a breaking change in E131 sync behavior. It shall be mentioned in release notes. Existing user DMX setups using `Effect` mode may break. Solution: External DMX channel mappings must adopt accordingly.
1 Like
@mxklb , That’s great news!!! and thanks again for all your awesome work!!!
if you need any help or support on your new crazy ideas… , just let me know ( as i have some js skills, not C)
Best,
DZelionis
1 Like
mxklb
February 2, 2023, 12:01pm
35
If you find time to and own multiple E1.31 controllers
Please test & feedback E1.31 Port Priority - Beta testing