1. New to Christmas lighting? Get started with the AusChristmasLighting 101 Manual:
    auschristmaslighting.com/wiki/AusChristmasLighting-101

E1.31 Spy - Simple multicast debug tool

Discussion in 'Sequencers & Software Tools' started by BradsXmasLights, Dec 11, 2011.

  1. BradsXmasLights

    BradsXmasLights WiFi Interactive

    Joined:
    Dec 23, 2010
    Messages:
    506
    Likes Received:
    10
    Location:
    Brisbane, Australia
    Find Me On:
    Hi All,
    With LSP randomly deciding not to output, I wrote a simple E1.31 debug tool that listens to the multicast stream.

    Output is displayed visually, as boxes, shaded as per that channels DMX intensity. The 2nd row is channels grouped as per RGB logic, and coloured accordingly.

    Command line arguement can be the DMX universe number to force defaulting to a particular universe.

    Note that (at this stage at least), only one universe can be monitied at a time. Starting a 2nd copy to monitor another universe will fail.
    Also mouse-over the boxes and the channel number will be shown on the tooltip.


    Enjoy!
     

    Attached Files:

  2. dmoore

    dmoore Senior Elf

    Joined:
    Apr 26, 2010
    Messages:
    586
    Likes Received:
    0
    Location:
    Houston, TX, USA
    Thanks for posting this tool. It's little tools like this and xLights and DA_E that are life savers in order to figure out what is "going on" inside all these different systems. I could have seriously used this tool last week since I could never get SACN_view working!

    For the help of others... to use this tool you will need to set the output of your application (such as LSP) to the IP address listed in the tool bar. Note that when you change the universe that the last octet of the IP (x.x.x.Y) will change to match the universe.

    I'll go ahead and throw my feature requests in for this tool:

    * Could it display actual output for a universe in the same way that DA_E does - a grid with boxes and a value of 0-255? This would allow someone that is tracking down issues such as fades from an application not outputting correctly to confirm "is it the hardware or software?" I beta test for LSP and this would be VERY handy since I could screen record the results to prove or disprove an issue.

    * Could it be setup to display multiple universes in the "compressed" view? Since most displays using E131 are multi-universe, it allows you to see if there is one that is a problem such as an output not setup correctly that you think is setup.

    * Could it allow configuration of a specific IP instead of the default? This would allow someone to plug into netbook PC on the "receiving end" with the production display and confirm expected results without having to rejigger the output IP's.

    * The ability to do record and review (not actual output) E131 output. You'd be able to "step through" a recording of a e131 stream where there is quick action and see EXACTLY what a sequencing application is outputting. Again this relates to applications that are not doing what you expect. For someone that is experiencing say, a display with stuck, stuttering, missed output could record a section of the data output from the application and then compare it with the actual sequence. Today there really isn't any way to see, outside of the XML side of a sequence, what is going on "inside" of the output application (LSP, xLights, Vixen, etc). Of course the ability to save and load these captures would be awesome!

    Wow, I can really see this application being a "wire shark" for the E131 world. With a number of good E131 output applications, there is surely a deficit on the receiving side of the E131 equation.
     
  3. OP
    OP
    BradsXmasLights

    BradsXmasLights WiFi Interactive

    Joined:
    Dec 23, 2010
    Messages:
    506
    Likes Received:
    10
    Location:
    Brisbane, Australia
    Find Me On:
    I forgot to add, you'll also need mswinsck.ocx on your system already.

    As for the feature requests...
    1. Grid View of values - yes should be fairly straight forward to do.
    2. Multiple Universes - this is exactly what I wanted to do originally. However technically my app / winsock was locking the UDP recieve port after a single universe binding. There is an SO_REUSEADDR API to avoid this but i couldn't get it to work. (Not sure if this was a legacy Visual Basic 6 problem or a 'programming isn't my day job' problem)
    3. Specific IP? As in Unicast E1.31 operation? Could be done. However the sending app willl need to duplicate it's unicasted output if you want the lights to work at the same time.
    4. Recording - thats an idea. I guess a quick and dirty way would be to dump to a CSV file, a line for every E1.31 packet, columns being a timestamp, followed by the DMX values. Then just open it up in Excel to view.
     
  4. Timon

    Timon Apprentice Elf

    Joined:
    May 9, 2011
    Messages:
    88
    Likes Received:
    0
    Location:
    Tustin, Ca
    Find Me On:
    I'm going to look at some of the network monitoring tools, preferably free or almost free, for one that you can either write protocol plugins for or that output to a file. The advantage to this is that the capture and logging routines, which can be the hardest parts to write, are fully complete and tested leaving one to only write the display section.

    Update.

    There are some good programs out there.

    WireShark: It's free and runs on both windows and macs. Don't know if it had built in support for E1.31 yet.
    nChronos: there is a free version. This is a program that monitors 24x7 and allows you to go back in time. Great front end for WireShark.

    I'll post more once I can check on E1.31 support.
     
  5. fasteddy

    fasteddy I have C.L.A.P Global Moderator Generous Elf

    Joined:
    Apr 26, 2010
    Messages:
    6,501
    Likes Received:
    22
    Location:
    Albion Park NSW
    Find Me On:
    very nice offering, thanks for sharing
     
  6. neilric99

    neilric99 Full Time Elf

    Joined:
    May 20, 2010
    Messages:
    295
    Likes Received:
    0
    Location:
    Irvine, the OC, CA
    Find Me On:
    yes thats pretty straightforward to setup, also there is a free tool out there called sACVN Viewer that is a little more complicated to setup but has more features http://sacnview.sourceforge.net/
     
  7. kane

    kane Dedicated Elf

    Joined:
    Dec 23, 2010
    Messages:
    1,024
    Likes Received:
    5
    Location:
    Trigg (Northern suburbs of Perth)
    Find Me On:
    WireShark does support e1.31 - you need to go in to the settings and enable "Streaming ACN" from memory.. It then decodes the data into a relatively readable format.

    It was very useful for me to work out some issues I had with a couple display elements flickering.. I was able to pinpoint that it wasn't the hardware, as the e1.31 data was dodgy... Was able to then focus on looking at LSP to see what it was doing (in the end, just needed to stick in an extra "off" command before a certain point on those elements)
     
  8. OP
    OP
    BradsXmasLights

    BradsXmasLights WiFi Interactive

    Joined:
    Dec 23, 2010
    Messages:
    506
    Likes Received:
    10
    Location:
    Brisbane, Australia
    Find Me On:
    Yeah Wireshark does indeed support E1.31 now you mention it - that's how i reverse engineered it :D
     
  9. Timon

    Timon Apprentice Elf

    Joined:
    May 9, 2011
    Messages:
    88
    Likes Received:
    0
    Location:
    Tustin, Ca
    Find Me On:
    Looks to with the three we have the tools needed and at least one runs on the Mac, Yea.
     

Share This Page