diff --git a/ARTISTIC.bib b/ARTISTIC.bib new file mode 100644 index 0000000..e79602d --- /dev/null +++ b/ARTISTIC.bib @@ -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" +} diff --git a/README.md b/README.md index 32a5d23..e58bec2 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index d304c37..3ab65bf 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -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 diff --git a/protocol/CMakeLists.txt b/protocol/CMakeLists.txt index c1ed1df..954f61c 100644 --- a/protocol/CMakeLists.txt +++ b/protocol/CMakeLists.txt @@ -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}) diff --git a/protocol/artnet/CMakeLists.txt b/protocol/artnet/CMakeLists.txt new file mode 100644 index 0000000..eb21a1f --- /dev/null +++ b/protocol/artnet/CMakeLists.txt @@ -0,0 +1,4 @@ +target_sources(${PROJECT_NAME} + PRIVATE + + ) diff --git a/protocol/artnet/README.md b/protocol/artnet/README.md new file mode 100644 index 0000000..675dea6 --- /dev/null +++ b/protocol/artnet/README.md @@ -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)_ + +
OpCode | +Controller | +Node | +Media Server | +||||||
---|---|---|---|---|---|---|---|---|---|
RX Behavior | TX | +RX Behavior | TX | +RX Behavior | TX | +||||
uni | brd | +uni | brd | +uni | brd | +||||
ArtPoll | +ArtPollReply | TX | +ArtPollReply | + | ArtPollReply | + | |||
ArtPollReply | +TX | +TX | +TX | +||||||
ArtIpProg | +TX | + | ArtIpProgReply | + | ArtIpProgReply | + | |||
ArtIpProgReply | ++ | TX | + | TX | + | ||||
ArtAddress | +TX | + | ArtPollReply | + | ArtPollReply | + | |||
ArtDiagData | +per ArtPoll | +per ArtPoll | +per ArtPoll | +||||||
ArtTimeCode | +Application Specific | +||||||||
ArtCommand | +Application Specific | +||||||||
ArtTrigger | +Application Specific | +||||||||
ArtDmx | +Application Specific | TX | + | Application Specific | TX | + | Application Specific | TX | + |
ArtSync | +TX | +Sync | + | Sync | + | ||||
ArtNzs | +Application Specific | TX | + | Application Specific | TX | + | Application Specific | TX | + |
ArtVlc | +As ArtNzs | +||||||||
ArtInput | +TX | + | ArtPollReply | + | ArtPollReply | + | |||
ArtFirmwareMaster | +TX | + | OpFirmwareReply | + | OpFirmwareReply | + | |||
ArtFirmwareReply | +Next OpFirmwareMaster | + | TX | + | TX | + | |||
ArtTodRequest | +TX | +ArtTodData | + | + | |||||
ArtTodData | ++ | + | + | ||||||
ArtTodControl | +TX | +ArtTodData | + | + | |||||
ArtRdm | +TX | tx | +TX | tx | +TX | tx | +|||
ArtRdmSub | +TX | + | TX | + | + |