Question on E1.31 refresh rate

charleskerr

New elf
Joined
May 28, 2011
Messages
37
I have a question on how pixel strings are updated when they span universes.


Say for instance, one pixel string spans two universes. If I understand correctly, each of these universes come in on a separate multicast universe (based on the universe number). When does the controller know when to update the string.


Scenario: universe 1 is received. Does the controller update right then (which means universe 2 could come in while it is updating). Or does it wait until both universe are received? Or is there a fixed clock output to the strings?
 
E1.31 and DMX have a refresh rate of around 25 - 27 ms. So every 25 - 27ms all the data is refreshed.

There are some limitations to this and that is the computers ability to output the data and the controllers ability to recieve this data at that refresh rate depending on how many channels/universes are being sent out and recieved.
 
I understand the fastest that a DMX packet can refresh. It also can update up to 1/sec and keep the link alive.


E1.31 has a 2.5 second time out.


But my question is more basic. For DMX 512, one knows when all the data is in (either the slot count gets to 513), or another break.


For E1.31, you have seperate streams so to speak coming in (one for each universe). If a string was only in a single universe, then the string update rate is easy, it gets updated every time that universe comes in. But when a string spans universes, what is now the procedure:
1. Start a timer upon receipt of the first universe, and if the second universe has not been received by that time, update the string with the current data (new data for universe 1, and old data for universe 2).
2. Wait until new data is received for both universes.
3. Have a fixed update rate on the strings, and just grab data in regardless if any universe have come in or not.


That is what I am trying to understand, is for stings that span universes, what refresh logic is used (I understand the min/max rates based on the timing of the specs).
 
I understand your question Charles, but I don't know the answer. That was a great help wasn't it? LOL

On my little pixel board I simply update the pixels (SPI data) whenever a new DMX frame arrives. That's fine for a few pixels and a single data source, but I can imagine multiple (asynchronous) sources make for an interesting interaction.

As you no doubt know, the refresh rate of an E1.31 stream can be quite variable and (as far as I know) the frames are not even guaranteed to arrive in order. My hat goes off to those people who've written well behaved E1.31 - pixel controllers. :)
 
Back
Top