OpenLCP/docs/doxygen/html/index.html
2021-08-25 17:21:45 -04:00

187 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenLCP: OpenLCP</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OpenLCP
&#160;<span id="projectnumber">0.2.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">OpenLCP </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md__home_kevin_Code_viewer_lib_OpenLCP_README"></a> A collection of C++ libraries for Lighting Control Protocols, focusing on ESTA sponsored ANSI standards.</p>
<p><img src="http://company235.com/img/establockdiagram.png" alt="ESTA Protocols Block Diagram" class="inline"/></p>
<h1><a class="anchor" id="autotoc_md23"></a>
Object Architecture</h1>
<p>The library encompases both the structured data being communicated between controllable components, and the control objects that expose the data in meaningful ways, without needing to know or understand the underlying protocols.</p>
<h2><a class="anchor" id="autotoc_md24"></a>
Objects</h2>
<p>Control objects are structured thusly;</p>
<p><img src="http://company235.com/img/classdiagram.png" alt="Architecture Flowchart" class="inline"/></p>
<h2><a class="anchor" id="autotoc_md25"></a>
Data</h2>
<p>Serveral of the ESTA protocols use the E1.17 Protocol Data Unit to transfer data. The <code>PDU</code> are a series of nested hierarchical data structures. <code>PDU</code> may encapsulate one or more <code>PDU</code> of an embedded protocol, or be a data endpoint for that protocol. The following slide describes the relational hierocracy of the <code>PDU</code> within <code>ACN</code>, <code>sACN</code>, <code>RDMnet</code>, and <code>OTP</code>. While similiar in structure and concept, the <code>PDU</code> in <code>RDMnet</code> do not inherit directly from the <code>PDU</code> in <code>ACN</code>, and the <code>PDU</code> in <code>OTP</code> are notably simpler, as data segments may not be inherited from sibling <code>PDU</code> in the data. <br />
</p>
<p><img src="http://company235.com/img/pduflowchart.png" alt="PDU Hierarch Flowchart" class="inline"/></p>
<h1><a class="anchor" id="autotoc_md26"></a>
Supported Standards</h1>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadLeft">Protocol Name </th><th class="markdownTableHeadCenter">Standard </th><th class="markdownTableHeadCenter">Implementation Status </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">0 to 10 V Analog Control </td><td class="markdownTableBodyCenter">E1.3 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">USITT DMX512-A </td><td class="markdownTableBodyCenter">E1.11 </td><td class="markdownTableBodyCenter">Data Abstraction </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">ACN Root Layer Protocol (RLP) </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter">Rx </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">ACN Session Data Transport Protocol (SDT) </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">ACN Device Management Protocol (DMP) </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter">Limited </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">ACN Device Description Language (DDL) </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 10 - Autogeneration of Multicast Address on IPv4 Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 11 - Retrieval of Device Descriptions from DMP Devices on IPv4 Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 12 - ACN on Homogeneous Ethernet Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 13 - Allocation of Internet Protocol Version 4 Addresses to ACN Hosts </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 15 - ACN Allocation of Multicast Addresses on IPv4 Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 16 - ESTA Registered Names and Identifiers </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 17 - ACN Root Layer Protocol Operation on UDP </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter">Rx </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 18 - Operation of SDT on UDP Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 19 - ACN Discovery on IP Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 20 - MTU Size for ACN on IPv4 Networks </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 22 - DDL Core Modules for ACN Devices </td><td class="markdownTableBodyCenter">E1.17 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">Remote Device Management (<a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a>) </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter">Responder </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Subdevice </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Sensors </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Discovery </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Required PIDs </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Status collection PIDs </td><td class="markdownTableBodyCenter">E1.20 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 23 - Device Identification Subdevice </td><td class="markdownTableBodyCenter">E1.30-1 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 25 - Time Reference in ACN Systems Using SNTP and NTP </td><td class="markdownTableBodyCenter">E1.30-3 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 26 - DDL Extensions for DMX and <a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Devices </td><td class="markdownTableBodyCenter">E1.30-4 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">EPI 32 - Identification of Draft DDL Modules </td><td class="markdownTableBodyCenter">E1.30-10 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">EPI 33 - ACN RLP Operation on TCP </td><td class="markdownTableBodyCenter">E1.30-11 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">Streaming ACN (sACN) </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter">Partial </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">sACN Receiver </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">sACN Source </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter">Limited </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">sACN Data </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">sACN Sync </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">sACN Discovery </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">sACN Preview </td><td class="markdownTableBodyCenter">E1.31 </td><td class="markdownTableBodyCenter">- </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">RDMNet </td><td class="markdownTableBodyCenter">E1.33 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Dimmer Message Sets </td><td class="markdownTableBodyCenter">E1.37-1 </td><td class="markdownTableBodyCenter">Normative </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> IPv4 &amp; DNS Configuration Messages </td><td class="markdownTableBodyCenter">E1.37-2 </td><td class="markdownTableBodyCenter">Normative </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft"><a class="el" href="de/d93/namespace_r_d_m.html" title="ANSI E1.37-1 2012 (R2017) Additional Message Sets for ANSI E1.20 (RDM) Part 1,...">RDM</a> Gateway &amp; Splitter Configuration Messages </td><td class="markdownTableBodyCenter">E1.37-7 </td><td class="markdownTableBodyCenter">Normative </td></tr>
</table>
<h2><a class="anchor" id="autotoc_md27"></a>
Dependent Protocols</h2>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadLeft">Protocol Name </th><th class="markdownTableHeadCenter">Standard </th><th class="markdownTableHeadCenter">Referenced By </th><th class="markdownTableHeadCenter">Implementation Status </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">UUID Universally Unique Identifier </td><td class="markdownTableBodyCenter">RFC 4122 </td><td class="markdownTableBodyCenter">RLP, DDL </td><td class="markdownTableBodyCenter">Partial </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">Service Location Protocol (SLP) </td><td class="markdownTableBodyCenter">RFC 2609 </td><td class="markdownTableBodyCenter">EPI 19 </td><td class="markdownTableBodyCenter"></td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">Trivial File Transfer Protocol (TFTP) </td><td class="markdownTableBodyCenter">RFC 1350 </td><td class="markdownTableBodyCenter">EPI 25 </td><td class="markdownTableBodyCenter"></td></tr>
</table>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>