Posted on

Developer: Art-Net – Identifying the source of an ArtTodData packet

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:

ArtPollReplyData->BindIndex == ArtTodData->BindIndex

An ArtPollReply can encode between 1 and 4 physical ports, defined by ArtPollReply->NumPortsLo. This number must be used when calculating the physical port in order to allow for the variable encoding.

The calculation is:

Physical Port = (BindIndex-1) * ArtPollReply->NumPortsLo + ArtTodData->Port

As most modern Art-Net gateways implement one universe per ArtPollReply, ArtTodData->Port will usually be set to a value of 1.

The following tables show how this works in practice:

A gateway that has 5 physical ports and encodes 1 port per ArtPollReply (the recommended modern implementation).

Physical port 1-xArtTodData->BindIndexArtPollReply->NumPortsLoArtTodData->Port
1111
2211
3311
4411
5511

A gateway that has 9 physical ports and encodes 2 ports per ArtPollReply (very widely implemented in Art-Net 3 era products).

Physical port 1-xArtTodData->BindIndexArtPollReply->NumPortsLoArtTodData->Port
1121
2122
3221
4222
5321
6322
7421
8422
9521

A gateway that has 9 physical ports and encodes 4 ports per ArtPollReply (very widely implemented in Art-Net 3 era products).

Physical port 1-xArtTodData->BindIndexArtPollReply->NumPortsLoArtTodData->Port
1141
2142
3143
4144
5241
6242
7243
8244
9341

Posted on

Gateways: sACN and Art-Net implementation

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.

Universe numbering

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.

Posted on

Developer: Art-Net Version Numbers

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.

Posted on

Developer: Art-Net – Multiple controllers

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).
Posted on

Developer: Art-Net – ArtPoll and ArtPollReply timeout

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.

Posted on

Developer: Art-Net – Implementing ArtPoll and ArtPollReply

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.

artpollreply in wireshark
artpollreply in wireshark

Posted on

Gateways: Reset product IP address

Our gateway products, which include artLynx uno, artLynx duo, artLynx quad, artLynx RJ45, netLynx quad, rackLynx octo and dataLynx II all have a factory reset switch. To reset to factory defaults, hold down the switch and cycle the power. Once you have reset to the factory default, the IP address will change. See Gateway: Finding the IP Address of a product.

The IP address of legacy Artistic Licence network products can be reset to factory default using the front panel controls as described below:

cached

IP reset procedure (legacy products)

A: Set Sub-Net wheel and both Universe wheels to F, power off, power on.
B: Set Sub-Net wheel to 9, power off, power on, power off, set Sub-Net wheel to F, power on.

ProductIP reset procedure
AL5001A
AL5002A
Data-Lynx O/PB
Data-Lynx I/PB
Data-Lynx IO/PB
Down-LynxA
Up-LynxA
Net-Lynx O/PA
Net-Lynx I/PA
Cata-Lynx I/PA
Cata-Lynx O/PA
Ether-Lynx IIB
Art-Lynx O/PA
Art-Lynx I/PA
Art-PipeB
Art-RelayB
Multichrome E1 & E2A

Posted on

Gateways: Finding the IP Address of a product

There are three methods for finding the IP address of an Art-Net product:

  1. 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.
  2. Ping: Open a command line window and use the ping command. If the products are on the normal Art-Net address range, type: “ping 2.255.255.255”. This approach is best on a Mac as Macs do not support net-bios.
  3. 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.

Current Products (product code – net-bios name)

  • oemGate quad – oemGatequad
  • rackLynx octo – rackLynx
  • daliGate quad – daliGatequad
  • netLynx quad – netLynxquad
  • dataLynx II – dataLynxII
  • artLynx duo – artLynxduo
  • artLynx quad – artLynxquad
  • artLynx RJ45 – artLynxRJ45
  • versaSplit EthB – VersaEtherB

Legacy Products (product code – net-bios name)

  • Data-Lynx O/P – DATALYNXOP
  • Data-Lynx I/P – DATALYNXIP
  • Data-Lynx I/OP – DATALYNXIO
  • Down-Lynx – DownLynx
  • Up-Lynx – UpLynx
  • Net-Lynx O/P – NetLynxOp
  • Net-Lynx I/P – NetLynxIp
  • Cata-Lynx I/P – CataLynxIp
  • Cata-Lynx O/P – CataLynxOp
  • Ether-Lynx II – EtherLynxII
  • Art-Lynx O/P – ArtLynxOp
  • Art-Lynx I/P – ArtLynxIp
  • Art-Pipe – ArtPipe
  • Art-Relay – ArtRelay
  • Multichrome E2 – E2MultiChrome
  • Eaton / Cooper Controls EN2RDM – EN2RDM
  • Eaton / Cooper Controls EN8RDM – EN8RDM
  • Thorn SensaDMX – SENSAEDMX
  • Lex Products LexNet – LEXNET