Been a very constructive thread this.
Been a very constructive thread this.
Wow, quick responses from all our e1.31 heavy hitters!
So can I ask another question? What plans (if any) do Jim and MPH have for unicast support?
(And just to be sure I understand, as well as for some readers to whom this might be slightly vague - I believe that means it responds to UDP packets directed at the particular IP address; while multicast means receiving packets broadcast to every device in the subnet. If configured to receive unicast only, a given device would not have to spend as much time discarding uninteresting packets on a busy subnet; also, even a consumer ethernet switch would send these unicast packets out only the physical port containing the device - once it learns that info - and thus reduce the need for devices on other ports to even see packets not addressed to them. Right?)
I think I understand that Jim uses the WizNet's four ports to pre-filter which universes it receives and thus reduce the load on the main processor, with the limitation of 4 universes (soon to be expended to 8 with the W5200 perhaps). Ed and MPH use a Microchip stack which seems not to have this limitation?
I think there's one other player in the niche of home christmas automation doing ethernet to pixel string conversion, RJ. I think he may be using his own non-e1.31 protocol on ethernet tho, to be transferred to his 1 MBps RS-485 pixelnet controllers.
It will also be made available for all previous incarnations of the E16 ( the e16, e16-ii ) as an upgrade.
We support 8 universes at up to 50fps. We actually know it works way past that, but the drive electronics are the limiting factor for the e16, not the IP stack.. I figure the limit is about 40-45 universes for our hardware. Ed is using a faster/bigger/meaner Pic32, and he probably can get a few more universes out of his, before the magic stops.Ed and MPH use a Microchip stack which seems not to have this limitation?
Very niche, and not so standard..I think there's one other player in the niche of home christmas automation doing ethernet to pixel string conversion, RJ. I think he may be using his own non-e1.31 protocol on ethernet tho, to be transferred to his 1 MBps RS-485 pixelnet controllers.
Last edited by mrpackethead; 03-27-2012 at 10:21 PM. Reason: fixed the quote tags
i think my headroom is even higher. i run out of RAM (128K!!!!) long before bandwidth. PIC32 can handle 8783KBps (that's kilobytes per second) of UDP before choking according to microchip stats. but we all know that stats and real world are different.
I was working on unicast last year at the request of a customer who was concerned about using multicast with a large number of universes. Once it was determined that there wasn't an issue with multicast in his configuration, the unicast support got put on the back burner. In my case it would have to be a configuration option where the user would select unicast or multicast, as opposed to supporting both simultaneously.
For most setups I think multicast makes the most sense. All you have to do is match universe numbers on the sender and the receiver, no need to worry about configuring the sender to send certain universes to certain IP addresses.
I agree that 100% compliance with the standard should be the goal. On the other hand, look at the DMX standard. How many DMX devices have a 5-pin XLR connector?
The Sandevices E680/E681/E682 Pixel Controllers, part of the PIXEL PROJECT
www.sandevices.com <-email jim at
Very informative, thanks.
To give some background on my interest, I've been thinking of doing a modest single universe of (non IGMP) e1.31 to pixels using an Arduino. Probably not for running my show - I'll use your well crafted products when it really counts. But for fun and learning, and because my preliminary passes at it make me think it could work, and because I want to go under the hood and incorporate some local interactivity. Not a lot of horsepower in a 16MHz ATMega328, so it will be interesting (the PIC24 SSC RJ uses to run each string has a lot more oomph!). So this is not in the same league as what you're doing, but it gives me a place from which to better appreciate your work.
And maybe ask a tip or two now and then...
So if this actually works, I now know that I'll have to say it's not e1.31, but it by some coincidence happens to work with the e1.31 driver in Vixen :-)
(I haven't been coding where I can feel the bits and registers between my toes for a long time - since the days when the IBM PC could be used as a microcontroller with direct hardware access, without all the abstractions between me and the chips. I was the author of a once widely circulated FAQ/Tutorial on using the IBM PC Parallel Port for electronic interfacing "back in the day").
What part of North California Zeph.. I often transit through San Francisco.. on my way in or out of the USA.
As an interesting aside to all this, i'm about to deploy a large project using and Art-net II protocol system in unicast, and we'll be deploying 420 universes. Yes, doe'snt the Art-net II standard only support 256 universes. Guess what lots of testing going on here.
Last edited by mrpackethead; 03-28-2012 at 02:46 AM.