1
0
Fork 0

Prepare to support the Art-Net protocol.

This commit is contained in:
Kevin Matz 2022-06-04 10:54:45 -04:00
parent fa24d64c72
commit b0c291b146
6 changed files with 166 additions and 2 deletions

9
ARTISTIC.bib Normal file
View File

@ -0,0 +1,9 @@
@String{ARTISTIC = "Artistic Licence Holdings Ltd."}
@manual{ARTNET,
key = "ARTNET",
title = "Specification for the Art-Net 4 Ethernet Communication Protocol",
organization = ARTISTIC,
year = 2021,
address = "Bovey Tracey, England"
}

View File

@ -81,6 +81,10 @@ may not be inherited from sibling `PDU` in the data.
| RDM IPv4 & DNS Configuration Messages | E1.37-2 | Normative |
| RDM Gateway & Splitter Configuration Messages | E1.37-7 | Normative |
### Non-Standard Protocols
| Protocol | Designer | Version | Implementation Status |
| :- | :- | :-: | :-: |
| Art-Net | Artistic Licence Holdings Ltd. | Protocol 4 v1.4 | |
### Dependent Protocols
| Protocol Name | Standard | Referenced By | Implementation Status |
@ -92,7 +96,7 @@ may not be inherited from sibling `PDU` in the data.
## License
Copyright © 2020,2021 Kevin Matz
Copyright © 2020-2022 Kevin Matz
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -102,7 +102,8 @@ SHOW_FILES = NO
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES = @CMAKE_CURRENT_SOURCE_DIR@/ESTA.bib \
CITE_BIB_FILES = @CMAKE_CURRENT_SOURCE_DIR@/ARTISTIC.bib \
@CMAKE_CURRENT_SOURCE_DIR@/ESTA.bib \
@CMAKE_CURRENT_SOURCE_DIR@/IETF.bib
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages

View File

@ -29,6 +29,8 @@ include(sacn/CMakeLists.txt)
include(rdmnet/CMakeLists.txt)
# E1.56
include(otp/CMakeLists.txt)
# Art-Net 4
include(artnet/CMakeLists.txt)
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})

View File

@ -0,0 +1,4 @@
target_sources(${PROJECT_NAME}
PRIVATE
)

144
protocol/artnet/README.md Normal file
View File

@ -0,0 +1,144 @@
The Art-Net Version 4 describes three members of an Art-Net network:
- **Controller** _(requests)_
- **Node** _(replies)_
- **Media Server** _(mx extensions)_
<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.