Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

ArtNet, RDM and Packet Interleaving

From wiki.openlighting.org

Revision as of 10:12, 6 September 2010 by Nomis52 (talk | contribs) (Created page with '== RDM over Artnet == ArtNet nodes behave as pass-through devices for non-discovery RDM data. The normal sequence of RDM commands looks like this: [[Image:ArtNetRDMSeq…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

RDM over Artnet

ArtNet nodes behave as pass-through devices for non-discovery RDM data. The normal sequence of RDM commands looks like this:


ArtNetRDMSequence.png


The Potential Problem

The problem occurs when the RDM device responds with an ACK_OVERFLOW message.

From the standard:

To receive the remaining data, the controller should continue to send GET_COMMANDS for the same PID. The responder shall send subsequent blocks of data with a response type of RESPONSE_TYPE_ACK_OVERFLOW until the remaining data can fit in a single message. The responder shall set the response type to RESPONSE_TYPE_ACK on the final response message in the sequence, to indicate completion of the data transfer.

Assuming that PID A causes an ACK_OVERFLOW, the sequence now looks like this:

ArtNetRDMOverflowSequence.png

But the standard also states:

The responder shall abort a partial transfer of overflow data for a PID when receiving a command for a different PID before the overflow data transfer is complete. A subsequent command for the overflow PID will result in a new data transfer starting at the beginning of the data set.

So any RDM packet interleaved between the two GET PID A' commands in the above example will cause the transfer to abort.


  • Note that the Labpack has a bug where it will not abort the transfer so this continues to work. This is present in version 0x20009

References