Files
qitech-control/docs/drawio/serial_device.drawio
Anatomik5 8d156f0af9 1
Add dre-usb-driver

Created Modul for separate usb detection and validation without tokio

TODO: rmodbus is working directly with frames, no higher level abstraction -> IDEA to write own abstraction to avoid tokio complexity and size

Modbus communication established

abstract begin

Abstraction of serial device detection

Extended the modbus for serialports demand

added dre

working dre detection with update

control-core - serial registry update

Working DRE

test serial events

add <Markdown> component

add fullscreen button

add <Markdown> component

add fullscreen button

1

Add dre-usb-driver

abstract begin

s

d

solved some errors

add <Markdown> component

add fullscreen button

add fullscreen button

add <Markdown> component

add fullscreen button

1

Add dre-usb-driver

abstract begin

Working DRE

add <Markdown> component

Add dre-usb-driver

d

solved some errors

up

c

123

Update rust.yml

dre dev

dre implemented
2025-05-13 23:27:42 +02:00

126 lines
9.7 KiB
Plaintext

<mxfile host="65bd71144e">
<diagram id="66gCWvEem9su0pM2-AdM" name="Page-1">
<mxGraphModel dx="1454" dy="512" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="44" value="Serial Device Detection and Recognition process" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;swimlaneFillColor=default;" parent="1" vertex="1">
<mxGeometry x="-790" y="60" width="710" height="880" as="geometry"/>
</mxCell>
<mxCell id="38" value="ADD new Devices&amp;nbsp;" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="44" vertex="1">
<mxGeometry x="525" y="290" width="130" height="50" as="geometry"/>
</mxCell>
<mxCell id="10" value="SerialDeviceOld-&amp;gt; only USB" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-735" y="825" width="180" height="30" as="geometry"/>
</mxCell>
<mxCell id="11" value="Serial Detect" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
<mxGeometry x="-705" y="735" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="10" target="11" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-660" y="755" as="sourcePoint"/>
<mxPoint x="-610" y="705" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="16" value="SerialDeviceNewFound&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;-&amp;gt; only USB&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-735" y="645" width="180" height="30" as="geometry"/>
</mxCell>
<mxCell id="17" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="11" target="16" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-660" y="755" as="sourcePoint"/>
<mxPoint x="-610" y="705" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="18" value="Compare" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-485" y="715" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="19" value="" style="endArrow=classic;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="16" target="18" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-565" y="695" as="sourcePoint"/>
<mxPoint x="-515" y="645" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="20" value="" style="endArrow=classic;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="10" target="18" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-565" y="695" as="sourcePoint"/>
<mxPoint x="-515" y="645" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="Tuple (Added, Removed)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-365" y="725" width="150" height="60" as="geometry"/>
</mxCell>
<mxCell id="22" value="" style="endArrow=classic;html=1;" parent="1" source="18" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-385" y="805" as="sourcePoint"/>
<mxPoint x="-365" y="755" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="23" value="" style="shape=flexArrow;endArrow=classic;html=1;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-645" y="925" as="sourcePoint"/>
<mxPoint x="-645" y="865" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="24" value="BEGIN" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="23" vertex="1" connectable="0">
<mxGeometry x="-0.5752" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="Delete Removed Devices from HashMap" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
<mxGeometry x="-430" y="615" width="125" height="50" as="geometry"/>
</mxCell>
<mxCell id="26" value="Try to connect to detected devices" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
<mxGeometry x="-265" y="615" width="130" height="50" as="geometry"/>
</mxCell>
<mxCell id="27" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="21" target="25" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-325" y="605" as="sourcePoint"/>
<mxPoint x="-275" y="555" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="28" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="21" target="26" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-280" y="735" as="sourcePoint"/>
<mxPoint x="-357" y="675" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="29" value="Vec&amp;lt;(path: String, Result&amp;lt;SerialDevice, Error&amp;gt;)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-267.5" y="495" width="135" height="60" as="geometry"/>
</mxCell>
<mxCell id="30" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="26" target="29" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-325" y="465" as="sourcePoint"/>
<mxPoint x="-275" y="415" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="33" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="29" target="38" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-325" y="325" as="sourcePoint"/>
<mxPoint x="-200" y="415" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="36" value="Global&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Result&amp;lt;HashMap, Error&amp;gt; with connected devices&lt;/span&gt;" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-725" y="90" width="250" height="130" as="geometry"/>
</mxCell>
<mxCell id="41" value="" style="edgeStyle=elbowEdgeStyle;elbow=vertical;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.468;entryY=1.001;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="25" target="36" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-345" y="465" as="sourcePoint"/>
<mxPoint x="-295" y="415" as="targetPoint"/>
<Array as="points">
<mxPoint x="-480" y="550"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="42" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="38" target="36" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-475" y="245" as="sourcePoint"/>
<mxPoint x="-425" y="195" as="targetPoint"/>
<Array as="points">
<mxPoint x="-280" y="260"/>
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>