Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add virtual DMX fixtures #2199

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

visigoth
Copy link
Contributor

This allows a WLED instance to act as multiple DMX fixtures that map to portions of the (virtual) LED strip. The most direct usage is to map DMX fixtures to LED segments (much like how segments are typically derived from busses). There is no such automatic configuration in this PR, however.

Also, I am not a JavaScript/HTML person and so the current configuration UI is just a repeated form of MAX_DMX_FIXTURES (10).

This lets WLED play much more nicely with DMX orchestration applications.

platformio.ini Outdated
@@ -12,7 +12,7 @@
;default_envs = travis_esp8266, travis_esp32

# Release binaries
default_envs = nodemcuv2, esp01_1m_full, esp32dev, esp32_eth
default_envs = esp32dev
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not change platformio.ini except when adding new environments.
Please create platformio_override.ini and put your custom environment there.

@@ -44,7 +44,77 @@ <h3>Realtime</h3>
Start universe: <input name="EU" type="number" min="0" max="63999" required><br>
<i>Reboot required.</i> Check out <a href="https://github.com/LedFx/LedFx" target="_blank">LedFx</a>!<br>
Skip out-of-sequence packets: <input type="checkbox" name="ES"><br>
DMX start address: <input name="DA" type="number" min="0" max="510" required><br>
<div>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be done dynamically in a similar way as buses are created.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i agree, but i am not great at html+js and i couldn't figure out all the internal code paths that result in the right dynamic behavior to add/remove/serialize etc.

@dzelionis
Copy link

I have just flashed this code, looks almost what i was looking for, just missing one small thing, if we could change DMX mode per virtual DMX fixture that would be perfect!

@trixxor
Copy link

trixxor commented Oct 14, 2021

This is great! Just what i needed! - I been hunting something that would work nicely with an WT32-ETH01 and a DMX output ( MAX485 ) - Finally it works! Amazing job :)

@visigoth
Copy link
Contributor Author

i don't have time to make this PR all that much better (can find time to lint it perhaps). if anyone wants these changes, they can either apply directly or use my fork. unfortunately, i just don't have the bandwidth to make this merge-ready.

@visigoth
Copy link
Contributor Author

i've rebased my changes onto v0.13.0-b6. i still don't have time to make the DMX fixture UI dynamic as suggested. if would be great if someone who is better at html+js that myself would like to do that.

@stale
Copy link

stale bot commented Sep 21, 2022

Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs.
Thank you for using WLED!

@stale stale bot added the stale This issue will be closed soon because of prolonged inactivity label Sep 21, 2022
@Aircoookie Aircoookie added the keep This issue will never become stale/closed automatically label Sep 26, 2022
@stale stale bot removed the stale This issue will be closed soon because of prolonged inactivity label Sep 26, 2022
@deggle deggle mentioned this pull request Nov 11, 2022
@deggle
Copy link

deggle commented Nov 11, 2022

Hi @visigoth - how similar is this to what's being discussed here? #2325

@visigoth
Copy link
Contributor Author

i think grouping pixels is different from having multiple/independent DMX fixtures. i'm not a DMX expert, and my knowledge since i wrote this PR has faded. i'd have to re-acquaint myself with the DMX spec and WLED to understand whether #2325 and its related issues would be similar/identical functionality as this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
keep This issue will never become stale/closed automatically
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants