Paritailly implement UART for RP2040 for the GobotRPC Controller Interface

This commit is contained in:
AlexanderHD27
2024-12-30 16:09:39 +01:00
parent 65df7b1912
commit 58043ee0d5
14 changed files with 562 additions and 430 deletions

BIN
i2c-hub/backend/Protocol.md (Stored with Git LFS)

Binary file not shown.

View File

@@ -72,8 +72,8 @@
/* Memory allocation related definitions. */
#define configSUPPORT_STATIC_ALLOCATION 0
#define configSUPPORT_DYNAMIC_ALLOCATION 1
#define configTOTAL_HEAP_SIZE (128*1024)
#define configAPPLICATION_ALLOCATED_HEAP 1024
#define configTOTAL_HEAP_SIZE (1024 * 64)
#define configAPPLICATION_ALLOCATED_HEAP (1024 * 32)
/* Hook function related definitions. */
#define configCHECK_FOR_STACK_OVERFLOW 0

View File

@@ -1,699 +1,696 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.1 Chrome/128.0.6613.186 Electron/32.2.6 Safari/537.36" version="25.0.1">
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
<diagram name="Page-1" id="VLDBnTalcAr4j7jpmEzg">
<mxGraphModel dx="819" dy="497" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<mxGraphModel dx="2390" dy="1397" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-1" value="GoBot RPC Protocol" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-1" value="GoBot RPC Protocol" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="60" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-2" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-2" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-3" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-3" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="220" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-4" value="Physical" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-4" value="Physical" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="220" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-6" value="Data Link" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-6" value="Data Link" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="180" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-7" value="Network" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-7" value="Network" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="140" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-8" value="Transport" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-8" value="Transport" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="100" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-10" value="Application" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-10" value="Application" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="60" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-11" value="1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-11" value="1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="440" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-12" value="2" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-12" value="2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-13" value="3" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-13" value="3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="600" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-15" value="4" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-15" value="4" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="680" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-16" value="5" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-16" value="5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="760" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-17" value="6" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-17" value="6" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="840" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-19" value="7" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-19" value="7" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="920" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-20" value="0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-20" value="0" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-22" value="Bit" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-22" value="Bit" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="320" y="220" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-23" value="RPC Number" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-23" value="RPC Number" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="240" width="320" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-25" value="RPC Segment Number" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="840" y="240" width="160" height="40" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-25" value="RPC Segment Number" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="760" y="240" width="240" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-27" value="0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-27" value="0" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-28" value="1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-28" value="1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-29" value="2" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-29" value="2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="440" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-30" value="3" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-30" value="3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-35" value="4" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-35" value="4" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-36" value="5" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-36" value="5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-37" value="6" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-37" value="6" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="600" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-38" value="7" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-38" value="7" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="640" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-39" value="Parameter Data" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-39" value="Parameter Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="80" width="280" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-40" value="Header" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-40" value="Header" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-41" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" parent="1" source="VN9_mGhUesFHwJ--pmr3-22" target="VN9_mGhUesFHwJ--pmr3-40" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-41" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-22" target="VN9_mGhUesFHwJ--pmr3-40">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="190" as="sourcePoint" />
<mxPoint x="370" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-42" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" parent="1" source="VN9_mGhUesFHwJ--pmr3-19" target="VN9_mGhUesFHwJ--pmr3-39" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-42" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-19" target="VN9_mGhUesFHwJ--pmr3-39">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="190" as="sourcePoint" />
<mxPoint x="370" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-43" value="Byte" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-43" value="Byte" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="320" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-44" value="CAN Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-44" value="CAN Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="360" y="30" width="320" height="30" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-46" value="Response(00)/&lt;div&gt;Request(01)/ Error(11)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="680" y="240" width="160" height="40" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-46" value="Response/&lt;div&gt;Request&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="680" y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-63" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-63" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="78.57" y="900" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-64" value="Description" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-64" value="Description" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="158.57" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-65" value="Request Segments" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="161" y="870" width="599" height="20" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-65" value="Request Segments" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="278.57" y="880" width="640" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-67" value="0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-67" value="0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="280" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-68" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-68" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="400" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-69" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-69" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="520.77" y="900" width="119.23" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-70" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-70" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="641" y="900" width="119" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-76" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-76" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="1560" as="sourcePoint" />
<mxPoint x="160" y="880" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-77" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-77" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="1560" as="sourcePoint" />
<mxPoint x="280.23" y="880" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-78" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-78" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="399.74" y="1560" as="sourcePoint" />
<mxPoint x="399.74" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-79" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-79" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="520.77" y="1560" as="sourcePoint" />
<mxPoint x="520" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-80" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-80" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="1560" as="sourcePoint" />
<mxPoint x="640.23" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-81" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-81" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1560" as="sourcePoint" />
<mxPoint x="760.23" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-86" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-86" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="1040" y="70" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-87" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-87" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="920" as="sourcePoint" />
<mxPoint x="40" y="920" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-89" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-89" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1000" as="sourcePoint" />
<mxPoint x="78.57" y="999.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-90" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-90" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="960" as="sourcePoint" />
<mxPoint x="40" y="960" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-91" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-91" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1040" as="sourcePoint" />
<mxPoint x="78.57" y="1040" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-92" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-92" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1080" as="sourcePoint" />
<mxPoint x="78.57" y="1080" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-93" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontStyle=1" parent="1" target="VN9_mGhUesFHwJ--pmr3-255" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-93" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontStyle=1" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-255">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1160" as="sourcePoint" />
<mxPoint x="78.57" y="1160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-94" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-94" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1120" as="sourcePoint" />
<mxPoint x="78.57" y="1120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-95" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-95" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1200" as="sourcePoint" />
<mxPoint x="78.57" y="1200" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-96" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-96" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1240" as="sourcePoint" />
<mxPoint x="78.57" y="1240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-97" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-294" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-97" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-294">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1280" as="sourcePoint" />
<mxPoint x="78.57" y="1280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-98" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-295" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-98" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-295">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1320" as="sourcePoint" />
<mxPoint x="78.57" y="1320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-99" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-99" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1360" as="sourcePoint" />
<mxPoint x="78.57" y="1360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-100" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-100" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1400" as="sourcePoint" />
<mxPoint x="78.57" y="1400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-101" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-101" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1440" as="sourcePoint" />
<mxPoint x="78.57" y="1440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-102" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-102" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1480" as="sourcePoint" />
<mxPoint x="78.57" y="1480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-103" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-103" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1520" as="sourcePoint" />
<mxPoint x="78.57" y="1520" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-104" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-104" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1560" as="sourcePoint" />
<mxPoint x="78.57" y="1559.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-176" value="0xC" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-176" value="0xC" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-177" value="0xD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-177" value="0xD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1440" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-178" value="0xE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-178" value="0xE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1480" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-180" value="0xF" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-180" value="0xF" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-183" value="0x0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-183" value="0x0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="920" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-184" value="0x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-184" value="0x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="960" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-185" value="0x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-185" value="0x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1000" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-186" value="0x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-186" value="0x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1040" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-187" value="0x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-187" value="0x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1080" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-188" value="0x5" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-188" value="0x5" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-189" value="0x6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-189" value="0x6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-190" value="0x7" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-190" value="0x7" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-191" value="0x8" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-191" value="0x8" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-192" value="0x9" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-192" value="0x9" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-193" value="0xA" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-193" value="0xA" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1320" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-194" value="0xB" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-194" value="0xB" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="78.57" y="1360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-195" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-195" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="920" width="38.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-196" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-196" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="940" width="38.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-197" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-197" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="960" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-198" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-198" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="980" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-199" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-199" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1000" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-200" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-200" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1020" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-201" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-201" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1040" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-202" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-202" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1060" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-203" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-203" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1080" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-204" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-204" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1100" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-205" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-205" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1120" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-206" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-206" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1140" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-207" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-207" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1160" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-208" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-208" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1180" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-209" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-209" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1200" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-210" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-210" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1220" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-211" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-211" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1241" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-212" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-212" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1261" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-213" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-213" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1280" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-214" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-214" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1300" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-215" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-215" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1320" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-216" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-216" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1340" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-217" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-217" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1360" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-218" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-218" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1380" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-219" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-219" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1400" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-220" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-220" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1420" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-221" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-221" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1440" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-222" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-222" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1460" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-223" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-223" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1480" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-224" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-224" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1500" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-225" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-225" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1520" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-226" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-226" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="1540" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-227" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-227" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1540" as="sourcePoint" />
<mxPoint x="118.57" y="1539.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-228" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-228" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1500" as="sourcePoint" />
<mxPoint x="119.28999999999999" y="1499.6499999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-229" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-229" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1460" as="sourcePoint" />
<mxPoint x="280" y="1460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-230" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-230" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1420" as="sourcePoint" />
<mxPoint x="280" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-231" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-231" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1380" as="sourcePoint" />
<mxPoint x="280" y="1380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-232" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-232" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1340" as="sourcePoint" />
<mxPoint x="280" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-233" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-233" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1299" as="sourcePoint" />
<mxPoint x="280" y="1299" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-234" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-234" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1260" as="sourcePoint" />
<mxPoint x="280" y="1260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-235" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-235" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1220" as="sourcePoint" />
<mxPoint x="280" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-236" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-236" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1180" as="sourcePoint" />
<mxPoint x="280" y="1180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-237" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-237" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1140" as="sourcePoint" />
<mxPoint x="280" y="1140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-238" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-238" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1100" as="sourcePoint" />
<mxPoint x="280" y="1100" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-239" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-245" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-239" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-245">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1060" as="sourcePoint" />
<mxPoint x="120" y="1059.7499999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-240" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-247" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-240" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-247">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1020" as="sourcePoint" />
<mxPoint x="122" y="1019.7599999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-241" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-246" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-241" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-246">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="980" as="sourcePoint" />
<mxPoint x="120" y="979.7499999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-242" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-242" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="940" as="sourcePoint" />
<mxPoint x="280" y="940" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-243" value="Home" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-243" value="Home" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-244" value="Mov Step" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-244" value="Mov Step" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="1000" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-245" value="Mov XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-245" value="Mov XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="161" y="1040" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-246" value="Corner: 00, 01, 10, 11" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-246" value="Corner: 00, 01, 10, 11" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="281" y="960" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-247" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-247" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="281" y="1000" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-249" value="X: 3b,Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-249" value="X: 3b,Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="282" y="1040" width="118.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-250" value="Set Padding" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-250" value="Set Padding" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="161" y="1080" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-251" value="C&lt;sub&gt;1X&lt;/sub&gt;: 3b, C&lt;sub&gt;1Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-251" value="C&lt;sub&gt;1X&lt;/sub&gt;: 3b, C&lt;sub&gt;1Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="282" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-253" value="C&lt;sub&gt;2X&lt;/sub&gt;: 3b, C&lt;sub&gt;2Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-253" value="C&lt;sub&gt;2X&lt;/sub&gt;: 3b, C&lt;sub&gt;2Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="402" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-254" value="N&lt;sub&gt;X&lt;/sub&gt;: 1b, N&lt;sub&gt;Y&lt;/sub&gt;: 1b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-254" value="N&lt;sub&gt;X&lt;/sub&gt;: 1b, N&lt;sub&gt;Y&lt;/sub&gt;: 1b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="522" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-255" value="CORE-XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-255" value="CORE-XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="-41.4" y="1039.99" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-256" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-256" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="281" y="980" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-259" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" source="VN9_mGhUesFHwJ--pmr3-198" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-259" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-198">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="1030" as="sourcePoint" />
<mxPoint x="160" y="980" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-260" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-260" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="940" as="sourcePoint" />
<mxPoint x="158.57" y="940" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-261" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-261" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1019.79" as="sourcePoint" />
<mxPoint x="161" y="1019.79" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-262" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-262" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1060" as="sourcePoint" />
<mxPoint x="161" y="1060" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-263" value="Release Motors" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-263" value="Release Motors" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="1120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-264" value="Drop Stone" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-264" value="Drop Stone" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="158.57" y="1160" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-266" value="Get Stone Status" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-266" value="Get Stone Status" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="161" y="1200" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-267" value="Mov Z-Axis" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-267" value="Mov Z-Axis" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="1240" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-269" value="Set Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-269" value="Set Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="1280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-270" value="Up (0) / Down (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-270" value="Up (0) / Down (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="281" y="1240" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-271" value="Off (0) / On (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-271" value="Off (0) / On (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="281.29" y="1281" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-273" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-273" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1099.71" as="sourcePoint" />
<mxPoint x="159.28" y="1099.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-274" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-274" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1139.71" as="sourcePoint" />
<mxPoint x="159.28" y="1139.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-275" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-275" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1220" as="sourcePoint" />
<mxPoint x="158.57" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-276" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-276" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1180" as="sourcePoint" />
<mxPoint x="159.28" y="1180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-277" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-277" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1300" as="sourcePoint" />
<mxPoint x="158.57" y="1300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-278" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-278" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="181" y="1120" as="sourcePoint" />
<mxPoint x="221" y="1120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-279" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-279" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28999999999999" y="1259.86" as="sourcePoint" />
<mxPoint x="159.29" y="1259.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-282" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-282" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1340" as="sourcePoint" />
<mxPoint x="160" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-283" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-283" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1379.6699999999998" as="sourcePoint" />
<mxPoint x="161" y="1379.6699999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-284" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-284" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1420" as="sourcePoint" />
<mxPoint x="160" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-285" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-285" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1499.83" as="sourcePoint" />
<mxPoint x="160" y="1499.83" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-286" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-286" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1459.76" as="sourcePoint" />
<mxPoint x="158.57" y="1459.76" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-288" value="Get Info" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-288" value="Get Info" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="158.57" y="920" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-289" value="CAN-Address" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-289" value="CAN-Address" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="280" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-290" value="Node Type" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-290" value="Node Type" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="400" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-292" value="Status Bits" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-292" value="Status Bits" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="520" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-293" value="Error Code" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-293" value="Error Code" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-294" value="Head" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-294" value="Head" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="-0.71" y="1200.29" width="118.57" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-295" value="Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-295" value="Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="40.5" y="1280.5" width="41" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-296" value="ALL" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;" parent="1" vertex="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-296" value="ALL" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;" vertex="1" parent="1">
<mxGeometry x="40" y="920" width="36.36" height="40" as="geometry" />
</mxCell>
<mxCell id="6zxd1XRsNtNYRLnBrsP0-1" value="Yes (1) / No (0)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="280" y="1120" width="120" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>

View File

@@ -1,696 +1,699 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.1 Chrome/128.0.6613.186 Electron/32.2.6 Safari/537.36" version="25.0.1">
<diagram name="Page-1" id="VLDBnTalcAr4j7jpmEzg">
<mxGraphModel dx="2390" dy="1397" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<mxGraphModel dx="1434" dy="838" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-1" value="GoBot RPC Protocol" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-1" value="GoBot RPC Protocol" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="120" y="60" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-2" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-2" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="120" y="180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-3" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-3" value="CAN" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="120" y="220" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-4" value="Physical" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-4" value="Physical" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="220" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-6" value="Data Link" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-6" value="Data Link" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="180" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-7" value="Network" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-7" value="Network" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="140" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-8" value="Transport" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-8" value="Transport" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="100" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-10" value="Application" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-10" value="Application" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="60" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-11" value="1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-11" value="1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="440" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-12" value="2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-12" value="2" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-13" value="3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-13" value="3" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="600" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-15" value="4" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-15" value="4" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="680" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-16" value="5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-16" value="5" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="760" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-17" value="6" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-17" value="6" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="840" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-19" value="7" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-19" value="7" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="920" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-20" value="0" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-20" value="0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="220" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-22" value="Bit" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-22" value="Bit" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="320" y="220" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-23" value="RPC Number" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-23" value="RPC Number" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="240" width="320" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-25" value="RPC Segment Number" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="760" y="240" width="240" height="40" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-25" value="RPC Segment Number" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="840" y="240" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-27" value="0" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-27" value="0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-28" value="1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-28" value="1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="400" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-29" value="2" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-29" value="2" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="440" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-30" value="3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-30" value="3" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="480" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-35" value="4" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-35" value="4" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-36" value="5" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-36" value="5" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="560" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-37" value="6" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-37" value="6" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="600" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-38" value="7" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-38" value="7" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="640" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-39" value="Parameter Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-39" value="Parameter Data" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="400" y="80" width="280" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-40" value="Header" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-40" value="Header" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-41" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-22" target="VN9_mGhUesFHwJ--pmr3-40">
<mxCell id="VN9_mGhUesFHwJ--pmr3-41" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" parent="1" source="VN9_mGhUesFHwJ--pmr3-22" target="VN9_mGhUesFHwJ--pmr3-40" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="190" as="sourcePoint" />
<mxPoint x="370" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-42" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-19" target="VN9_mGhUesFHwJ--pmr3-39">
<mxCell id="VN9_mGhUesFHwJ--pmr3-42" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;dashed=1;dashPattern=8 8;" parent="1" source="VN9_mGhUesFHwJ--pmr3-19" target="VN9_mGhUesFHwJ--pmr3-39" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="190" as="sourcePoint" />
<mxPoint x="370" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-43" value="Byte" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-43" value="Byte" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="320" y="60" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-44" value="CAN Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-44" value="CAN Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="30" width="320" height="30" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-46" value="Response/&lt;div&gt;Request&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="680" y="240" width="80" height="40" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-46" value="Response(00)/&lt;div&gt;Request(01)/ Error(11)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="680" y="240" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-63" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-63" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="78.57" y="900" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-64" value="Description" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-64" value="Description" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="158.57" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-65" value="Request Segments" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="278.57" y="880" width="640" height="20" as="geometry" />
<mxCell id="VN9_mGhUesFHwJ--pmr3-65" value="Request Segments" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="161" y="870" width="599" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-67" value="0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-67" value="0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="280" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-68" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-68" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="400" y="900" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-69" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-69" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="520.77" y="900" width="119.23" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-70" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-70" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="641" y="900" width="119" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-76" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-76" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="1560" as="sourcePoint" />
<mxPoint x="160" y="880" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-77" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-77" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="1560" as="sourcePoint" />
<mxPoint x="280.23" y="880" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-78" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-78" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="399.74" y="1560" as="sourcePoint" />
<mxPoint x="399.74" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-79" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-79" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="520.77" y="1560" as="sourcePoint" />
<mxPoint x="520" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-80" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-80" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="1560" as="sourcePoint" />
<mxPoint x="640.23" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-81" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-81" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1560" as="sourcePoint" />
<mxPoint x="760.23" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-86" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-86" value="RPC Number" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="1040" y="70" width="80" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-87" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-87" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="920" as="sourcePoint" />
<mxPoint x="40" y="920" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-89" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-89" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1000" as="sourcePoint" />
<mxPoint x="78.57" y="999.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-90" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-90" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="960" as="sourcePoint" />
<mxPoint x="40" y="960" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-91" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-91" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1040" as="sourcePoint" />
<mxPoint x="78.57" y="1040" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-92" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-92" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1080" as="sourcePoint" />
<mxPoint x="78.57" y="1080" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-93" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontStyle=1" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-255">
<mxCell id="VN9_mGhUesFHwJ--pmr3-93" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontStyle=1" parent="1" target="VN9_mGhUesFHwJ--pmr3-255" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1160" as="sourcePoint" />
<mxPoint x="78.57" y="1160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-94" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-94" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1120" as="sourcePoint" />
<mxPoint x="78.57" y="1120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-95" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-95" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1200" as="sourcePoint" />
<mxPoint x="78.57" y="1200" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-96" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-96" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1240" as="sourcePoint" />
<mxPoint x="78.57" y="1240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-97" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-294">
<mxCell id="VN9_mGhUesFHwJ--pmr3-97" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-294" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1280" as="sourcePoint" />
<mxPoint x="78.57" y="1280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-98" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-295">
<mxCell id="VN9_mGhUesFHwJ--pmr3-98" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-295" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1320" as="sourcePoint" />
<mxPoint x="78.57" y="1320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-99" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-99" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1360" as="sourcePoint" />
<mxPoint x="78.57" y="1360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-100" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-100" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1400" as="sourcePoint" />
<mxPoint x="78.57" y="1400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-101" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-101" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1440" as="sourcePoint" />
<mxPoint x="78.57" y="1440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-102" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-102" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1480" as="sourcePoint" />
<mxPoint x="78.57" y="1480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-103" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-103" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1520" as="sourcePoint" />
<mxPoint x="78.57" y="1520" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-104" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-104" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1560" as="sourcePoint" />
<mxPoint x="78.57" y="1559.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-176" value="0xC" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-176" value="0xC" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-177" value="0xD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-177" value="0xD" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1440" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-178" value="0xE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-178" value="0xE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1480" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-180" value="0xF" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-180" value="0xF" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-183" value="0x0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-183" value="0x0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="920" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-184" value="0x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-184" value="0x1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="960" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-185" value="0x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-185" value="0x2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1000" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-186" value="0x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-186" value="0x3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1040" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-187" value="0x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-187" value="0x4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1080" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-188" value="0x5" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-188" value="0x5" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-189" value="0x6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-189" value="0x6" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-190" value="0x7" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-190" value="0x7" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-191" value="0x8" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-191" value="0x8" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-192" value="0x9" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-192" value="0x9" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-193" value="0xA" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-193" value="0xA" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1320" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-194" value="0xB" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-194" value="0xB" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="78.57" y="1360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-195" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-195" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="920" width="38.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-196" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-196" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="940" width="38.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-197" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-197" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="960" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-198" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-198" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="980" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-199" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-199" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1000" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-200" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-200" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1020" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-201" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-201" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1040" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-202" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-202" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1060" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-203" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-203" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1080" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-204" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-204" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1100" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-205" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-205" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1120" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-206" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-206" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1140" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-207" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-207" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1160" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-208" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-208" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1180" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-209" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-209" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1200" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-210" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-210" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1220" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-211" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-211" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1241" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-212" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-212" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1261" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-213" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-213" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1280" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-214" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-214" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1300" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-215" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-215" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1320" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-216" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-216" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1340" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-217" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-217" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1360" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-218" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-218" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1380" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-219" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-219" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1400" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-220" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-220" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1420" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-221" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-221" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1440" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-222" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-222" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1460" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-223" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-223" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1480" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-224" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-224" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1500" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-225" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-225" value="REQ" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1520" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-226" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-226" value="RES" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="120" y="1540" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-227" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-227" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1540" as="sourcePoint" />
<mxPoint x="118.57" y="1539.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-228" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-228" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1500" as="sourcePoint" />
<mxPoint x="119.28999999999999" y="1499.6499999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-229" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-229" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1460" as="sourcePoint" />
<mxPoint x="280" y="1460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-230" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-230" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1420" as="sourcePoint" />
<mxPoint x="280" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-231" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-231" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1380" as="sourcePoint" />
<mxPoint x="280" y="1380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-232" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-232" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1340" as="sourcePoint" />
<mxPoint x="280" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-233" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-233" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1299" as="sourcePoint" />
<mxPoint x="280" y="1299" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-234" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-234" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1260" as="sourcePoint" />
<mxPoint x="280" y="1260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-235" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-235" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1220" as="sourcePoint" />
<mxPoint x="280" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-236" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-236" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1180" as="sourcePoint" />
<mxPoint x="280" y="1180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-237" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-237" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1140" as="sourcePoint" />
<mxPoint x="280" y="1140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-238" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-238" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1100" as="sourcePoint" />
<mxPoint x="280" y="1100" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-239" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-245">
<mxCell id="VN9_mGhUesFHwJ--pmr3-239" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-245" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1060" as="sourcePoint" />
<mxPoint x="120" y="1059.7499999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-240" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-247">
<mxCell id="VN9_mGhUesFHwJ--pmr3-240" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-247" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="1020" as="sourcePoint" />
<mxPoint x="122" y="1019.7599999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-241" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="VN9_mGhUesFHwJ--pmr3-246">
<mxCell id="VN9_mGhUesFHwJ--pmr3-241" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="VN9_mGhUesFHwJ--pmr3-246" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="980" as="sourcePoint" />
<mxPoint x="120" y="979.7499999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-242" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-242" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="940" as="sourcePoint" />
<mxPoint x="280" y="940" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-243" value="Home" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-243" value="Home" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="160" y="960" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-244" value="Mov Step" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-244" value="Mov Step" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="160" y="1000" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-245" value="Mov XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-245" value="Mov XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="161" y="1040" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-246" value="Corner: 00, 01, 10, 11" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-246" value="Corner: 00, 01, 10, 11" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="281" y="960" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-247" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-247" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="281" y="1000" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-249" value="X: 3b,Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-249" value="X: 3b,Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="282" y="1040" width="118.57" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-250" value="Set Padding" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-250" value="Set Padding" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="161" y="1080" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-251" value="C&lt;sub&gt;1X&lt;/sub&gt;: 3b, C&lt;sub&gt;1Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-251" value="C&lt;sub&gt;1X&lt;/sub&gt;: 3b, C&lt;sub&gt;1Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="282" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-253" value="C&lt;sub&gt;2X&lt;/sub&gt;: 3b, C&lt;sub&gt;2Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-253" value="C&lt;sub&gt;2X&lt;/sub&gt;: 3b, C&lt;sub&gt;2Y&lt;/sub&gt;: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="402" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-254" value="N&lt;sub&gt;X&lt;/sub&gt;: 1b, N&lt;sub&gt;Y&lt;/sub&gt;: 1b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-254" value="N&lt;sub&gt;X&lt;/sub&gt;: 1b, N&lt;sub&gt;Y&lt;/sub&gt;: 1b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="522" y="1080" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-255" value="CORE-XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-255" value="CORE-XY" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxGeometry x="-41.4" y="1039.99" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-256" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-256" value="X:3b, Y: 3b" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="281" y="980" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-259" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="VN9_mGhUesFHwJ--pmr3-198">
<mxCell id="VN9_mGhUesFHwJ--pmr3-259" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" source="VN9_mGhUesFHwJ--pmr3-198" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="1030" as="sourcePoint" />
<mxPoint x="160" y="980" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-260" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-260" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="940" as="sourcePoint" />
<mxPoint x="158.57" y="940" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-261" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-261" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1019.79" as="sourcePoint" />
<mxPoint x="161" y="1019.79" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-262" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-262" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1060" as="sourcePoint" />
<mxPoint x="161" y="1060" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-263" value="Release Motors" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-263" value="Release Motors" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="160" y="1120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-264" value="Drop Stone" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-264" value="Drop Stone" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="158.57" y="1160" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-266" value="Get Stone Status" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-266" value="Get Stone Status" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="161" y="1200" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-267" value="Mov Z-Axis" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-267" value="Mov Z-Axis" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="160" y="1240" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-269" value="Set Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-269" value="Set Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="160" y="1280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-270" value="Up (0) / Down (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-270" value="Up (0) / Down (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="281" y="1240" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-271" value="Off (0) / On (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-271" value="Off (0) / On (1)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="281.29" y="1281" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-273" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-273" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1099.71" as="sourcePoint" />
<mxPoint x="159.28" y="1099.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-274" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-274" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1139.71" as="sourcePoint" />
<mxPoint x="159.28" y="1139.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-275" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-275" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1220" as="sourcePoint" />
<mxPoint x="158.57" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-276" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-276" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28" y="1180" as="sourcePoint" />
<mxPoint x="159.28" y="1180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-277" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-277" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1300" as="sourcePoint" />
<mxPoint x="158.57" y="1300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-278" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-278" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="181" y="1120" as="sourcePoint" />
<mxPoint x="221" y="1120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-279" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-279" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="119.28999999999999" y="1259.86" as="sourcePoint" />
<mxPoint x="159.29" y="1259.86" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-282" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-282" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1340" as="sourcePoint" />
<mxPoint x="160" y="1340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-283" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-283" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="121" y="1379.6699999999998" as="sourcePoint" />
<mxPoint x="161" y="1379.6699999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-284" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-284" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1420" as="sourcePoint" />
<mxPoint x="160" y="1420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-285" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-285" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="1499.83" as="sourcePoint" />
<mxPoint x="160" y="1499.83" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-286" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-286" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="118.57" y="1459.76" as="sourcePoint" />
<mxPoint x="158.57" y="1459.76" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-288" value="Get Info" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-288" value="Get Info" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="158.57" y="920" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-289" value="CAN-Address" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-289" value="CAN-Address" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="280" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-290" value="Node Type" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-290" value="Node Type" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="400" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-292" value="Status Bits" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-292" value="Status Bits" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="520" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-293" value="Error Code" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-293" value="Error Code" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="640" y="940" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-294" value="Head" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-294" value="Head" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxGeometry x="-0.71" y="1200.29" width="118.57" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-295" value="Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-295" value="Vacum" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-90;" parent="1" vertex="1">
<mxGeometry x="40.5" y="1280.5" width="41" height="40" as="geometry" />
</mxCell>
<mxCell id="VN9_mGhUesFHwJ--pmr3-296" value="ALL" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;" vertex="1" parent="1">
<mxCell id="VN9_mGhUesFHwJ--pmr3-296" value="ALL" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=0;" parent="1" vertex="1">
<mxGeometry x="40" y="920" width="36.36" height="40" as="geometry" />
</mxCell>
<mxCell id="6zxd1XRsNtNYRLnBrsP0-1" value="Yes (1) / No (0)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="280" y="1120" width="120" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>

View File

@@ -4,10 +4,11 @@ add_library(GobotRPC STATIC
${CMAKE_CURRENT_LIST_DIR}/../protocol.cpp
${CMAKE_CURRENT_LIST_DIR}/../error_msg.cpp
${CMAKE_CURRENT_LIST_DIR}/../uart_ctrl/uart_ctrl_base.cpp
${CMAKE_CURRENT_LIST_DIR}/../uart_ctrl/uart_ctrl_registers.cpp
${CMAKE_CURRENT_LIST_DIR}/../uart_ctrl/uart_ctrl_rx.cpp
${CMAKE_CURRENT_LIST_DIR}/../uart_ctrl/uart_ctrl_tx.cpp
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ctrl_interface_base.cpp
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ctrl_interface_registers.cpp
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ctrl_interface_rx.cpp
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ctrl_interface_tx.cpp
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ctrl_interface_hardware_rp2040.cpp
)
target_include_directories(GobotRPC PUBLIC
@@ -17,4 +18,7 @@ target_include_directories(GobotRPC PUBLIC
target_link_libraries(GobotRPC
FreeRTOS-Kernel-Heap4
pico_stdlib
hardware_uart
hardware_irq
)

View File

@@ -1,9 +1,9 @@
#include "uart_ctrl.hpp"
#include <stdint.h>
UART_CTRL_Interface::UART_CTRL_Interface(I_UART_CTRL_Hardware_Handler *handler) {
GobotRPC_CtrlInterface::GobotRPC_CtrlInterface(GobotRPC_CtrlInterface_HardwareHandler *handler) {
this->handler = handler;
handler->registerCallback(externalCallback_RX);
handler->registerCallback(externalCallback_RX, this);
packetCallback = nullptr;
performScanCallback = nullptr;

View File

@@ -0,0 +1,87 @@
#include "uart_ctrl_hardware.hpp"
#ifdef GOBOTRPC_PLATFORM_RP2040
#include "pico/stdlib.h"
#include "hardware/uart.h"
#include "hardware/irq.h"
#include "FreeRTOS.h"
#include "semphr.h"
#include "task.h"
#define STOP_BITS 1
#define PARITY UART_PARITY_ODD
GobotRPC_CtrlInterface_HardwareHandler_RP2040 * g_uart_hardware_handler;
GobotRPC_CtrlInterface_HardwareHandler_RP2040::GobotRPC_CtrlInterface_HardwareHandler_RP2040(
uart_inst_t * uart_instance, uint baudrate,
uint tx_pin, uint rx_pin) {
this->rxSemphrHandle = xSemaphoreCreateCounting(16, 0);
g_uart_hardware_handler = this;
xTaskCreate(vTaskRxHandler, "gobotrpc_ctrl_interface_uart_rx", 512, this, 3, &this->rxTaskHandle);
gpio_set_function(tx_pin, UART_FUNCSEL_NUM(uart_instance, tx_pin));
gpio_set_function(rx_pin, UART_FUNCSEL_NUM(uart_instance, rx_pin));
uart_init(uart_instance, baudrate);
this->uart_instance = uart_instance;
uart_set_format(uart_instance, 8, STOP_BITS, PARITY);
this->UART_IRQ = uart_instance == uart0 ? UART0_IRQ : UART1_IRQ;
irq_set_exclusive_handler(UART_IRQ, isrUartRX);
irq_set_enabled(UART_IRQ, true);
uart_set_irq_enables(uart_instance, true, false);
uart_set_fifo_enabled(uart_instance, true);
}
// TODO: Implement this!
void GobotRPC_CtrlInterface_HardwareHandler_RP2040::send(char * data, size_t length) {
uart_write_blocking(uart_instance, (const uint8_t *)data, length);
uart_tx_wait_blocking(uart_instance);
}
void GobotRPC_CtrlInterface_HardwareHandler_RP2040::registerCallback(UART_CTRL_Callback_RX callback, void * args) {
this->callback_rx = callback;
this->callback_args = args;
}
void GobotRPC_CtrlInterface_HardwareHandler_RP2040::rxTaskHandler() {
char inputBuffer[128];
size_t length = 0;
while (true) {
xSemaphoreTake(rxSemphrHandle, portMAX_DELAY);
for(length = 0; length<128 && uart_is_readable(uart_instance); length++) {
inputBuffer[length] = uart_getc(uart_instance);
}
if (length > 0 && this->callback_rx != nullptr) {
this->callback_rx(this->callback_args, inputBuffer, length);
}
}
}
void GobotRPC_CtrlInterface_HardwareHandler_RP2040::scheduleRXHandler(BaseType_t * higher_priority_task_woken) {
irq_clear(this->UART_IRQ);
if (this->callback_rx != nullptr) {
xSemaphoreGiveFromISR(rxSemphrHandle, higher_priority_task_woken);
}
}
void vTaskRxHandler(void * pvParameters) {
g_uart_hardware_handler->rxTaskHandler();
}
void isrUartRX() {
static BaseType_t higher_priority_task_woken = pdFALSE;
g_uart_hardware_handler->scheduleRXHandler(&higher_priority_task_woken);
portYIELD_FROM_ISR(higher_priority_task_woken);
}
#endif

View File

@@ -0,0 +1,22 @@
#include "uart_ctrl.hpp"
#include <string.h>
void GobotRPC_CtrlInterface::registerCallback_Packet(GobotRPC_CtrlInterface_Callback_Packet callback, void *args) {
packetCallback = callback;
packetCallbackArgs = args;
}
void GobotRPC_CtrlInterface::registerCallback_PerformScan(GobotRPC_CtrlInterface_Callback_PerformScan callback, void *args) {
performScanCallback = callback;
performScanCallbackArgs = args;
}
void GobotRPC_CtrlInterface::registerCallback_ReqSlotUpdate(GobotRPC_CtrlInterface_Callback_ReqSlotUpdate callback, void *args) {
reqSlotUpdateCallback = callback;
reqSlotUpdateCallbackArgs = args;
}
void GobotRPC_CtrlInterface::registerCallback_GetInfo(GobotRPC_CtrlInterface_Callback_GetInfo callback, void *args) {
getInfoCallback = callback;
getInfoCallbackArgs = args;
}

View File

@@ -3,26 +3,26 @@
#include <string.h>
void externalCallback_RX(void * args, char * data, size_t length) {
UART_CTRL_Interface *interface = (UART_CTRL_Interface *)args;
GobotRPC_CtrlInterface *interface = (GobotRPC_CtrlInterface *)args;
interface->onRX(data, length);
}
void UART_CTRL_Interface::onRX(char * data, size_t length) {
void GobotRPC_CtrlInterface::onRX(char * data, size_t length) {
uint8_t cmd = data[0];
switch (cmd) {
case UART_CMD_PACKET:
case GOBOTRPC_CTRL_CMD_PACKET:
onRX_Packet(data, length);
break;
case UART_CMD_PERFORM_SCAN:
case GOBOTRPC_CTRL_CMD_PERFORM_SCAN:
onRX_PerformScan(data, length);
break;
case UART_CMD_REQ_SLOT_UPDATE:
case GOBOTRPC_CTRL_CMD_REQ_SLOT_UPDATE:
onRX_ReqSlotUpdate(data, length);
break;
case UART_CMD_INFO:
case GOBOTRPC_CTRL_CMD_INFO:
onRX_GetInfo(data, length);
break;
@@ -31,7 +31,7 @@ void UART_CTRL_Interface::onRX(char * data, size_t length) {
}
}
void UART_CTRL_Interface::onRX_Packet(char *data, size_t length) {
void GobotRPC_CtrlInterface::onRX_Packet(char *data, size_t length) {
if(length < 7)
return;
@@ -48,7 +48,7 @@ void UART_CTRL_Interface::onRX_Packet(char *data, size_t length) {
}
}
void UART_CTRL_Interface::onRX_PerformScan(char *data, size_t length) {
void GobotRPC_CtrlInterface::onRX_PerformScan(char *data, size_t length) {
if(length < 2)
return;
@@ -56,7 +56,7 @@ void UART_CTRL_Interface::onRX_PerformScan(char *data, size_t length) {
performScanCallback(performScanCallbackArgs, data[1] == 1);
}
void UART_CTRL_Interface::onRX_ReqSlotUpdate(char *data, size_t length) {
void GobotRPC_CtrlInterface::onRX_ReqSlotUpdate(char *data, size_t length) {
if (length < 2)
return;
@@ -64,7 +64,7 @@ void UART_CTRL_Interface::onRX_ReqSlotUpdate(char *data, size_t length) {
reqSlotUpdateCallback(reqSlotUpdateCallbackArgs, data[1] == 1);
}
void UART_CTRL_Interface::onRX_GetInfo(char *data, size_t length) {
void GobotRPC_CtrlInterface::onRX_GetInfo(char *data, size_t length) {
if (length < 1)
return;

View File

@@ -2,10 +2,10 @@
#include <string.h>
// This function should be called when a package is sent
void UART_CTRL_Interface::pushPacket(RPCPackage package) {
void GobotRPC_CtrlInterface::pushPacket(RPCPackage package) {
char buffer[MAX_PAGE_SIZES + 7];
buffer[0] = UART_CMD_PACKET;
buffer[0] = GOBOTRPC_CTRL_CMD_PACKET;
buffer[1] = package.length;
buffer[2] = package.type | (package.rpcNum << 4);
memcpy(&buffer[3], &package.addr, 4);
@@ -14,10 +14,10 @@ void UART_CTRL_Interface::pushPacket(RPCPackage package) {
handler->send(buffer, package.length + 2);
}
void UART_CTRL_Interface::pushScanResulst(uint32_t addr, bool running) {
void GobotRPC_CtrlInterface::pushScanResulst(uint32_t addr, bool running) {
char buffer[7];
buffer[0] = UART_CMD_SCAN_RESULT;
buffer[0] = GOBOTRPC_CTRL_CMD_SCAN_RESULT;
buffer[1] = running ? 1 : 0;
memcpy(&buffer[2], &addr, 4);
buffer[6] = 0; // This is where the type would go
@@ -25,10 +25,10 @@ void UART_CTRL_Interface::pushScanResulst(uint32_t addr, bool running) {
handler->send(buffer, 7);
}
void UART_CTRL_Interface::pushPackageSlotUpdate(bool complete, bool inUse, uint32_t slot, uint32_t addr, uint32_t timestamp, uint32_t bits) {
void GobotRPC_CtrlInterface::pushPackageSlotUpdate(bool complete, bool inUse, uint32_t slot, uint32_t addr, uint32_t timestamp, uint32_t bits) {
char buffer[16];
buffer[0] = UART_CMD_SLOT_UPDATE;
buffer[0] = GOBOTRPC_CTRL_CMD_SLOT_UPDATE;
buffer[1] = complete ? 1 : 0;
buffer[2] = inUse ? 1 : 0;
buffer[3] = slot;
@@ -39,10 +39,10 @@ void UART_CTRL_Interface::pushPackageSlotUpdate(bool complete, bool inUse, uint3
handler->send(buffer, 14);
}
void UART_CTRL_Interface::pushInfo(uint8_t slotNumbers) {
void GobotRPC_CtrlInterface::pushInfo(uint8_t slotNumbers) {
char buffer[2];
buffer[0] = UART_CMD_INFO;
buffer[0] = GOBOTRPC_CTRL_CMD_INFO;
buffer[1] = slotNumbers;
handler->send(buffer, 2);

View File

@@ -7,25 +7,25 @@ struct HubInfo {
uint8_t slotNumbers;
};
typedef void (*UART_CTRL_Callback_Packet)(void * args, RPCPackage package);
typedef void (*UART_CTRL_Callback_PerformScan)(void * args, bool enable);
typedef void (*UART_CTRL_Callback_ReqSlotUpdate)(void * args, bool enable);
typedef HubInfo (*UART_CTRL_Callback_GetInfo)(void * args);
typedef void (*GobotRPC_CtrlInterface_Callback_Packet)(void * args, RPCPackage package);
typedef void (*GobotRPC_CtrlInterface_Callback_PerformScan)(void * args, bool enable);
typedef void (*GobotRPC_CtrlInterface_Callback_ReqSlotUpdate)(void * args, bool enable);
typedef HubInfo (*GobotRPC_CtrlInterface_Callback_GetInfo)(void * args);
void externalCallback_RX(void * args, char * data, size_t length);
class UART_CTRL_Interface {
class GobotRPC_CtrlInterface {
private:
UART_CTRL_Callback_Packet packetCallback;
UART_CTRL_Callback_PerformScan performScanCallback;
UART_CTRL_Callback_ReqSlotUpdate reqSlotUpdateCallback;
UART_CTRL_Callback_GetInfo getInfoCallback;
GobotRPC_CtrlInterface_Callback_Packet packetCallback;
GobotRPC_CtrlInterface_Callback_PerformScan performScanCallback;
GobotRPC_CtrlInterface_Callback_ReqSlotUpdate reqSlotUpdateCallback;
GobotRPC_CtrlInterface_Callback_GetInfo getInfoCallback;
void * packetCallbackArgs;
void * performScanCallbackArgs;
void * reqSlotUpdateCallbackArgs;
void * getInfoCallbackArgs;
I_UART_CTRL_Hardware_Handler * handler;
GobotRPC_CtrlInterface_HardwareHandler * handler;
protected:
void onRX_Packet(char * data, size_t length);
void onRX_PerformScan(char * data, size_t length);
@@ -33,7 +33,7 @@ protected:
void onRX_GetInfo(char * data, size_t length);
public:
UART_CTRL_Interface(I_UART_CTRL_Hardware_Handler * handler);
GobotRPC_CtrlInterface(GobotRPC_CtrlInterface_HardwareHandler * handler);
void onRX(char * data, size_t length);
void pushPacket(RPCPackage package);
@@ -41,18 +41,18 @@ public:
void pushPackageSlotUpdate(bool complete, bool inUse, uint32_t slot, uint32_t addr, uint32_t timestamp, uint32_t bits);
void pushInfo(uint8_t slotNumbers);
void registerCallback_Packet(UART_CTRL_Callback_Packet callback, void * args);
void registerCallback_PerformScan(UART_CTRL_Callback_PerformScan callback, void * args);
void registerCallback_ReqSlotUpdate(UART_CTRL_Callback_ReqSlotUpdate callback, void * args);
void registerCallback_GetInfo(UART_CTRL_Callback_GetInfo callback, void * args);
void registerCallback_Packet(GobotRPC_CtrlInterface_Callback_Packet callback, void * args);
void registerCallback_PerformScan(GobotRPC_CtrlInterface_Callback_PerformScan callback, void * args);
void registerCallback_ReqSlotUpdate(GobotRPC_CtrlInterface_Callback_ReqSlotUpdate callback, void * args);
void registerCallback_GetInfo(GobotRPC_CtrlInterface_Callback_GetInfo callback, void * args);
};
enum UART_CTRL_Command_ID {
UART_CMD_PACKET = 0x01, // Host <-> Hub
UART_CMD_PERFORM_SCAN = 0x02, // Host -> Hub
UART_CMD_SCAN_RESULT = 0x03, // Hub -> Host
UART_CMD_SLOT_UPDATE = 0x04, // Hub -> Host
UART_CMD_REQ_SLOT_UPDATE = 0x05, // Host -> Hub
UART_CMD_INFO = 0xff, // Host -> Hub, Hub -> Host
GOBOTRPC_CTRL_CMD_PACKET = 0x81, // Host <-> Hub
GOBOTRPC_CTRL_CMD_PERFORM_SCAN = 0x82, // Host -> Hub
GOBOTRPC_CTRL_CMD_SCAN_RESULT = 0x83, // Hub -> Host
GOBOTRPC_CTRL_CMD_SLOT_UPDATE = 0x84, // Hub -> Host
GOBOTRPC_CTRL_CMD_REQ_SLOT_UPDATE = 0x85, // Host -> Hub
GOBOTRPC_CTRL_CMD_INFO = 0xff, // Host -> Hub, Hub -> Host
};

View File

@@ -1,8 +1,45 @@
#pragma once
#include <string.h>
typedef void (*UART_CTRL_Callback_RX)(void * args, char * data, size_t length);
class I_UART_CTRL_Hardware_Handler {
class GobotRPC_CtrlInterface_HardwareHandler {
public:
virtual void send(char * data, size_t length) = 0;
virtual void registerCallback(UART_CTRL_Callback_RX) = 0;
virtual void registerCallback(UART_CTRL_Callback_RX, void * args) = 0;
};
#define GOBOTRPC_PLATFORM_RP2040
#ifdef GOBOTRPC_PLATFORM_RP2040
#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#include "hardware/uart.h"
class GobotRPC_CtrlInterface_HardwareHandler_RP2040 : public GobotRPC_CtrlInterface_HardwareHandler {
private:
uart_inst_t * uart_instance;
int UART_IRQ;
UART_CTRL_Callback_RX callback_rx;
void * callback_args;
xSemaphoreHandle rxSemphrHandle;
TaskHandle_t rxTaskHandle;
public:
GobotRPC_CtrlInterface_HardwareHandler_RP2040(uart_inst_t * uart_instance, uint baudrate, uint tx_pin, uint rx_pin);
void send(char * data, size_t length) override;
void registerCallback(UART_CTRL_Callback_RX, void * args) override;
void rxTaskHandler();
void scheduleRXHandler(BaseType_t * higher_priority_task_woken);
};
extern GobotRPC_CtrlInterface_HardwareHandler_RP2040 * g_uart_hardware_handler;
void isrUartRX();
void vTaskRxHandler(void * pvParameters);
#endif

View File

@@ -1,22 +0,0 @@
#include "uart_ctrl.hpp"
#include <string.h>
void UART_CTRL_Interface::registerCallback_Packet(UART_CTRL_Callback_Packet callback, void *args) {
packetCallback = callback;
packetCallbackArgs = args;
}
void UART_CTRL_Interface::registerCallback_PerformScan(UART_CTRL_Callback_PerformScan callback, void *args) {
performScanCallback = callback;
performScanCallbackArgs = args;
}
void UART_CTRL_Interface::registerCallback_ReqSlotUpdate(UART_CTRL_Callback_ReqSlotUpdate callback, void *args) {
reqSlotUpdateCallback = callback;
reqSlotUpdateCallbackArgs = args;
}
void UART_CTRL_Interface::registerCallback_GetInfo(UART_CTRL_Callback_GetInfo callback, void *args) {
getInfoCallback = callback;
getInfoCallbackArgs = args;
}

View File

@@ -7,11 +7,15 @@
#define LED_PIN 25
#include "gobotrpc/include/gobotrpc.hpp"
#include "uart_ctrl_hardware.hpp"
void TaskFn(void * args) {
printf("\n\n\n\n");
printf("%d\n", xPortGetFreeHeapSize());
GobotRPC_CtrlInterface_HardwareHandler_RP2040 uartHandler(uart0, 115200, 0, 1);
GobotRPCParser rpcRXParser;