driving multiple sources of data for ecg

Discussion in 'EthConGateway by Joshua 1 Systems' started by neilric99, Dec 10, 2010.

  1. neilric99

    neilric99 Full Time Elf

    Joined:
    May 20, 2010
    Messages:
    295
    Likes Received:
    0
    Location:
    Irvine, the OC, CA
    Find Me On:
    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
     
  2. David_AVD

    David_AVD Good news, everyone!

    Joined:
    Jun 12, 2010
    Messages:
    3,345
    Likes Received:
    22
    Location:
    Victoria Point (Brisbane)
    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?
     
  3. j1sys

    j1sys There are no rules, and those are the rules. Community Project Designer

    Joined:
    May 19, 2010
    Messages:
    242
    Likes Received:
    0
    Location:
    Knoxville TN USA
    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
     
  4. David_AVD

    David_AVD Good news, everyone!

    Joined:
    Jun 12, 2010
    Messages:
    3,345
    Likes Received:
    22
    Location:
    Victoria Point (Brisbane)
    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?
     
  5. Tabor

    Tabor Full Time Elf

    Joined:
    May 16, 2010
    Messages:
    249
    Likes Received:
    0
    Location:
    Perth, WA
    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.
     
  6. David_AVD

    David_AVD Good news, everyone!

    Joined:
    Jun 12, 2010
    Messages:
    3,345
    Likes Received:
    22
    Location:
    Victoria Point (Brisbane)
    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.
     
  7. ptone

    ptone New Elf

    Joined:
    Nov 7, 2010
    Messages:
    23
    Likes Received:
    0
    Location:
    Santa Barbara
    Sounds like the OP is using a PC - but if you are running a Mac/Linux platform that can run OLA - it supports merging

    It might even be able to act as a "merger" for incoming E1.31 from Madrix and LSP, and then output the merged data, but not so sure about that:

    http://www.opendmx.net/index.php/OLA_Merging_Algorithms

    -Preston
     
  8. ptone

    ptone New Elf

    Joined:
    Nov 7, 2010
    Messages:
    23
    Likes Received:
    0
    Location:
    Santa Barbara
  9. David_AVD

    David_AVD Good news, everyone!

    Joined:
    Jun 12, 2010
    Messages:
    3,345
    Likes Received:
    22
    Location:
    Victoria Point (Brisbane)
    That's only DMX512 over RS485, not E1.31 though.
     
  10. smartalec

    smartalec Im a SmartAlec what can i say! Community Project Designer

    Joined:
    May 4, 2010
    Messages:
    1,183
    Likes Received:
    7
    Location:
    S.A.
    Find Me On:
    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
     
  11. dmoore

    dmoore Senior Elf

    Joined:
    Apr 26, 2010
    Messages:
    586
    Likes Received:
    0
    Location:
    Houston, TX, USA
    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
     

Share This Page