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

The beta UI fader window, set all channels to zero doesn't work #1280

Open
joshdurbin opened this issue Jul 8, 2017 · 6 comments · May be fixed by #1739
Open

The beta UI fader window, set all channels to zero doesn't work #1280

joshdurbin opened this issue Jul 8, 2017 · 6 comments · May be fixed by #1739

Comments

@joshdurbin
Copy link

joshdurbin commented Jul 8, 2017

When in the fader window, in the beta UI, the set all channels to zero doesn't work as expected. The set all channels to zero operation should POST to set_dmx with two params; one for the universe u, and one with the value assignments d for all 512 channels. The beta UI executes the post but with a static value for d, 0 yielding no change. POSTed params:

u:0
d:0

The same operation in the old, classic, UI DMX Console works as expected... POSTed params:

u:0
d:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

@peternewman
Copy link
Member

peternewman commented Jul 8, 2017

I think you mean a static value for d, rather than u.

This is probably one for @daveol to ponder at least. It looks like it will be due to this function:
https://github.com/OpenLightingProject/ola/blob/master/javascript/new-src/src/factories/ola.js#L54

I think this is to stop us sending too much data if someone was trying to do LTP merging, and instead only transmitting the amount of the frame we actually have control of. Although that in itself can generate some other issues, e.g. #281

The more clear/worse bug is if you bring up the second channel, then hit the blackout button, it sends a value of 0 for the first channel, and drops the second one on the GUI, but doesn't actually transmit the second channel's value. If you then later on tweak the level up, it then finally sends this value. The OLA backend handles this better (possibly), with only the once source transmitting the size of the frame then shrinks back to one channel.

Perhaps the UI needs to keep track of the highest channel used, and then always send at least that many channels in the frames from then on?

@peternewman
Copy link
Member

This was added here https://github.com/OpenLightingProject/ola/blob/b04674c262298499f0a426662580b173d9a21c73/olad/www/new/js/app.js . I can't immediately spot any discussion in there regarding the history of it.

@joshdurbin
Copy link
Author

joshdurbin commented Jul 12, 2017

I'm actually not certain that this is the root issue -- when the fader option is selected to set all channels to zero, all the channels drop to zero in the beta fader view AND in corresponding incognito tabs showing the channel statuses for both the beta and legacy UI.

The reason why I had looked into this is that I'm not seeing DMX devices drop to dark when the drop all channels to zero operation is executed in the new UI. I do see it working in the legacy UI, but the state the server reports seems to be the same in each case. So perhaps the actual issue is somewhere in the server code?

@peternewman
Copy link
Member

If you run up ola_dmxmonitor you'll see what's actually going on.

I suspect it's an edge case in your fixture, when you hit the blackout button in the new UI it will send a frame of DMX with a single slot with a value of zero. Because your fixture is presumably more than one channel, and presumably not on address one, it won't see enough slots in the frame, so will probably ignore the frame.

Both UIs will see that frame and drop the channels as they don't have values (or the values are zero) for those channels.

@cmouttet
Copy link
Contributor

There's another effect I noticed that may be related to this.

Keypad on the beta UI supports setting a concrete channel to a value. If you set the last non-zero channel to zero, the current value doesn't change.

Looks like the root cause of this bug is not the fader component itself. More likely the communication to the backend is somehow broken.

Workaround: Set your channel max+1 to something > 0

cmouttet pushed a commit to cmouttet/ola that referenced this issue Aug 1, 2021
cmouttet pushed a commit to cmouttet/ola that referenced this issue Aug 1, 2021
@peternewman peternewman linked a pull request Aug 4, 2021 that will close this issue
@peternewman peternewman added this to the 0.10.9 milestone Nov 13, 2022
@peternewman peternewman modified the milestones: 0.10.9, 0.10.10 Feb 26, 2023
@kengruven
Copy link
Contributor

(I just ran into this and was in the process of filing another bug report when I ran across this one.)

I think part of the problem is that OLA has a concept of "not set" (e.g., you can send just 1 byte of 0's), and the Old UI reflects this reality (e.g., the DMX Monitor will display 0 for ch1, and blanks for all the rest), but the New UI doesn't seem to have this concept at all. An unset channel and a zero channel are both displayed as "0".

So there's issues on both the input and output sides. Clicking the (unlabeled) light bulb doesn't do anything to (511/512ths of) my DMX bus, but it also writes 0's all over the UI to suggest that it has.

See also the comments here and here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants