CShark / usb_dmx

A simple four port USB-DMX ArtNET-Node
GNU General Public License v3.0
14 stars 1 forks source link

ArtNET firmware #2

Closed CShark closed 1 year ago

CShark commented 1 year ago

Add an alternative firmware that emulates an ethernet card and provides ArtNET support to be even more flexible and don't have to rely on janky fixes to plugins on the software.

Flole998 commented 1 year ago

Have you checked the performance/latency of ArtNet vs. USB/FX5 clone? Especially when you want fast operations or quick changes on many channels some interfaces have issues.

I was thinking about implementing the protocol used by digital enlightenment for their USB interface as it allows selecting an operation mode and the protocol seems to be optimized for performance.

CShark commented 1 year ago

Not yet. It is a little slow registering the USB Network driver compared to e.g. a mouse (takes a hot second), but after that I can't see any visible/perceivable lag at all. Theoretically a 150MHz core clock / 70MHz peripheral clock should be plenty fast compared to four times 30KiB/s using DMA. I do want to get the USB enumeration faster anyway, so I'm planning to do some profiling. Will include some USB-Packet to DMX-Output analysis in that session then.

But a quick test looks good. Did fire 512 channels on all four universes and got no visible latency or stuttering when trying to quickly flash a fixture.

CShark commented 1 year ago

Regarding fx5 and digital enlightenment: the fx5 is just a commercialised version of the digital enlightenment device. And I had a couple of gripes with those devices.

  1. Since a month ago or so, a win 11 update broke the output of all (3) my fx5 devices. I could only use the input ports, but the outputs didn't work, especially having multiple fx5 running. I'll try if they work again tomorrow...
  2. If you only need output on windows you're fine. If you also need input, the device will tend to completely freeze from time to time, apparently related to how many other devices are on a specific USB controller (also internal ones). Linux does not have this problem. Had this happen every single time I went on tour with them for every single show. My laptop has issues after ~30min or <10min, depending on which side I plug it in. A stationary PC was mostly fine, only had it occasionally ~twice a year in about 60-70 hours of operation per year.

You can reset them pretty easily though, that's why I put up with them. But I would advise against using their input ports.