summaryrefslogtreecommitdiffstats
path: root/architecture.drawio
diff options
context:
space:
mode:
Diffstat (limited to 'architecture.drawio')
-rw-r--r--architecture.drawio161
1 files changed, 161 insertions, 0 deletions
diff --git a/architecture.drawio b/architecture.drawio
new file mode 100644
index 0000000..1738f3b
--- /dev/null
+++ b/architecture.drawio
@@ -0,0 +1,161 @@
+<mxfile host="Electron" modified="2025-08-22T07:31:13.719Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.1.21 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="CM1afp43bA9izsOq-ZkN" version="22.1.21" type="device">
+ <diagram name="Page-1" id="-o8cL_uSjTV1za5755RE">
+ <mxGraphModel dx="988" dy="570" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0">
+ <root>
+ <mxCell id="0" />
+ <mxCell id="1" parent="0" />
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="480" y="280" width="430" height="430" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-10">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-11">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-12">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-13">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="670" y="425" />
+ <mxPoint x="670" y="510" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-16">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="670" y="425" />
+ <mxPoint x="670" y="560" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-8" target="2eTkTFWO_e10ghnzvoxV-15">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="670" y="425" />
+ <mxPoint x="670" y="610" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-8" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="720" y="320" width="170" height="140" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-9" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" target="2eTkTFWO_e10ghnzvoxV-8">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1170" y="355" as="sourcePoint" />
+ <mxPoint x="1150" y="320" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-10" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="320" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-11" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="370" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-12" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="420" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-13" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="490" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-15">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1140" y="670" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-15" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="590" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-16" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+ <mxGeometry x="510" y="540" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-17" value="tinyfpga" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="764" y="325" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-19" target="2eTkTFWO_e10ghnzvoxV-17">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-19" value="AC/DC" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="810" y="325" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-29" target="2eTkTFWO_e10ghnzvoxV-19">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="853" y="355" />
+ <mxPoint x="853" y="340" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-22" target="2eTkTFWO_e10ghnzvoxV-17">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="760" y="335" />
+ <mxPoint x="760" y="340" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-22" value="switch" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="720" y="320" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-24" target="2eTkTFWO_e10ghnzvoxV-30">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-24" value="Relay" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="764" y="375" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-26" target="2eTkTFWO_e10ghnzvoxV-31">
+ <mxGeometry relative="1" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-26" value="Relay" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="764" y="410" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-29" target="2eTkTFWO_e10ghnzvoxV-24">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="850" y="355" />
+ <mxPoint x="850" y="390" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-29" target="2eTkTFWO_e10ghnzvoxV-26">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="850" y="355" />
+ <mxPoint x="850" y="425" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-29" value="C14" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="860" y="340" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-30" value="C13" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="720" y="375" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-31" value="C13" style="rounded=0;whiteSpace=wrap;html=1;fontSize=8;" vertex="1" parent="1">
+ <mxGeometry x="720" y="410" width="30" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;endFill=0;jumpStyle=arc;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-17" target="2eTkTFWO_e10ghnzvoxV-26">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="779" y="360" />
+ <mxPoint x="810" y="360" />
+ <mxPoint x="810" y="418" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="2eTkTFWO_e10ghnzvoxV-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;endArrow=none;endFill=0;jumpStyle=arc;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="2eTkTFWO_e10ghnzvoxV-17" target="2eTkTFWO_e10ghnzvoxV-24">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="779" y="360" />
+ <mxPoint x="810" y="360" />
+ <mxPoint x="810" y="383" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+</mxfile>