From 8848e821193bc38919d0f514522c90cc69f7e86b Mon Sep 17 00:00:00 2001
From: Jochen Vothknecht <jochen3120@gmail.com>
Date: Mon, 28 Mar 2022 13:56:40 +0200
Subject: [PATCH] =?UTF-8?q?Moar=20networking=20doc=20=F0=9F=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 SiliconTorch/README.md      | 15 +++++++++++++++
 SiliconTorch/doc/fxCyan.edn |  9 +++++++++
 SiliconTorch/doc/fxCyan.svg |  1 +
 3 files changed, 25 insertions(+)
 create mode 100644 SiliconTorch/doc/fxCyan.edn
 create mode 100644 SiliconTorch/doc/fxCyan.svg

diff --git a/SiliconTorch/README.md b/SiliconTorch/README.md
index fe263b9..ce896f8 100644
--- a/SiliconTorch/README.md
+++ b/SiliconTorch/README.md
@@ -4,3 +4,18 @@ SiliconTorch
 `SiliconTorch` is the `python` reference implementation for the `fxCyanF`-protocol
 
 It will be moved to a separate repo when it matures
+
+
+Protocol documentation
+----------------------
+
+Documentation of the used (network-)protocols inside of `SiliconTorch`
+
+
+### `fxCyan`
+
+The name of the packet envelope and the static header ob `CyanBus`.
+
+Packets look like below, `CRC` is calculated over payload only.
+
+![](doc/fxCyan.svg)
diff --git a/SiliconTorch/doc/fxCyan.edn b/SiliconTorch/doc/fxCyan.edn
new file mode 100644
index 0000000..e63e4e7
--- /dev/null
+++ b/SiliconTorch/doc/fxCyan.edn
@@ -0,0 +1,9 @@
+
+;; This is bytefield-svg code to describe the fxCyan packet envelope
+
+(draw-column-headers)
+(draw-box "b'fxCyan'" {:span 6})
+(draw-box "Size" {:span 2})
+(draw-gap "Payload")
+(draw-box "CRC-XY" {:span 4})  ;; TODO: Which CRC algorithm exactly???
+(draw-bottom)
diff --git a/SiliconTorch/doc/fxCyan.svg b/SiliconTorch/doc/fxCyan.svg
new file mode 100644
index 0000000..5e4b52a
--- /dev/null
+++ b/SiliconTorch/doc/fxCyan.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="681" height="146" viewBox="0 0 681 146" ><text x="60" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >0</text><text x="100" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >1</text><text x="140" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >2</text><text x="180" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >3</text><text x="220" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >4</text><text x="260" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >5</text><text x="300" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >6</text><text x="340" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >7</text><text x="380" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >8</text><text x="420" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >9</text><text x="460" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >a</text><text x="500" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >b</text><text x="540" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >c</text><text x="580" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >d</text><text x="620" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >e</text><text x="660" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >f</text><line x1="40" y1="15" x2="280" y2="15" stroke="#000000" stroke-width="1" /><line x1="40" y1="45" x2="280" y2="45" stroke="#000000" stroke-width="1" /><line x1="280" y1="15" x2="280" y2="45" stroke="#000000" stroke-width="1" /><line x1="40" y1="15" x2="40" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="160" y="31" text-anchor="middle" dominant-baseline="middle" >b'fxCyan'</text><line x1="280" y1="15" x2="360" y2="15" stroke="#000000" stroke-width="1" /><line x1="280" y1="45" x2="360" y2="45" stroke="#000000" stroke-width="1" /><line x1="360" y1="15" x2="360" y2="45" stroke="#000000" stroke-width="1" /><line x1="280" y1="15" x2="280" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="320" y="31" text-anchor="middle" dominant-baseline="middle" >Size</text><line x1="360" y1="15" x2="680" y2="15" stroke="#000000" stroke-width="1" /><line x1="680" y1="15" x2="680" y2="45" stroke="#000000" stroke-width="1" /><line x1="360" y1="15" x2="360" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="520" y="31" text-anchor="middle" dominant-baseline="middle" >Payload</text><text font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" x="35" y="30" text-anchor="end" >00</text><text font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" x="35" y="60" text-anchor="end" >10</text><line x1="40" y1="45" x2="40" y2="60" stroke="#000000" stroke-width="1" /><line x1="680" y1="45" x2="680" y2="60" stroke="#000000" stroke-width="1" /><line stroke-dasharray="1,1" x1="40" y1="60" x2="680" y2="90" stroke="#000000" stroke-width="1" /><line x1="680" y1="45" x2="680" y2="90" stroke="#000000" stroke-width="1" /><line stroke-dasharray="1,1" x1="40" y1="70" x2="680" y2="100" stroke="#000000" stroke-width="1" /><line x1="40" y1="70" x2="40" y2="100" stroke="#000000" stroke-width="1" /><line x1="40" y1="100" x2="40" y2="115" stroke="#000000" stroke-width="1" /><line x1="680" y1="100" x2="680" y2="115" stroke="#000000" stroke-width="1" /><text font-size="11" font-family="Palatino, Georgia, Times New Roman, serif" font-style="italic" dominant-baseline="middle" x="35" y="130" text-anchor="end" >i+<tspan font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" >00</tspan></text><line x1="40" y1="115" x2="200" y2="115" stroke="#000000" stroke-width="1" /><line x1="40" y1="145" x2="200" y2="145" stroke="#000000" stroke-width="1" /><line x1="200" y1="115" x2="200" y2="145" stroke="#000000" stroke-width="1" /><line x1="40" y1="115" x2="40" y2="145" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="120" y="131" text-anchor="middle" dominant-baseline="middle" >CRC-XY</text><line x1="40" y1="115" x2="680" y2="115" stroke="#000000" stroke-width="1" /></svg>
\ No newline at end of file
-- 
GitLab