Site checkin for project PLC4X: Jenkins Tools
diff --git a/images/users/protocols/ads_banner.png b/images/users/protocols/ads_banner.png
new file mode 100644
index 0000000..e8ee131
--- /dev/null
+++ b/images/users/protocols/ads_banner.png
Binary files differ
diff --git a/images/users/protocols/bacnet_banner.png b/images/users/protocols/bacnet_banner.png
new file mode 100644
index 0000000..75832b2
--- /dev/null
+++ b/images/users/protocols/bacnet_banner.png
Binary files differ
diff --git a/images/users/protocols/can_banner.png b/images/users/protocols/can_banner.png
new file mode 100644
index 0000000..53eeb66
--- /dev/null
+++ b/images/users/protocols/can_banner.png
Binary files differ
diff --git a/images/users/protocols/knx_banner.png b/images/users/protocols/knx_banner.png
new file mode 100644
index 0000000..4bd8c4b
--- /dev/null
+++ b/images/users/protocols/knx_banner.png
Binary files differ
diff --git a/users/protocols/ads.html b/users/protocols/ads.html
index 16f49ef..0dd35b6 100644
--- a/users/protocols/ads.html
+++ b/users/protocols/ads.html
@@ -292,25 +292,113 @@
         </nav>
                                             <main role="main" class="ml-sm-auto px-4 col-sm-pull col-md-9 col-lg-10 h-100">
             <div class="sect1">
-<h2 id="adsams">ADS/AMS</h2>
+<h2 id="ads_automation_device_specification">ADS (Automation Device Specification)</h2>
 <div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../../images/users/protocols/ads_banner.png" alt="banner" width="512" height="167"/>
+</div>
+</div>
+<div class="paragraph">
+<p>The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between Beckhoff automation devices running TwinCAT and other devices implementing this interface. <a href="https://www.home-assistant.io/integrations/ads/" class="bare">https://www.home-assistant.io/integrations/ads/</a> Source (accessed 7 August 2022)</p>
+</div>
+<div class="paragraph">
+<p>ADS device concept: <a href="https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=" class="bare">https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=</a> Source (accessed 7 August 2022)</p>
+</div>
+<div class="paragraph">
+<p>Specifcation for ADS devices: <a href="https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=" class="bare">https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=</a> Source (accessed 7 August 2022)</p>
+</div>
 <div class="sect2">
 <h3 id="structure_amstcp_packet">Structure AMS/TCP Packet</h3>
+<div class="paragraph">
+<p>ADS (Automation Device Specification) is the TwinCAT communication protocol that specifies the interaction between two ADS devices. For example, it defines what operations can be executed on another ADS device, what parameters are necessary for that and what return value is sent after execution.</p>
+</div>
+<div class="paragraph">
+<p>AMS (Automation Message Specification) specifies the exchange of the ADS data. A major component of the communication protocol is the AmsNetId. This is specified in the AMS/ADS package for the source and target device. An ADS device can be explicitly addressed using the AmsNetId.
+Source <a href="https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=" class="bare">https://infosys.beckhoff.com/english.php?content=../content/1033/ams_nat/4275563275.html&amp;id=</a> (accessed 7 August 2022)</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="connection_string_options">Connection String Options</h3>
 <table class="tableblock frame-all grid-all stretch">
 <colgroup>
-<col style="width: 100%;"/>
+<col style="width: 22.2222%;"/>
+<col style="width: 22.2222%;"/>
+<col style="width: 55.5556%;"/>
 </colgroup>
 <thead>
 <tr>
-<th class="tableblock halign-left valign-top">AMS/TCP Header</th>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Value</th>
+<th class="tableblock halign-left valign-top">Description</th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">AMS Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Code</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="paragraph">
+<p><code>ADS</code></p>
+</div></div></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ADS Data</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="paragraph">
+<p>ADS Protocol</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maven Dependency</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="listingblock">
+<div class="content">
+<pre>&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.plc4x&lt;/groupId&gt;
+  &lt;artifactId&gt;plc4j-driver-ads&lt;/artifactId&gt;
+  &lt;version&gt;{current-last-released-version}&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default Transport:</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="paragraph">
+<p> <code>tcp</code></p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top" colspan="3"><p class="tableblock">Supported Operations</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p><code>read</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top" colspan="3"><p class="tableblock">Options</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">AmsNetId</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>getTargetAmsNetId()</p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>setTargetAmsNetId(AmsNetId targetAmsNetId)</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">AmsNetIdConverter</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">targetAmsPort</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>getDefaultPort(48898)</p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>Defaults to 48898</p>
+</div></div></td>
 </tr>
 </tbody>
 </table>
@@ -349,10 +437,8 @@
 <div class="sect2">
 <h3 id="more_details_on">More details on</h3>
 <div class="paragraph">
