driving multiple sources of data for ecg

neilric99

Full time elf
Joined
May 20, 2010
Messages
295
Location
Irvine, the OC, CA
I want to be able to drive my megatree pixels (600 nodes) from multiple sources.

I have Madrix and LSP and although most of the time Madrix will be driving the tree, I want to be able to inject sequences from LSP. Is it possible to be able to tell Madrix to send a black pattern and also have LSP send it a different sequence.

Neil
 
Sending a stream to the same destination from more than one source would mean the receiver could be bombarded with packets at an unacceptable rate surely?

Also the E1.31 stream sequence numbers are only unique to each sender, so a receiver could see "out-of-sequence" as a result?
 
Neil -

What i think you are wanting may require merging, which we don't implement yet. According to the specs it is up to the manufacturer to determine what form of merging they will implement and document it. So none is our answer.

David may be technically correct, but again the specs are not definitive or leave it to the manufacturer/implementors option. There is a sequence number in the packet but we do not examine it. We take data as it comes.

Last piece of the puzzle is that we are accepting data for, in essence, 4 or 8 destinations. So each destination could have a different rule set.

With all the above said - you can send multiple data streams from multiple sources and, subject to buffering, the ECG will do its best to keep up and also will update a given destination with the last packet arrived for it as soon as possible. But no, without merging, you can not send zeros from one source and expect data from the other source to take precedence (HTP or Highest Takes Precedence). If you can suspend one transmission for 10 seconds while the other takes over that part of the show or if one segment is being driven by one slave and a different segment is being driven by another then you could do some flip/flop and control.

Finally, although I know you did not mention it, Vixen does not send duplicate frames so if there was 10 seconds of black then it would only send the first period and not even transmit the next 10 seconds so then another program could get its traffic through. Whether LSP or Madrix would/could act this way to allow for a 'silent' time is unknown to us.

-Ed
 
I was assuming there was no merging built into the ECG units.

Think of it this way; if two people were telling you what to do at the same time, but they were not exactly the same instructions, what would you do? If one person had a higher authority, then you could prioritise, but in the case of multiple E1.31 streams, which one is higher priority?

As Ed says, you'd need one sender to yield first (stop transmitting) so the other could take over. The only other easy way would be for the ECG to have settings for a priority source IP. This may actually be a neat feature if it could be done without too much hassle. The ECG would still accept data from any source, but ones from a specified IP address would take precedence.

You'd need a timer to lock out (ignore) packets from other IP addresses for a specified amount of time, so the lower priority packets don't get processed unless the high priority source has ceased transmission. Maybe the "end of transmission" flag in the E1.31 packet could help here as well? (to resume accepting all sources)

This priority scheme would also allow a backup source to run in the background and take over if the main source fails. The ECG would have the priority IP set to the main source. Does that sound feasible?
 
Just thinking out loud and I know the ECG does not support this field, but isnt there a priority slot in the E1.31 stream?

Tell me to shut up if I am wrong.
 
You're right! From the standard:

6.4 Priority
A receiver conforming to this standard may receive data for the same universe from multiple sources that may be distinguished by examining the CID in the packet. (This is a situation that cannot occur in conventional DMX systems.)

The Priority field is an unsigned one octet field. The value is used by receivers in selecting between multiple sources of data for a given universe number. Sources that do not support variable priority shall transmit a priority of 100. No priority outside the range of 0 to 200 shall be transmitted on the network. Priority increases with numerical value, i.e., 200 is a higher priority than 100.

For a given universe number, an E1.31 receiver shall treat data from packets with the highest priority as the definitive data for that universe.

6.4.1 Multiple Sources at Highest Priority
It is possible for there to be multiple sources, all transmitting data at the highest currently active priority level for a given universe. When this occurs, receivers must handle these sources in some way. A receiver which is only capable of processing one source of data will encounter a sources exceeded condition when two or more sources are present.

Many devices are capable of combining, merging or arbitrating between the candidate sources by some algorithm (see below), but such algorithms frequently limit the number of concurrent sources which can be handled due to resource limitations, or encounter situations where there are still multiple candidate sources meeting some specified condition, and then, once again, a sources exceeded condition arises which requires resolution.
 
i could'nt get the ecg working on my laptops wireless,
i ended up going back to VNC
bugger tho, i liked the idea
alec
 
These kinds of discussions really show how we just need better software that will be able to take advantage of what this hardware can do. I sure hope by Christmas 2011 that we don't have to use scripts, several programs and duct tape to make these RGB pixel displays come alive. :p
 
Back
Top