214 lines
5.3 KiB
Markdown
214 lines
5.3 KiB
Markdown
# OpenLCP support for Art-Net
|
|
|
|
The Art-Net 4 Release 1.4dd2 (1/2/2021) describes three members of an Art-Net network:
|
|
- **Controller** : A lighting console.
|
|
- **Node** : A DMX to / from Art-Net device.
|
|
- **Media Server** : A Media Server.
|
|
|
|
The ArtPollReply Styles (Table 4) enumerates those, plus an additional 4 device types:
|
|
- **Route** : A network routing device.
|
|
- **Backup** : A backup device.
|
|
- **Config** : A configuration or diagnostic tool
|
|
- **Visual** : A visualizer
|
|
|
|
The behaviors of Route, Backup, Config, and Visual devices is not specified. The behaviors of Controller, Node, and Media Server are defined, and summarized in a table below.
|
|
|
|
In OpenLCP, the base class for all Art-Net devices is the ARTNET::Device class. ARTNET::Controller and ARTNET::Node inherit from ARTNET::Device virtually, allowing custom implementations that may need to inherit from ARTNET::Controller _and_ ARTNET::Node to do so with a common base ARTNET::Device.
|
|
|
|
- ARTNET::Device carries the implementation for:
|
|
- Rx
|
|
- ArtPoll
|
|
- ArtTimeCode
|
|
- ArtCommand
|
|
- ArtTrigger
|
|
- ArtDmx
|
|
- ArtNzs
|
|
- ArtVlc
|
|
- ArtRdm
|
|
- ArtRdmSub
|
|
-Tx
|
|
- ArtPollReply
|
|
- ArtDiagData
|
|
- ArtTimeCode
|
|
- ArtCommand
|
|
- ArtTrigger
|
|
- ArtDmx
|
|
- ArtNzs
|
|
- ArtVlc
|
|
- ArtRdm
|
|
- ArtRdmSub
|
|
|
|
|
|
- ARTNET::Controller extends ARTNET::Device with:
|
|
- Rx
|
|
- ArtPollReply
|
|
- ArtIpProgReply
|
|
- ArtDiagData
|
|
- ArtFirmwareReply
|
|
- ArtTodData
|
|
- Tx
|
|
- ArtPoll
|
|
- ArtIpProg
|
|
- ArtAddress
|
|
- ArtSync
|
|
- ArtInput
|
|
- ArtFirmwareMaster
|
|
- ArtTodRequest
|
|
- ArtTodControl
|
|
|
|
|
|
- ARTNET::Node extends ARTNET::Device with:
|
|
- Rx
|
|
- ArtIpProg
|
|
- ArtAddress
|
|
- ArtSync
|
|
- ArtInput
|
|
- ArtFirmwareMaster
|
|
- ArtTodRequest
|
|
- ArtTodControl
|
|
- Tx
|
|
- ArtIpProgReply
|
|
- ArtFirmwareReply
|
|
- ArtTodData
|
|
|
|
|
|
## Art-Net Table of Behaviors
|
|
<table>
|
|
<tr>
|
|
<th rowspan=3>OpCode</th>
|
|
<th colspan=3>Controller</th>
|
|
<th colspan=3>Node</th>
|
|
<th colspan=3>Media Server</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan=2>RX Behavior</th><th colspan=2>TX</th>
|
|
<th rowspan=2>RX Behavior</th><th colspan=2>TX</th>
|
|
<th rowspan=2>RX Behavior</th><th colspan=2>TX</th>
|
|
</tr>
|
|
<tr>
|
|
<th>uni</th><th>brd</th>
|
|
<th>uni</th><th>brd</th>
|
|
<th>uni</th><th>brd</th>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtPoll</td>
|
|
<td>ArtPollReply</td><td></td><td>TX</td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtPollReply</td>
|
|
<td></td><td></td><td>TX</td>
|
|
<td></td><td></td><td>TX</td>
|
|
<td></td><td></td><td>TX</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtIpProg</td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td>ArtIpProgReply</td><td></td><td></td>
|
|
<td>ArtIpProgReply</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtIpProgReply</td>
|
|
<td></td><td></td><td></td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td></td><td>TX</td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtAddress</td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtDiagData</td>
|
|
<td></td><td colspan=2>per ArtPoll</td>
|
|
<td></td><td colspan=2>per ArtPoll</td>
|
|
<td></td><td colspan=2>per ArtPoll</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtTimeCode</td>
|
|
<td colspan=9>Application Specific</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtCommand</td>
|
|
<td colspan=9>Application Specific</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtTrigger</td>
|
|
<td colspan=9>Application Specific</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtDmx</td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtSync</td>
|
|
<td></td><td></td><td>TX</td>
|
|
<td>Sync</td><td></td><td></td>
|
|
<td>Sync</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtNzs</td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
<td>Application Specific</td><td>TX</td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtVlc</td>
|
|
<td colspan=9>As ArtNzs</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtInput</td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
<td>ArtPollReply</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtFirmwareMaster</td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td>OpFirmwareReply</td><td></td><td></td>
|
|
<td>OpFirmwareReply</td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtFirmwareReply</td>
|
|
<td>Next OpFirmwareMaster</td><td></td><td></td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td></td><td>TX</td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtTodRequest</td>
|
|
<td></td><td></td><td>TX</td>
|
|
<td>ArtTodData</td><td></td><td></td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtTodData</td>
|
|
<td></td><td></td><td></td>
|
|
<td></td><td></td><td></td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtTodControl</td>
|
|
<td></td><td></td><td>TX</td>
|
|
<td>ArtTodData</td><td></td><td></td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtRdm</td>
|
|
<td></td><td>TX</td><td>tx</td>
|
|
<td></td><td>TX</td><td>tx</td>
|
|
<td></td><td>TX</td><td>tx</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ArtRdmSub</td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td></td><td>TX</td><td></td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
|
|
Art-Net™ is a trade mark of Artistic Licence Holdings Ltd. The Art-Net protocol and associated documentation is copyright Artistic Licence Holdings Ltd.
|