-<p>For details about the protocol look here: <a href="http://www.beckhoff.com/" class="bare">http://www.beckhoff.com/</a></p>
-</div>
-<div class="paragraph">
-<p>Source: <a href="https://infosys.beckhoff.com/english.php?content=../content/1033/tcadsamsspec/html/tcadsamsspec_intro.htm">Structure AMS/TCP Packet</a></p>
+<p>For details about the protocol look here: <a href="http://www.beckhoff.com/" class="bare">http://www.beckhoff.com/</a>
+&amp; (German Handbook: <a href="https://download.beckhoff.com/download/Document/automation/twincat3/TwinCAT_3_ADS_INTRO_DE.pdf" class="bare">https://download.beckhoff.com/download/Document/automation/twincat3/TwinCAT_3_ADS_INTRO_DE.pdf</a>)</p>
 </div>
 </div>
 </div>
diff --git a/users/protocols/bacnetip.html b/users/protocols/bacnetip.html
index 1173e7b..6a1c0bd 100644
--- a/users/protocols/bacnetip.html
+++ b/users/protocols/bacnetip.html
@@ -294,6 +294,11 @@
             <div class="sect1">
 <h2 id="bacnetip">BACnet/IP</h2>
 <div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../../images/users/protocols/bacnet_banner.png" alt="banner" width="512" height="167"/>
+</div>
+</div>
 <div class="sect2">
 <h3 id="bacnet_building_automation_and_control_networks">BACnet (Building Automation and Control Networks)</h3>
 <table class="tableblock frame-all grid-all stretch">
@@ -326,7 +331,11 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Maven Dependency</p></td>
 <td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="listingblock">
 <div class="content">
-<pre>to be updated (tbu)</pre>
+<pre>&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.plc4x&lt;/groupId&gt;
+  &lt;artifactId&gt;plc4j-driver-bacnet&lt;/artifactId&gt;
+  &lt;version&gt;{current-last-released-version}&lt;/version&gt;
+&lt;/dependency&gt;</pre>
 </div>
 </div></div></td>
 </tr>
@@ -337,12 +346,15 @@
 </div></div></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Compatible Transports:</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Supported Transport:</p></td>
 <td class="tableblock halign-left valign-top" colspan="2"><div class="content"><div class="ulist">
 <ul>
 <li>
 <p><code>tcp</code></p>
 </li>
+<li>
+<p><code>udp</code></p>
+</li>
 </ul>
 </div></div></td>
 </tr>
@@ -352,13 +364,79 @@
 <tr>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
-<p><code>tbu</code></p>
+<p><code>read</code></p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><div class="content"></div></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top" colspan="3"><p class="tableblock">Options</p></td>
 </tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">getFilter() / setFilter(String)</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>"filter"</p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>StringDefaultValue("")</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>BACNET_IP_PORT(47808)</p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>Defaults to 47808</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
+<p>getProtocolId</p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">getPcapPacketHandler()</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">getEdeDirectoryPath() / setEdeDirectoryPath(String edeDirectoryPath)</p></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+</tbody>
+</table>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;"/>
+<col style="width: 33.3333%;"/>
+<col style="width: 33.3334%;"/>
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Data array</th>
+<th class="tableblock halign-left valign-top">Size</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
 </tbody>
 </table>
 </div>
@@ -367,8 +445,6 @@
 <div class="paragraph">
 <p><a href="http://www.bacnet.org/">BACnet - A Data Communication Protocol for Building Automation and Control Networks</a></p>
 </div>
-<table class="tableblock frame-all grid-all stretch">
-</table>
 </div>
 </div>
 </div>
diff --git a/users/protocols/can.html b/users/protocols/can.html
index 3516709..3559772 100644
--- a/users/protocols/can.html
+++ b/users/protocols/can.html
@@ -294,6 +294,11 @@
             <div class="sect1">
 <h2 id="can_bus_driver_adapter">CAN Bus Driver Adapter</h2>
 <div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../../images/users/protocols/can_banner.png" alt="banner" width="512" height="167"/>
+</div>
+</div>
 <div class="paragraph">
 <p>The CAN Bus driver is a special kind of driver which does not bring any logic.
 Its responsibility is to combine <a href="../transports/can.html">CAN transport facade</a> and custom application layer protocols.
diff --git a/users/protocols/canopen.html b/users/protocols/canopen.html
index 44d66a0..c14363c 100644
--- a/users/protocols/canopen.html
+++ b/users/protocols/canopen.html
@@ -294,6 +294,11 @@
             <div class="sect1">
 <h2 id="canopen">CANopen</h2>
 <div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../../images/users/protocols/can_banner.png" alt="banner" width="512" height="167"/>
+</div>
+</div>
 <div class="sect2">
 <h3 id="can_in_automation">CAN in Automation</h3>
 <div class="paragraph">
diff --git a/users/protocols/knxnetip.html b/users/protocols/knxnetip.html
index 8b3a68a..be7176b 100644
--- a/users/protocols/knxnetip.html
+++ b/users/protocols/knxnetip.html
@@ -294,6 +294,11 @@
             <div class="sect1">
 <h2 id="knxnetip">KNXnet/IP</h2>
 <div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="../../images/users/protocols/knx_banner.png" alt="banner" width="512" height="167"/>
+</div>
+</div>
 <div class="sect2">
 <h3 id="connection_string_options">Connection String Options</h3>
 <table class="tableblock frame-all grid-all stretch">