The ArtTodData packet is used to encode a list of UIDs received from a particular physical port. This is the Table of Devices or ToD.
It is often useful to identify the physical port that generated the packet. Because Art-Net (for historical reasons) allows a variable number of ports to be encoded in an ArtPollReply, the calculation is not trivial.
ArtTodData->Port is limited to a range of 1-4. It is used in combination with BindIndex to identify the physical port that generated the packet. This is done by referencing data in the ArtPollReply with a matching BindIndex:
The sACN (streaming ACN) protocol is supported in Artistic Licence ethernet products. The differences between Art-Net and sACN lead to some minor clashes which this document seeks to clarify.
In Art-Net, universes are called Port-Address and number from 0 to 32,767. There are 32,768 unique numbers.
In sACN, universes number from 1 to 63,999. There are 64,000 unique numbers. The standard reserves the values of 0 and 64,000 to 65,535 for future expansion.
Clearly there is the potential for confusion over the number ‘0’. If a universe is set to ‘0’ and the sACN protocol is selected, Artistic Licence products will use a universe value of ‘1’ instead.
Merging and arbitration
The sACN protocol uses a concept called Component Identifier (CID) as a method to optionally distinguish unique streams of data, and a concept called Priority as a method to define the priority of a stream.
The following table defines how sACN packets A & B are arbitrated or merged when directed to same universe.
Numerous of the Art-Net packets contain Version numbers.
These can be either the version number of Art-Net or the Node’s version number. The terms ProtVerHi / ProtVerLo are used to describe the Art-Net protocol version number. This has never been changed and is set at:
ProtVerHi = 0
ProtVerLo = 14
The terms VersInfoH / VersInfoL are used to describe the Node’s version number. This field is defined by the manufacturer and usually contains the firmware revision number. The ArtPollReply message contains this information.
Art-Net allows and supports multiple controllers on a network. When there are multiple controllers, Nodes will receive ArtPolls from different controllers which may contain conflicting diagnostics requirements. This is resolved as follows:
If any controller requests diagnostics, the node will send diagnostics. (ArtPoll->Flags->2).
If there are multiple controllers requesting diagnostics, diagnostics shall be broadcast. (Ignore ArtPoll->Flags->3).
The lowest minimum value of Priority shall be used. (Ignore ArtPoll->Priority).
A Node must respond to an ArtPoll with an ArtPollReply within 3 seconds. If the Controller does not receive a response in this time it should consider the Node to have disconnected. It is a requirement of Art-Net that all controllers broadcast an ArtPoll every 2.5 to 3 seconds. This ensures that any network devices can easily detect a disconnect.
In order to make a product visible in DMX-Workshop, the product must reply to an ArtPoll with one or more ArtPollReply. The screenshot below shows a Wire Shark capture of the ArtPollReply packets from a Data-Lynx IOP.
Common errors in formatting ArtPollReply are:
1) The text signature at the top of the packet is “Art-Net”. It is case sensitive.
2) DMX-Workshop only listens on Port 6454 (decimal).
If you have difficulty making your product visible in DMX-Workshop then submit a Wire Shark capture on a support ticket and we will try to help.
There are three methods for finding the IP address of an Art-Net product:
Connect using DMX-Workshop, this will display the product in a network list along with its IP address. DMX-Workshop can be downloaded from here. DMX-Workshop provides a gateway recovery system that uses the RDMnet – LLRP protocol. This allows a gateway to be recovered even when it is on a totally different IP range to DMX-Workshop. The LSI article HelpDesk17-Low-level-recovery-Oct2018 explains this in more detail.
Ping: Open a command line window and use the ping command. If the products are on the normal Art-Net address range, type: “ping 188.8.131.52”. This approach is best on a Mac as Macs do not support net-bios.
Perform a net-bios search (Windows only). To do this, connect the product to your laptop’s network, open browser and type in the net-bios name of the product you are using (see below). Occasionally the net-bios cache in the browser gets out of date. To flush the cache and restart, type “nbtstat -R” in the browser window.