Implement I2C
This commit is contained in:
@@ -41,7 +41,8 @@ pico_sdk_init()
|
||||
# Add executable. Default name is the project name, version 0.1
|
||||
|
||||
add_executable(i2c-hub-firmware
|
||||
src/main.cpp
|
||||
src/main_core0.cpp
|
||||
src/main_core1.cpp
|
||||
#src/freeRTOS_impl.c
|
||||
)
|
||||
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
/* Memory allocation related definitions. */
|
||||
#define configSUPPORT_STATIC_ALLOCATION 0
|
||||
#define configSUPPORT_DYNAMIC_ALLOCATION 1
|
||||
#define configTOTAL_HEAP_SIZE (1024 * 64)
|
||||
#define configAPPLICATION_ALLOCATED_HEAP (1024 * 32)
|
||||
#define configTOTAL_HEAP_SIZE (1024 * 128)
|
||||
#define configAPPLICATION_ALLOCATED_HEAP (1024 * 64)
|
||||
|
||||
/* Hook function related definitions. */
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 0
|
||||
|
||||
@@ -1,14 +1,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="1195" dy="725" 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="775" dy="470" 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="weFQkCekfF49Ojb9-c9R-348" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1090" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="1095.47" y="1640" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-484" value="<font style="font-size: 50px;">Node</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#82b366;strokeWidth=7;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="3580" y="1550" width="1450" height="900" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-483" value="<font style="font-size: 50px;">I2C Hub (Rpi Pico)</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#82b366;strokeWidth=7;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="1550" width="2601" height="900" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-463" value="i2C Package Rx Task" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;dashed=1;strokeWidth=2;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="1790" y="1985" width="260" height="235" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-208" value="" style="endArrow=none;dashed=1;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
@@ -742,204 +745,109 @@
|
||||
<mxGeometry x="1540" y="760" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-232" value="<b><font style="font-size: 20px;">GoRPC Ctrl Protocol</font></b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.61" y="1040" width="600" height="40" as="geometry" />
|
||||
<mxGeometry x="1200.51" y="1000" width="600" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-233" value="Msg Type" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.9499999999998" y="1140" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.85" y="1100" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-234" value="Data (max 255b )" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1361.9599999999998" y="1141" width="439.02" height="20" as="geometry" />
|
||||
<mxGeometry x="1361.86" y="1101" width="439.02" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-235" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.9499999999998" y="1120" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.85" y="1080" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-236" value="0-255" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1360.9799999999998" y="1121" width="440" height="20" as="geometry" />
|
||||
<mxGeometry x="1360.8799999999999" y="1081" width="440" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-237" value="TX Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.61" y="1200" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.51" y="1160" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-239" value="0x01" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1201" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1161" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-240" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1181" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1141" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-241" value="GoRPC Package" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.1499999999999" y="1203" width="359.46" height="19" as="geometry" />
|
||||
<mxGeometry x="1441.05" y="1163" width="359.46" height="19" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-242" value="RX Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1239" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1199" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-243" value="0x02" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.62" y="1239" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.52" y="1199" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-244" value="GoRPC Package" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.6399999999999" y="1240" width="358.97" height="20" as="geometry" />
|
||||
<mxGeometry x="1441.54" y="1200" width="358.97" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-245" value="0-251" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.1499999999999" y="1221" width="349.46" height="20" as="geometry" />
|
||||
<mxGeometry x="1441.05" y="1181" width="349.46" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-247" value="0-251" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1440.4699999999998" y="1181" width="360.14" height="20" as="geometry" />
|
||||
<mxGeometry x="1440.37" y="1141" width="360.14" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-248" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1219" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1179" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-249" value="Perform Scan" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1280" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1240" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-250" value="0x03" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1202.2299999999998" y="1281" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1202.1299999999999" y="1241" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-251" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1260" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1220" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-252" value="Scan Result" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1320" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1280" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-253" value="0x04" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1202.0799999999997" y="1320" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.9799999999998" y="1280" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-254" value="Address" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.8399999999997" y="1320" width="160" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.7399999999998" y="1280" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-255" value="Node Type" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1523.5399999999997" y="1320" width="118.05" height="20" as="geometry" />
|
||||
<mxGeometry x="1523.4399999999998" y="1280" width="118.05" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-256" value="Status" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1641.5899999999997" y="1320" width="81.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1641.4899999999998" y="1280" width="81.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-258" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="491.72999999999996" y="770" width="160.72" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-259" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.2599999999998" y="1301" width="160" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.1599999999999" y="1261" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-260" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1522.2599999999998" y="1301" width="118.05" height="20" as="geometry" />
|
||||
<mxGeometry x="1522.1599999999999" y="1261" width="118.05" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-261" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1640.3099999999997" y="1301" width="81.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1640.2099999999998" y="1261" width="81.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-262" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1300" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-267" value="<span style="font-weight: 400;">GobotRPC_CI</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1910" y="1022" width="270" height="190" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-268" value="+&nbsp;<span style="text-align: center;">GobotRPC_CI</span>_Hardware: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="26" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-271" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="52" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-269" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="78" width="270" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-270" value="registerCB_TxPackage(cb,args)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="86" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-303" value="send_RXPackage(package)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="112" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-310" value="heartBeartTaskFn" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="138" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-286" value="onRxData" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="164" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-272" value="<div><span style="font-weight: 400;">«interface»</span><span style="font-weight: 400;"><br></span></div>GobotRPC_CI_Hardware" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2230" y="1239" width="270" height="92" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-285" value="registerRXCallback(cb, args)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry y="40" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-276" value="<i>abstract&nbsp;send(data, length)</i>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry y="66" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-277" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-268" target="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-279" target="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-279" value="<span style="font-weight: 400;">GobotRPC_CI_Hardware_RP2040_UART</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2220" y="1355" width="290" height="164" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-294" value="vTaskHandle rxTaskHandle" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="26" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-297" value="vSemphoreHandle rxDataSemphore" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="52" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-293" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="78" width="290" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-291" value="rxISR();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="86" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-292" value="rxTask();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="112" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-300" value="rxHandler();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="138" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-290" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-289" target="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-289" value="GobotRPC_CI_Hardware_RP2040_UART_ISR(args)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2560" y="1361" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-295" value="GobotRPC_CI_Hardware_RP2040_UART_RXTaskFn(args)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2563" y="1416.41" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-296" value="extern g_GobotRPC_CI_Hardware_RP2040_UART" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2563" y="1467" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-298" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.999;entryY=1.095;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-295" target="weFQkCekfF49Ojb9-c9R-297">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-299" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.988;entryY=0.418;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-296" target="weFQkCekfF49Ojb9-c9R-293">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2540" y="1487" />
|
||||
<mxPoint x="2540" y="1436" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-301" value="<div style="background-color: rgb(31, 31, 31); line-height: 19px;"><font face="Droid Sans Mono, monospace, monospace" color="#dcdcaa"><span style="font-size: 14px; white-space: pre;">GobotRPC_CI_rxData_cb</span></font><br></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2330" y="1000" width="190" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-302" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-271" target="weFQkCekfF49Ojb9-c9R-301">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1260" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-304" value="Heart Beat" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1122.3" y="1361" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1122.2" y="1321" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-306" value="0xff" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.2699999999998" y="1361" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.1699999999998" y="1321" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-307" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1340" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-308" value="<div style="background-color: rgb(31, 31, 31); line-height: 19px;"><font face="Droid Sans Mono, monospace, monospace" color="#dcdcaa"><span style="font-size: 14px; white-space: pre;">GobotRPC_CI_heartBeatTaskFn</span></font><br></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2330" y="950" width="280" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-309" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-271" target="weFQkCekfF49Ojb9-c9R-308">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1300" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-311" value="Print Text" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.1" y="1401" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120" y="1361" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-312" value="0xfe" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.6099999999997" y="1401" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.5099999999998" y="1361" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-313" value="Text" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1360.3" y="1402" width="440.31" height="20" as="geometry" />
|
||||
<mxGeometry x="1360.2" y="1362" width="440.31" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-314" value="0-255" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1359.32" y="1382" width="441.29" height="20" as="geometry" />
|
||||
<mxGeometry x="1359.22" y="1342" width="441.29" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-316" value="" style="endArrow=none;dashed=1;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-315">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
@@ -954,64 +862,64 @@
|
||||
<mxGeometry x="1700.28" y="760" width="40" height="32" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-318" value="Addr" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.84" y="1201" width="79.66" height="21" as="geometry" />
|
||||
<mxGeometry x="1362.74" y="1161" width="79.66" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-319" value="Addr" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.84" y="1238.5" width="79.66" height="21" as="geometry" />
|
||||
<mxGeometry x="1362.74" y="1198.5" width="79.66" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-320" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.2599999999998" y="1221" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.1599999999999" y="1181" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-321" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1359.3199999999997" y="1182" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1359.2199999999998" y="1142" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-322" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.6999999999998" y="1140" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.6" y="1100" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-323" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1201" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1161" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-324" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1239" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1199" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-325" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1281" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1241" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-326" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1320" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1280" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-327" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.32" y="1361.5" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.22" y="1321.5" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-328" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1279.9299999999998" y="1401" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1279.83" y="1361" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-329" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1283.18" y="1301" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1283.0800000000002" y="1261" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-330" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1282.6000000000001" y="1261" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1282.5000000000002" y="1221" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-331" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.5900000000001" y="1219" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.4900000000002" y="1179" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-332" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1282.3000000000002" y="1180" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1282.2000000000003" y="1140" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-333" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1283.1800000000003" y="1341" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1283.0800000000004" y="1301" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-334" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.2700000000002" y="1381" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.1700000000003" y="1341" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-335" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.5800000000002" y="1381" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.4800000000002" y="1341" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-336" value="Counted to sizes" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200" y="1100" width="600.61" height="20" as="geometry" />
|
||||
<mxGeometry x="1199.9" y="1060" width="600.61" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-337" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.2699999999998" y="1121" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.1699999999998" y="1081" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-345" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-338" target="weFQkCekfF49Ojb9-c9R-344">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
@@ -1042,10 +950,10 @@
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-344" value="InputBuffer" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1269.61" y="1692.5" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-349" value="Core0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="1038.15" y="1610" width="722" height="30" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-349" value="Core0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=26;" vertex="1" parent="1">
|
||||
<mxGeometry x="1038.15" y="1600" width="1111.85" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-361" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-361" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1215" y="1700" width="15" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-362" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-361" target="weFQkCekfF49Ojb9-c9R-339">
|
||||
@@ -1066,7 +974,7 @@
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-365" value="InputBuffer" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1650.28" y="1842.5" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-367" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-367" value="/\" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1730.28" y="1700" width="19.72" height="174" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-368" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.018;entryY=0.488;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-367" target="weFQkCekfF49Ojb9-c9R-338">
|
||||
@@ -1075,29 +983,396 @@
|
||||
<mxPoint x="1710" y="1720" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-369" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-369" value="" style="endArrow=none;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=5;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1030" y="1600" as="sourcePoint" />
|
||||
<mxPoint x="2030" y="1600" as="targetPoint" />
|
||||
<mxPoint x="2160" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-370" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2030" y="1930" as="sourcePoint" />
|
||||
<mxPoint x="2030" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-406" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-371" target="weFQkCekfF49Ojb9-c9R-405">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-371" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">cb_rxData</span></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1800" y="1760" width="160" height="40" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-371" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">onRxData</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1790.61" y="1722.5" width="89.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-373" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.009;entryY=0.431;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.935;exitY=0.449;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-367" target="weFQkCekfF49Ojb9-c9R-371">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-373" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.009;entryY=0.431;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-367" target="weFQkCekfF49Ojb9-c9R-371">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1750" y="1790" as="sourcePoint" />
|
||||
<mxPoint x="1800" y="1740" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-374" value="Empty Buffer Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic" vertex="1" parent="1">
|
||||
<mxGeometry x="2096.67" y="1680" width="183.33" height="55" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-409" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-374" target="weFQkCekfF49Ojb9-c9R-410">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2440" y="1730" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-374" value="Gobot RPC TX Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic;labelBackgroundColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="2127.84" y="1692.5" width="183.33" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-377" value="Core1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=26;" vertex="1" parent="1">
|
||||
<mxGeometry x="2360" y="1600" width="730" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-378" value="" style="endArrow=none;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=5;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2160" y="1600" as="sourcePoint" />
|
||||
<mxPoint x="3200" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-379" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2521" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2522.03" y="1650" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-380" value="TX Task" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2521" y="1660" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-383" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2080" y="2310" as="sourcePoint" />
|
||||
<mxPoint x="2069.37" y="1580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-384" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1140" y="2250" as="sourcePoint" />
|
||||
<mxPoint x="1140" y="1530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-385" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: rgb(78, 201, 176);">CI Package: Sizes</span><br></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1316.66" y="2200" width="330" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-386" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=0.715;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-399">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1761" y="2160" as="sourcePoint" />
|
||||
<mxPoint x="1760.98" y="1560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-387" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: rgb(78, 201, 176);">CI Package All</span><br></div></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1780" y="1874" width="280" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-389" value="GoRPCPackage_Transport" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=29;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;whiteSpace=wrap;labelBackgroundColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="2116.67" y="1816" width="180" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-390" value="gobotrpc_package" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="29" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-391" value="addr" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="54" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-392" value="size" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="79" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-394" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-415">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2338" y="2160" as="sourcePoint" />
|
||||
<mxPoint x="2338" y="1567" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-399" value="<font style="font-size: 26px;">ctrl_interace</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="959.37" y="2310" width="1120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-400" value="<font style="font-size: 27px;">UART RX</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="940" y="1750" width="160" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-401" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-400" target="weFQkCekfF49Ojb9-c9R-361">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1010" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="1060" y="1870" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-405" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #9cdcfe;">cb_TxPacket</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1930.61" y="1700" width="129.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-407" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-405" target="weFQkCekfF49Ojb9-c9R-374">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-408" value="Parse CI Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1851.98" y="1670" width="138" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-411" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-442" target="weFQkCekfF49Ojb9-c9R-436">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="3180" y="1812.5263157894738" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="3200" y="1790" />
|
||||
<mxPoint x="3200" y="2109" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-487" value="WRITE" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-411">
|
||||
<mxGeometry x="0.4295" y="2" relative="1" as="geometry">
|
||||
<mxPoint y="2" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-410" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2561" y="1740" width="19.72" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-413" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2732" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2732.03" y="1660" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-414" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><br></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="2400" y="2390" width="260" height="22" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-415" value="<font style="font-size: 26px;">transmission_interace</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2344" y="2310" width="782" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-416" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2731" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2521" y="1890" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-395" value="<div style="background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><font color="#4ec9b0">main / global scope</font></div></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="2070" y="2222" width="280" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-475" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.51;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-419">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2000" y="2013" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-419" value="Gobot RPC RX Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic;labelBackgroundColor=default;flipH=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2116.67" y="1985" width="183.33" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-425" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-420" target="weFQkCekfF49Ojb9-c9R-426">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="3032" y="1990" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="3130" y="2215" />
|
||||
<mxPoint x="3130" y="1990" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-420" value="<span style="font-size: 27px;">INT</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3220" y="2200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-421" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="2050" as="sourcePoint" />
|
||||
<mxPoint x="2922.03" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-422" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="2050" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="2050" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-423" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-424" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3092" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="2050" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-429" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-426" target="weFQkCekfF49Ojb9-c9R-428">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-426" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #9cdcfe;">rts_ISR</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2942" y="1970" width="129.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-430" value="ISR" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2919" y="1920" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-431" value="RX Task" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2670" y="1930" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-432" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2859.99" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="2651.02" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-433" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2860" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="2860" y="2230" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-434" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2650" y="2230" as="sourcePoint" />
|
||||
<mxPoint x="2651.02" y="1919.43" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-435" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2760.14" y="1975" width="19.72" height="235" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-428" value="i2cRxSemphore" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2710" y="1990" width="120" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-436" value="<span style="font-size: 27px;">I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3260" y="2078" width="120" height="62" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-437" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-436">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2780" y="2100" as="sourcePoint" />
|
||||
<mxPoint x="2830" y="2060" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-438" value="READ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-437">
|
||||
<mxGeometry x="0.1208" y="2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-440" value="i2cMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=10;" vertex="1" parent="1">
|
||||
<mxGeometry x="2880" y="2078" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-443" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-410" target="weFQkCekfF49Ojb9-c9R-442">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2690" y="1790" as="targetPoint" />
|
||||
<mxPoint x="2460" y="1790" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-442" value="i2cMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=10;" vertex="1" parent="1">
|
||||
<mxGeometry x="3012" y="1780" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-444" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.006;entryY=0.826;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435" target="weFQkCekfF49Ojb9-c9R-420">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2780" y="2068" />
|
||||
<mxPoint x="3110" y="2068" />
|
||||
<mxPoint x="3110" y="2250" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-445" value="READ Int Pins" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-444">
|
||||
<mxGeometry x="-0.8327" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="232" y="3" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-446" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.073;exitY=0.905;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2710" y="2170" as="sourcePoint" />
|
||||
<mxPoint x="2760" y="2050" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="2730" y="2190" />
|
||||
<mxPoint x="2730" y="2050" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-447" value="until cleared" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-446">
|
||||
<mxGeometry x="-0.2074" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-9" y="6" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-449" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2650" y="2230" as="sourcePoint" />
|
||||
<mxPoint x="2860" y="2230" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-450" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2731" y="1660" as="sourcePoint" />
|
||||
<mxPoint x="2521" y="1650" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-462" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=-0.058;exitY=0.651;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435" target="weFQkCekfF49Ojb9-c9R-419">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-464" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_CI</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1760" y="2270" width="319.76" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-465" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_CI_Hardware_RP2040_UART</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="2270" width="800.91" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-473" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-466" target="weFQkCekfF49Ojb9-c9R-471">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-466" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1987.8000000000002" y="2012.5" width="15" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-468" value="<font style="font-size: 27px;">UART TX</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="940" y="2112.5" width="170" height="57.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-479" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-471" target="weFQkCekfF49Ojb9-c9R-478">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-471" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send_RxPacket</span></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1820" y="2072.5" width="113.71" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-474" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3150" y="2291.5" as="sourcePoint" />
|
||||
<mxPoint x="3150" y="1578.5" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-480" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-478" target="weFQkCekfF49Ojb9-c9R-468">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-478" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send</span></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1573.3300000000002" y="2100" width="113.71" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-476" value="uartTxMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=14.590000000000146;" vertex="1" parent="1">
|
||||
<mxGeometry x="1400.34" y="2100" width="104.59" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-482" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_TI_Hardware_RP2040_I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2344" y="2270" width="786" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-370" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=10;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2206.2400000000002" y="1630" as="sourcePoint" />
|
||||
<mxPoint x="2206.2400000000002" y="1580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-485" value="<span style="font-size: 27px;">INT</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3630" y="2180" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-486" value="<span style="font-size: 27px;">I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3620" y="2072.5" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-488" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=5;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-420" target="weFQkCekfF49Ojb9-c9R-485">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3390" y="2250" as="sourcePoint" />
|
||||
<mxPoint x="3440" y="2200" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-489" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=5;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-486">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3380" y="2106.5" as="sourcePoint" />
|
||||
<mxPoint x="3670" y="2089.5" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-490" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">pushPackageCB</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2370" y="1983" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-491" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">pullPackageCB</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2380" y="1690" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-492" value="Error TX/RX" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1122.2" y="1401" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-493" value="0xfd" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8299999999997" y="1402" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-494" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.6899999999998" y="1402" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-495" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1199.9000000000003" y="1381" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-496" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1279.5600000000004" y="1382" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-497" value="Address" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1443.6899999999996" y="1402" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-498" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1443.6899999999998" y="1381" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-499" value="RX(1)/TX(0)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.7399999999998" y="1402" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-500" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1364.0300000000004" y="1382" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
@@ -1,14 +1,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="1366" dy="829" 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="1450" 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="weFQkCekfF49Ojb9-c9R-348" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1090" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="1095.47" y="1640" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-484" value="<font style="font-size: 50px;">Node</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#82b366;strokeWidth=7;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="3580" y="1550" width="1450" height="900" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-483" value="<font style="font-size: 50px;">I2C Hub (Rpi Pico)</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#82b366;strokeWidth=7;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="960" y="1550" width="2601" height="1570" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-463" value="i2C Package Rx Task" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;dashed=1;strokeWidth=2;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="1790" y="1985" width="260" height="235" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-208" value="" style="endArrow=none;dashed=1;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
@@ -742,204 +745,109 @@
|
||||
<mxGeometry x="1540" y="760" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-232" value="<b><font style="font-size: 20px;">GoRPC Ctrl Protocol</font></b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.61" y="1040" width="600" height="40" as="geometry" />
|
||||
<mxGeometry x="1200.51" y="1000" width="600" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-233" value="Msg Type" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.9499999999998" y="1140" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.85" y="1100" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-234" value="Data (max 255b )" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1361.9599999999998" y="1141" width="439.02" height="20" as="geometry" />
|
||||
<mxGeometry x="1361.86" y="1101" width="439.02" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-235" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.9499999999998" y="1120" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.85" y="1080" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-236" value="0-255" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1360.9799999999998" y="1121" width="440" height="20" as="geometry" />
|
||||
<mxGeometry x="1360.8799999999999" y="1081" width="440" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-237" value="TX Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.61" y="1200" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.51" y="1160" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-239" value="0x01" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1201" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1161" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-240" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1181" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1141" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-241" value="GoRPC Package" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.1499999999999" y="1203" width="359.46" height="19" as="geometry" />
|
||||
<mxGeometry x="1441.05" y="1163" width="359.46" height="19" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-242" value="RX Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1239" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1199" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-243" value="0x02" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.62" y="1239" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.52" y="1199" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-244" value="GoRPC Package" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.6399999999999" y="1240" width="358.97" height="20" as="geometry" />
|
||||
<mxGeometry x="1441.54" y="1200" width="358.97" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-245" value="0-251" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1441.1499999999999" y="1221" width="349.46" height="20" as="geometry" />
|
||||
<mxGeometry x="1441.05" y="1181" width="349.46" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-247" value="0-251" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1440.4699999999998" y="1181" width="360.14" height="20" as="geometry" />
|
||||
<mxGeometry x="1440.37" y="1141" width="360.14" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-248" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8899999999999" y="1219" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.79" y="1179" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-249" value="Perform Scan" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1280" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1240" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-250" value="0x03" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1202.2299999999998" y="1281" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1202.1299999999999" y="1241" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-251" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1260" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1220" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-252" value="Scan Result" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.27" y="1320" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120.17" y="1280" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-253" value="0x04" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1202.0799999999997" y="1320" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.9799999999998" y="1280" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-254" value="Address" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.8399999999997" y="1320" width="160" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.7399999999998" y="1280" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-255" value="Node Type" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1523.5399999999997" y="1320" width="118.05" height="20" as="geometry" />
|
||||
<mxGeometry x="1523.4399999999998" y="1280" width="118.05" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-256" value="Status" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1641.5899999999997" y="1320" width="81.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1641.4899999999998" y="1280" width="81.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-258" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="491.72999999999996" y="770" width="160.72" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-259" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.2599999999998" y="1301" width="160" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.1599999999999" y="1261" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-260" value="3" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1522.2599999999998" y="1301" width="118.05" height="20" as="geometry" />
|
||||
<mxGeometry x="1522.1599999999999" y="1261" width="118.05" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-261" value="2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1640.3099999999997" y="1301" width="81.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1640.2099999999998" y="1261" width="81.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-262" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1300" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-267" value="<span style="font-weight: 400;">GobotRPC_CI</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1910" y="1022" width="270" height="190" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-268" value="+&nbsp;<span style="text-align: center;">GobotRPC_CI</span>_Hardware: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="26" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-271" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="52" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-269" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="78" width="270" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-270" value="registerCB_TxPackage(cb,args)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="86" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-303" value="send_RXPackage(package)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="112" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-310" value="heartBeartTaskFn" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="138" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-286" value="onRxData" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-267">
|
||||
<mxGeometry y="164" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-272" value="<div><span style="font-weight: 400;">«interface»</span><span style="font-weight: 400;"><br></span></div>GobotRPC_CI_Hardware" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2230" y="1239" width="270" height="92" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-285" value="registerRXCallback(cb, args)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry y="40" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-276" value="<i>abstract&nbsp;send(data, length)</i>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry y="66" width="270" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-277" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-268" target="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-284" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-279" target="weFQkCekfF49Ojb9-c9R-272">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-279" value="<span style="font-weight: 400;">GobotRPC_CI_Hardware_RP2040_UART</span>" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2220" y="1355" width="290" height="164" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-294" value="vTaskHandle rxTaskHandle" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="26" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-297" value="vSemphoreHandle rxDataSemphore" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="52" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-293" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="78" width="290" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-291" value="rxISR();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="86" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-292" value="rxTask();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="112" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-300" value="rxHandler();" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry y="138" width="290" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-290" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=diamondThin;endFill=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-289" target="weFQkCekfF49Ojb9-c9R-279">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-289" value="GobotRPC_CI_Hardware_RP2040_UART_ISR(args)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2560" y="1361" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-295" value="GobotRPC_CI_Hardware_RP2040_UART_RXTaskFn(args)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2563" y="1416.41" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-296" value="extern g_GobotRPC_CI_Hardware_RP2040_UART" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2563" y="1467" width="360" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-298" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.999;entryY=1.095;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-295" target="weFQkCekfF49Ojb9-c9R-297">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-299" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.988;entryY=0.418;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-296" target="weFQkCekfF49Ojb9-c9R-293">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2540" y="1487" />
|
||||
<mxPoint x="2540" y="1436" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-301" value="<div style="background-color: rgb(31, 31, 31); line-height: 19px;"><font face="Droid Sans Mono, monospace, monospace" color="#dcdcaa"><span style="font-size: 14px; white-space: pre;">GobotRPC_CI_rxData_cb</span></font><br></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2330" y="1000" width="190" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-302" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-271" target="weFQkCekfF49Ojb9-c9R-301">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1260" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-304" value="Heart Beat" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1122.3" y="1361" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1122.2" y="1321" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-306" value="0xff" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.2699999999998" y="1361" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.1699999999998" y="1321" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-307" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.27" y="1340" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-308" value="<div style="background-color: rgb(31, 31, 31); line-height: 19px;"><font face="Droid Sans Mono, monospace, monospace" color="#dcdcaa"><span style="font-size: 14px; white-space: pre;">GobotRPC_CI_heartBeatTaskFn</span></font><br></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2330" y="950" width="280" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-309" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-271" target="weFQkCekfF49Ojb9-c9R-308">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxGeometry x="1200.17" y="1300" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-311" value="Print Text" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1120.1" y="1401" width="80" height="21" as="geometry" />
|
||||
<mxGeometry x="1120" y="1361" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-312" value="0xfe" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200.6099999999997" y="1401" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1200.5099999999998" y="1361" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-313" value="Text" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1360.3" y="1402" width="440.31" height="20" as="geometry" />
|
||||
<mxGeometry x="1360.2" y="1362" width="440.31" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-314" value="0-255" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1359.32" y="1382" width="441.29" height="20" as="geometry" />
|
||||
<mxGeometry x="1359.22" y="1342" width="441.29" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-316" value="" style="endArrow=none;dashed=1;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-315">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
@@ -954,64 +862,64 @@
|
||||
<mxGeometry x="1700.28" y="760" width="40" height="32" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-318" value="Addr" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.84" y="1201" width="79.66" height="21" as="geometry" />
|
||||
<mxGeometry x="1362.74" y="1161" width="79.66" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-319" value="Addr" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.84" y="1238.5" width="79.66" height="21" as="geometry" />
|
||||
<mxGeometry x="1362.74" y="1198.5" width="79.66" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-320" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.2599999999998" y="1221" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1362.1599999999999" y="1181" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-321" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1359.3199999999997" y="1182" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1359.2199999999998" y="1142" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-322" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.6999999999998" y="1140" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.6" y="1100" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-323" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1201" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1161" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-324" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1239" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1199" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-325" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1281" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1241" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-326" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.8899999999999" y="1320" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.79" y="1280" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-327" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.32" y="1361.5" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.22" y="1321.5" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-328" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1279.9299999999998" y="1401" width="80.95" height="20" as="geometry" />
|
||||
<mxGeometry x="1279.83" y="1361" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-329" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1283.18" y="1301" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1283.0800000000002" y="1261" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-330" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1282.6000000000001" y="1261" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1282.5000000000002" y="1221" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-331" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.5900000000001" y="1219" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1281.4900000000002" y="1179" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-332" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1282.3000000000002" y="1180" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1282.2000000000003" y="1140" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-333" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1283.1800000000003" y="1341" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1283.0800000000004" y="1301" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-334" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.2700000000002" y="1381" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.1700000000003" y="1341" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-335" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.5800000000002" y="1381" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1201.4800000000002" y="1341" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-336" value="Counted to sizes" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200" y="1100" width="600.61" height="20" as="geometry" />
|
||||
<mxGeometry x="1199.9" y="1060" width="600.61" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-337" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1280.2699999999998" y="1121" width="79.66" height="20" as="geometry" />
|
||||
<mxGeometry x="1280.1699999999998" y="1081" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-345" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-338" target="weFQkCekfF49Ojb9-c9R-344">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
@@ -1045,7 +953,7 @@
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-349" value="Core0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=26;" vertex="1" parent="1">
|
||||
<mxGeometry x="1038.15" y="1600" width="1111.85" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-361" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-361" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1215" y="1700" width="15" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-362" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-361" target="weFQkCekfF49Ojb9-c9R-339">
|
||||
@@ -1066,7 +974,7 @@
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-365" value="InputBuffer" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1650.28" y="1842.5" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-367" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-367" value="/\" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1730.28" y="1700" width="19.72" height="174" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-368" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.018;entryY=0.488;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-367" target="weFQkCekfF49Ojb9-c9R-338">
|
||||
@@ -1075,20 +983,17 @@
|
||||
<mxPoint x="1710" y="1720" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-369" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-369" value="" style="endArrow=none;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=5;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1030" y="1600" as="sourcePoint" />
|
||||
<mxPoint x="2160" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-370" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2160" y="1930" as="sourcePoint" />
|
||||
<mxPoint x="2160" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-406" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-371" target="weFQkCekfF49Ojb9-c9R-405">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-371" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">cb_rxData</span></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1820" y="1710" width="160" height="40" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-371" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">onRxData</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1790.61" y="1722.5" width="89.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-373" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.009;entryY=0.431;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-367" target="weFQkCekfF49Ojb9-c9R-371">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
@@ -1096,27 +1001,451 @@
|
||||
<mxPoint x="1800" y="1740" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-374" value="Gobot RPC TX Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic" vertex="1" parent="1">
|
||||
<mxGeometry x="2080.79" y="1702.5" width="183.33" height="55" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-409" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-374" target="weFQkCekfF49Ojb9-c9R-410">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2440" y="1730" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-376" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-371" target="weFQkCekfF49Ojb9-c9R-374">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-374" value="Gobot RPC TX Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic;labelBackgroundColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="2127.84" y="1692.5" width="183.33" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-377" value="Core1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=26;" vertex="1" parent="1">
|
||||
<mxGeometry x="2160" y="1600" width="1111.85" height="30" as="geometry" />
|
||||
<mxGeometry x="2360" y="1600" width="730" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-378" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-378" value="" style="endArrow=none;html=1;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;strokeWidth=5;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2160" y="1600" as="sourcePoint" />
|
||||
<mxPoint x="3280" y="1600" as="targetPoint" />
|
||||
<mxPoint x="3200" y="1600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-379" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2350" y="1934" as="sourcePoint" />
|
||||
<mxPoint x="2351.03" y="1654" as="targetPoint" />
|
||||
<mxPoint x="2521" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2522.03" y="1650" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-380" value="TX Task" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2521" y="1660" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-383" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-464">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2080" y="2310" as="sourcePoint" />
|
||||
<mxPoint x="2069.37" y="1580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-384" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1140" y="2500" as="sourcePoint" />
|
||||
<mxPoint x="1140" y="1530" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-385" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: rgb(78, 201, 176);">CI Package: Sizes</span><br></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1236.17" y="2440" width="330" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-386" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=0.715;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-399">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1761" y="2160" as="sourcePoint" />
|
||||
<mxPoint x="1760.98" y="1560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-387" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: rgb(78, 201, 176);">CI Package All</span><br></div></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1780" y="1874" width="280" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-389" value="GoRPCPackage_Transport" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=29;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;whiteSpace=wrap;labelBackgroundColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="2116.67" y="1816" width="180" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-390" value="gobotrpc_package" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="29" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-391" value="addr" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="54" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-392" value="size" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-389">
|
||||
<mxGeometry y="79" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-394" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-415">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2338" y="2160" as="sourcePoint" />
|
||||
<mxPoint x="2338" y="1567" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-399" value="<font style="font-size: 26px;">ctrl_interace</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="963.49" y="2550" width="1120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-400" value="<font style="font-size: 27px;">UART RX</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="940" y="1750" width="160" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-401" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-400" target="weFQkCekfF49Ojb9-c9R-361">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="1010" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="1060" y="1870" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-405" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #9cdcfe;">cb_TxPacket</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1930.61" y="1700" width="129.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-407" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-405" target="weFQkCekfF49Ojb9-c9R-374">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-408" value="Parse CI Package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1851.98" y="1670" width="138" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-411" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-442" target="weFQkCekfF49Ojb9-c9R-436">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="3180" y="1812.5263157894738" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="3200" y="1790" />
|
||||
<mxPoint x="3200" y="2109" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-487" value="WRITE" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-411">
|
||||
<mxGeometry x="0.4295" y="2" relative="1" as="geometry">
|
||||
<mxPoint y="2" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-510" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-410" target="weFQkCekfF49Ojb9-c9R-509">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-511" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-410" target="weFQkCekfF49Ojb9-c9R-509">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2580" y="1860" />
|
||||
<mxPoint x="2580" y="2080" />
|
||||
<mxPoint x="2610" y="2080" />
|
||||
<mxPoint x="2610" y="2385" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-410" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2561" y="1740" width="19.72" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-413" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2732" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2732.03" y="1660" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-414" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><br></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="2400" y="2390" width="260" height="22" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-415" value="<font style="font-size: 26px;">transmission_interace</font>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2338" y="2540" width="782" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-416" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2731" y="1890" as="sourcePoint" />
|
||||
<mxPoint x="2521" y="1890" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-395" value="<div style="background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><font color="#4ec9b0">main / global scope</font></div></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="2060" y="2490" width="280" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-475" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.51;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-419">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2000" y="2013" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-419" value="Gobot RPC RX Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic;labelBackgroundColor=default;flipH=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2116.67" y="1985" width="183.33" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-425" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-420" target="weFQkCekfF49Ojb9-c9R-426">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="3032" y="1990" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="3130" y="2215" />
|
||||
<mxPoint x="3130" y="1990" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-420" value="<span style="font-size: 27px;">INT</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3220" y="2200" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-421" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="2050" as="sourcePoint" />
|
||||
<mxPoint x="2922.03" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-422" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="2050" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="2050" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-423" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2922" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-424" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3092" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="3092" y="2050" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-429" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-426" target="weFQkCekfF49Ojb9-c9R-428">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-426" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><span style="color: #9cdcfe;">rts_ISR</span></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2942" y="1970" width="129.39" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-430" value="ISR" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2919" y="1920" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-431" value="RX Task" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="2670" y="1930" width="171" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-432" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2859.99" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="2651.02" y="1920" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-433" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2860" y="1920" as="sourcePoint" />
|
||||
<mxPoint x="2860" y="2230" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-434" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2650" y="2230" as="sourcePoint" />
|
||||
<mxPoint x="2651.02" y="1919.43" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-435" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2760.14" y="1975" width="19.72" height="235" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-428" value="i2cRxSemphore" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2710" y="1990" width="120" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-436" value="<span style="font-size: 27px;">I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3260" y="2078" width="120" height="62" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-437" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-436">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2780" y="2100" as="sourcePoint" />
|
||||
<mxPoint x="2830" y="2060" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-438" value="READ" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-437">
|
||||
<mxGeometry x="0.1208" y="2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-440" value="i2cMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=10;" vertex="1" parent="1">
|
||||
<mxGeometry x="2880" y="2078" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-443" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-410" target="weFQkCekfF49Ojb9-c9R-442">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="2690" y="1790" as="targetPoint" />
|
||||
<mxPoint x="2460" y="1790" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-442" value="i2cMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=10;" vertex="1" parent="1">
|
||||
<mxGeometry x="3012" y="1780" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-444" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.006;entryY=0.826;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435" target="weFQkCekfF49Ojb9-c9R-420">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2780" y="2068" />
|
||||
<mxPoint x="3110" y="2068" />
|
||||
<mxPoint x="3110" y="2250" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-445" value="READ Int Pins" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-444">
|
||||
<mxGeometry x="-0.8327" y="2" relative="1" as="geometry">
|
||||
<mxPoint x="232" y="3" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-446" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.073;exitY=0.905;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2710" y="2170" as="sourcePoint" />
|
||||
<mxPoint x="2760" y="2050" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="2730" y="2190" />
|
||||
<mxPoint x="2730" y="2050" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-447" value="until cleared" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="weFQkCekfF49Ojb9-c9R-446">
|
||||
<mxGeometry x="-0.2074" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="-9" y="6" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-449" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2650" y="2230" as="sourcePoint" />
|
||||
<mxPoint x="2860" y="2230" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-450" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2731" y="1660" as="sourcePoint" />
|
||||
<mxPoint x="2521" y="1650" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-462" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=-0.058;exitY=0.651;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-435" target="weFQkCekfF49Ojb9-c9R-419">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-464" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_CI</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1764.12" y="2510" width="319.76" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-465" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_CI_Hardware_RP2040_UART</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="964.12" y="2510" width="800.91" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-473" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-466" target="weFQkCekfF49Ojb9-c9R-471">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-466" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1987.8000000000002" y="2012.5" width="15" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-468" value="<font style="font-size: 27px;">UART TX</font>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="940" y="2112.5" width="170" height="57.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-479" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-471" target="weFQkCekfF49Ojb9-c9R-478">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-471" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send_RxPacket</span></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1820" y="2072.5" width="113.71" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-474" value="" style="endArrow=none;html=1;rounded=0;fontColor=#B5739D;strokeWidth=5;strokeColor=#B5739D;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-482">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3150" y="2291.5" as="sourcePoint" />
|
||||
<mxPoint x="3150" y="1578.5" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-480" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-478" target="weFQkCekfF49Ojb9-c9R-468">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-478" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send</span></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1573.3300000000002" y="2100" width="113.71" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-476" value="uartTxMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=14.590000000000146;" vertex="1" parent="1">
|
||||
<mxGeometry x="1400.34" y="2100" width="104.59" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-482" value="<span style="color: rgb(78, 201, 176); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; white-space: pre; background-color: rgb(31, 31, 31);">GobotRPC_TI_Hardware_RP2040_I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2338" y="2500" width="786" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-370" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=10;fillColor=#f8cecc;strokeColor=#b85450;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="2206.2400000000002" y="1630" as="sourcePoint" />
|
||||
<mxPoint x="2206.2400000000002" y="1580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-485" value="<span style="font-size: 27px;">INT</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3630" y="2180" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-486" value="<span style="font-size: 27px;">I2C</span>" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="3620" y="2072.5" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-488" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=5;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-420" target="weFQkCekfF49Ojb9-c9R-485">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3390" y="2250" as="sourcePoint" />
|
||||
<mxPoint x="3440" y="2200" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-489" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=5;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="weFQkCekfF49Ojb9-c9R-486">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="3380" y="2106.5" as="sourcePoint" />
|
||||
<mxPoint x="3670" y="2089.5" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-490" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">pushPackageCB</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2370" y="1983" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-491" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">pullPackageCB</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2380" y="1690" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-492" value="Error TX/RX" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1122.2" y="1401" width="80" height="21" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-493" value="0xfd" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1201.8299999999997" y="1402" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-494" value="size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1281.6899999999998" y="1402" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-495" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1199.9000000000003" y="1381" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-496" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1279.5600000000004" y="1382" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-497" value="Address" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1443.6899999999996" y="1402" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-498" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1443.6899999999998" y="1381" width="160" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-499" value="RX(1)/TX(0)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1362.7399999999998" y="1402" width="80.95" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-500" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="1364.0300000000004" y="1382" width="79.66" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-515" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.51;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-501" target="weFQkCekfF49Ojb9-c9R-514">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="2059" y="2358" />
|
||||
<mxPoint x="2059" y="2300" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-501" value="CI_Instructions Queue" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.azure.queue_generic;labelBackgroundColor=default;flipH=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2115" y="2330" width="183.33" height="55" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-505" value="CI_Instruction_Transport" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=29;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;html=1;whiteSpace=wrap;labelBackgroundColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="2127.84" y="2210" width="180" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-506" value="data[16]" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-505">
|
||||
<mxGeometry y="29" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-507" value="type" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-505">
|
||||
<mxGeometry y="54" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-508" value="addr" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;" vertex="1" parent="weFQkCekfF49Ojb9-c9R-505">
|
||||
<mxGeometry y="79" width="180" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-509" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #9cdcfe;">pushCIInstruction</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2360" y="2340" width="210" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-512" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-509" target="weFQkCekfF49Ojb9-c9R-501">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-513" value="CI_Instruction TX Task" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;dashed=1;strokeWidth=2;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1">
|
||||
<mxGeometry x="1794" y="2260" width="260" height="235" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-525" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-514" target="weFQkCekfF49Ojb9-c9R-516">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-514" value="\/" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="2025.0000000000002" y="2297.5" width="15" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-518" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-522" target="weFQkCekfF49Ojb9-c9R-517">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-516" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send_ErrorTransmission</span></div></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1780" y="2357.5" width="220.61" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-519" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-517" target="weFQkCekfF49Ojb9-c9R-468">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-517" value="uartTxMutex" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=14.590000000000146;" vertex="1" parent="1">
|
||||
<mxGeometry x="1309.9999999999998" y="2320" width="104.59" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-523" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="weFQkCekfF49Ojb9-c9R-516" target="weFQkCekfF49Ojb9-c9R-522">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="1817" y="2390" as="sourcePoint" />
|
||||
<mxPoint x="1362" y="2360" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="weFQkCekfF49Ojb9-c9R-522" value="<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: &quot;Droid Sans Mono&quot;, &quot;monospace&quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="color: #dcdcaa;">send</span></div></div></div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1470" y="2320" width="113.71" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
add_library(GobotRPC STATIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/base.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/ci_instruction.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/uart_rp2040/hardware_rp2040_uart.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../ctrl_interface/uart_rp2040/rx.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../crc16.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../protocol_base.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../transmission_interface/rp2040_i2c_init.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../transmission_interface/rp2040_i2c_tx.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../transmission_interface/rp2040_i2c_rx.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../transmission_interface/rp2040_i2c_int.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/../transmission_interface/rp2040_i2c_ci_instructions.cpp
|
||||
)
|
||||
|
||||
target_include_directories(GobotRPC PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/../include
|
||||
${CMAKE_CURRENT_LIST_DIR}/../include/ti
|
||||
${CMAKE_CURRENT_LIST_DIR}/../../..
|
||||
)
|
||||
|
||||
@@ -16,4 +23,5 @@ target_link_libraries(GobotRPC
|
||||
pico_stdlib
|
||||
hardware_uart
|
||||
hardware_irq
|
||||
hardware_i2c
|
||||
)
|
||||
@@ -6,11 +6,14 @@
|
||||
#include "task.h"
|
||||
|
||||
|
||||
GobotRPC_CI::GobotRPC_CI(I_GobotRPC_CI_Hardware *hardware, UBaseType_t core) {
|
||||
GobotRPC_CI::GobotRPC_CI(I_GobotRPC_CI_Hardware *hardware, UBaseType_t core, QueueHandle_t ciInstructionQueue) {
|
||||
this->ciInstructionQueue = ciInstructionQueue;
|
||||
|
||||
this->hardware = hardware;
|
||||
this->hardware->registerCB_RxData(GobotRPC_CI_rxData_cb, this);
|
||||
|
||||
xTaskCreateAffinitySet(GobotRPC_CI_heartBeatTaskFn, "Heartbeat Task", 2048, this, 2, core, &this->heartBeatTaskHandle);
|
||||
xTaskCreateAffinitySet(GobotRPC_CI_txCIInstructionTaskFn, "Tx CI Instruction Task", 2048, this, 3, core, &this->txCIInstructionTaskHandle);
|
||||
}
|
||||
|
||||
// Rx Side
|
||||
@@ -59,9 +62,23 @@ void GobotRPC_CI_heartBeatTaskFn(void *args) {
|
||||
}
|
||||
|
||||
void GobotRPC_CI::heartBeartTaskFn() {
|
||||
char heartBeatPacket[] = {0xff, 0x02};
|
||||
char heartBeatPacket[] = {HEARTBEAT, 0x02};
|
||||
while(1) {
|
||||
this->hardware->send(heartBeatPacket, 2);
|
||||
vTaskDelay(GOBOTRPC_HEARTBEAT_INTERVAL / portTICK_PERIOD_MS);
|
||||
}
|
||||
}
|
||||
|
||||
void GobotRPC_CI::send_ErrorTransmission(bool rx, uint64_t addr) {
|
||||
char errorPacket[7];
|
||||
|
||||
errorPacket[0] = ERROR_TRANMISSION;
|
||||
errorPacket[1] = 7;
|
||||
errorPacket[2] = rx ? 0x01 : 0x00;
|
||||
errorPacket[3] = (addr >> 24) & 0xff;
|
||||
errorPacket[4] = (addr >> 16) & 0xff;
|
||||
errorPacket[5] = (addr >> 8) & 0xff;
|
||||
errorPacket[6] = addr & 0xff;
|
||||
|
||||
this->hardware->send(errorPacket, 7);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
#include "ctrl_interface.hpp"
|
||||
|
||||
#include "ctrl_interface_instructions.hpp"
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
|
||||
void GobotRPC_CI_txCIInstructionTaskFn(void *args) {
|
||||
GobotRPC_CI *gobotRPC = (GobotRPC_CI *)args;
|
||||
gobotRPC->txCIInstructionTask();
|
||||
}
|
||||
|
||||
void GobotRPC_CI::txCIInstructionTask() {
|
||||
while(1) {
|
||||
CI_Instruction_Transport ciInstruction;
|
||||
xQueueReceive(ciInstructionQueue, &ciInstruction, portMAX_DELAY);
|
||||
|
||||
switch (ciInstruction.type) {
|
||||
case CI_INSTRUCTION_SEND_TRANMISSION_ERROR:
|
||||
uint32_t addr = ciInstruction.data[1] | (ciInstruction.data[2] << 8) | (ciInstruction.data[3] << 16) | (ciInstruction.data[4] << 24);
|
||||
uint8_t rx = ciInstruction.data[0];
|
||||
send_ErrorTransmission(rx, addr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ GobotRPC_CI_Hardware_RP2040_UART::GobotRPC_CI_Hardware_RP2040_UART(uart_inst_t *
|
||||
|
||||
initRxTaskAndQueues();
|
||||
|
||||
txMutex = xSemaphoreCreateMutex();
|
||||
uartTxMutex = xSemaphoreCreateMutex();
|
||||
|
||||
this->uart = uart;
|
||||
uart_init(this->uart, baudrate);
|
||||
@@ -47,8 +47,8 @@ void GobotRPC_CI_Hardware_RP2040_UART::registerCB_RxData(callback_rxData cb, voi
|
||||
|
||||
// Sending data
|
||||
void GobotRPC_CI_Hardware_RP2040_UART::send(char *data, size_t len) {
|
||||
xSemaphoreTake(txMutex, portMAX_DELAY);
|
||||
xSemaphoreTake(uartTxMutex, portMAX_DELAY);
|
||||
uart_write_blocking(this->uart, (uint8_t *)(data), len);
|
||||
uart_tx_wait_blocking(this->uart);
|
||||
xSemaphoreGive(txMutex);
|
||||
xSemaphoreGive(uartTxMutex);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ enum GobotRPC_CI_CMD {
|
||||
RX_CI_PACKET = 0x02,
|
||||
PERFORM_SCAN_CI_PACKET = 0x03,
|
||||
SCAN_RESULT_CI_PACKET = 0x04,
|
||||
ERROR_TRANMISSION = 0xfd,
|
||||
HEARTBEAT = 0xff
|
||||
};
|
||||
|
||||
#define CI_TX_PACKAGE_DATA_OFFSET 6
|
||||
@@ -18,6 +20,7 @@ enum GobotRPC_CI_CMD {
|
||||
typedef void (*callback_TxPacket)(void * args, char *data, size_t len, uint32_t addr);
|
||||
void GobotRPC_CI_rxData_cb(void * args, char *data, size_t len);
|
||||
void GobotRPC_CI_heartBeatTaskFn(void *args);
|
||||
void GobotRPC_CI_txCIInstructionTaskFn(void *args);
|
||||
|
||||
class GobotRPC_CI {
|
||||
private:
|
||||
@@ -27,9 +30,11 @@ private:
|
||||
void * cb_TxPacket_args;
|
||||
|
||||
TaskHandle_t heartBeatTaskHandle;
|
||||
TaskHandle_t txCIInstructionTaskHandle;
|
||||
|
||||
QueueHandle_t ciInstructionQueue;
|
||||
public:
|
||||
GobotRPC_CI(I_GobotRPC_CI_Hardware *hardware, UBaseType_t core);
|
||||
GobotRPC_CI(I_GobotRPC_CI_Hardware *hardware, UBaseType_t core, QueueHandle_t ciInstructionQueue);
|
||||
|
||||
void registerCB_TxPacket(callback_TxPacket cb, void *args);
|
||||
void send_RxPacket(char *data, size_t len, uint32_t addr);
|
||||
@@ -37,4 +42,8 @@ public:
|
||||
void onRxData(char *data, size_t len);
|
||||
|
||||
void heartBeartTaskFn();
|
||||
|
||||
// CI Instruction Stuff
|
||||
void txCIInstructionTask();
|
||||
void send_ErrorTransmission(bool rx, uint64_t addr);
|
||||
};
|
||||
@@ -53,7 +53,7 @@ private:
|
||||
callback_rxData cb_rxData;
|
||||
void * cb_rxData_args;
|
||||
|
||||
SemaphoreHandle_t txMutex;
|
||||
SemaphoreHandle_t uartTxMutex;
|
||||
|
||||
UBaseType_t core;
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
enum CI_Instruction_Type {
|
||||
CI_INSTRUCTION_SEND_TRANMISSION_ERROR
|
||||
};
|
||||
|
||||
struct CI_Instruction_Transport {
|
||||
CI_Instruction_Type type;
|
||||
uint32_t addr;
|
||||
char data[16];
|
||||
};
|
||||
|
||||
struct CI_Instruction_Data_SEND_TRANMISSION_ERROR {
|
||||
bool rx;
|
||||
uint32_t addr;
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
|
||||
struct AppData {
|
||||
QueueHandle_t txQueue;
|
||||
QueueHandle_t rxQueue;
|
||||
QueueHandle_t ciInstructionQueue;
|
||||
};
|
||||
|
||||
void main_core2(void * pvParameters);
|
||||
@@ -3,4 +3,17 @@
|
||||
#define GOBOTRPC_CI_UART_RX 0
|
||||
#define GOBOTRPC_CI_UART_TX 1
|
||||
|
||||
#define GOBOTRPC_HEARTBEAT_INTERVAL 3000
|
||||
#define GOBOTRPC_TI_I2C_SDA 4
|
||||
#define GOBOTRPC_TI_I2C_SCL 5
|
||||
#define GOBOTRPC_TI_CLOCK_SPEED 10000
|
||||
|
||||
#define GOBOTRPC_TI_INT_PIN_START 10
|
||||
#define GOBOTRPC_TI_INT_NUM 4
|
||||
#define GOBOTRPC_TI_COMBINED_INT_PIN 2
|
||||
|
||||
#define GOBOTRPC_TI_EXTERNAL_PULLUP 0
|
||||
|
||||
#define GOBOTRPC_HEARTBEAT_INTERVAL 3000
|
||||
|
||||
#define UART_CORE_MASK 0b01
|
||||
#define I2C_CORE_MASK 0b10
|
||||
@@ -0,0 +1,83 @@
|
||||
#pragma once
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <strings.h>
|
||||
|
||||
#include "pico/stdlib.h"
|
||||
#include "hardware/i2c.h"
|
||||
|
||||
#include "pinConfig.hpp"
|
||||
|
||||
#include "ctrl_interface_instructions.hpp"
|
||||
|
||||
struct GoRPCPackage_Transport {
|
||||
uint32_t addr;
|
||||
uint32_t len;
|
||||
char data[256];
|
||||
};
|
||||
|
||||
typedef void (*callback_pullPackage)(GoRPCPackage_Transport *src, void *args);
|
||||
typedef void (*callback_pushPackage)(GoRPCPackage_Transport *dest, void *args);
|
||||
typedef void (*callback_pushCIInstruction)(CI_Instruction_Transport *src, void *args);
|
||||
|
||||
class GobotRPC_TI_Hardware {
|
||||
public:
|
||||
virtual void registerPullPackageCB(callback_pullPackage cb, void *args) = 0;
|
||||
virtual void registerPushPackageCB(callback_pushPackage cb, void *args) = 0;
|
||||
virtual void registerPushCIInstructionCB(callback_pushCIInstruction cb, void *args) = 0;
|
||||
virtual void setAddrMap(uint32_t addr, int intNum) = 0;
|
||||
};
|
||||
|
||||
void i2cRxTaskFn(void * args);
|
||||
void i2cTxTaskFn(void * args);
|
||||
|
||||
void intPin_ISR(uint gpio, uint32_t events);
|
||||
|
||||
class GobotRPC_TI_Hardware_RP2040_I2C : public GobotRPC_TI_Hardware {
|
||||
private:
|
||||
callback_pullPackage pullPackageCB;
|
||||
void *pullPackageCBArgs;
|
||||
|
||||
callback_pushPackage pushPackageCB;
|
||||
void *pushPackageCBArgs;
|
||||
|
||||
callback_pushCIInstruction pushCIInstructionCB;
|
||||
void *pushCIInstructionCBArgs;
|
||||
|
||||
SemaphoreHandle_t i2cMutex;
|
||||
SemaphoreHandle_t i2cRXSemaphore;
|
||||
|
||||
TaskHandle_t i2cRxTaskHandle;
|
||||
TaskHandle_t i2cTxTaskHandle;
|
||||
UBaseType_t core;
|
||||
|
||||
i2c_inst_t * i2c;
|
||||
|
||||
uint32_t intAddressMap[GOBOTRPC_TI_INT_NUM];
|
||||
|
||||
void initTasks();
|
||||
bool readI2C(GoRPCPackage_Transport * pkg, uint32_t addr);
|
||||
|
||||
public:
|
||||
GobotRPC_TI_Hardware_RP2040_I2C(UBaseType_t core, i2c_inst_t *i2c);
|
||||
|
||||
void registerPullPackageCB(callback_pullPackage cb, void *args);
|
||||
void registerPushPackageCB(callback_pushPackage cb, void *args);
|
||||
void registerPushCIInstructionCB(callback_pushCIInstruction cb, void *args);
|
||||
|
||||
void setAddrMap(uint32_t addr, int intNum);
|
||||
|
||||
void i2cRxTask();
|
||||
void i2cTxTask();
|
||||
void intPinISR(BaseType_t * xHigherPriorityTaskWoken);
|
||||
uint32_t readIntPins();
|
||||
|
||||
void raiseTranmissionError(bool rx, uint32_t addr);
|
||||
};
|
||||
|
||||
|
||||
extern GobotRPC_TI_Hardware_RP2040_I2C * g_GobotRPC_TI_Hardware_RP2040_I2C;
|
||||
@@ -0,0 +1,16 @@
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::raiseTranmissionError(bool rx, uint32_t addr) {
|
||||
CI_Instruction_Transport ciInstruction;
|
||||
ciInstruction.type = CI_INSTRUCTION_SEND_TRANMISSION_ERROR;
|
||||
ciInstruction.data[0] = rx;
|
||||
ciInstruction.data[1] = addr & 0xff;
|
||||
ciInstruction.data[2] = (addr >> 8) & 0xff;
|
||||
ciInstruction.data[3] = (addr >> 16) & 0xff;
|
||||
ciInstruction.data[4] = (addr >> 24) & 0xff;
|
||||
|
||||
this->pushCIInstructionCB(&ciInstruction, pushCIInstructionCBArgs);
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
#include "transmission_interface.hpp"
|
||||
#include "hardware/i2c.h"
|
||||
|
||||
#include "pinConfig.hpp"
|
||||
|
||||
GobotRPC_TI_Hardware_RP2040_I2C * g_GobotRPC_TI_Hardware_RP2040_I2C;
|
||||
|
||||
GobotRPC_TI_Hardware_RP2040_I2C::GobotRPC_TI_Hardware_RP2040_I2C(UBaseType_t core, i2c_inst_t *i2c) {
|
||||
this->core = core;
|
||||
this->i2c = i2c0;
|
||||
|
||||
g_GobotRPC_TI_Hardware_RP2040_I2C = this;
|
||||
|
||||
i2c_init(i2c, GOBOTRPC_TI_CLOCK_SPEED);
|
||||
gpio_set_function(GOBOTRPC_TI_I2C_SDA, GPIO_FUNC_I2C);
|
||||
gpio_set_function(GOBOTRPC_TI_I2C_SCL, GPIO_FUNC_I2C);
|
||||
|
||||
if(!GOBOTRPC_TI_EXTERNAL_PULLUP) {
|
||||
gpio_pull_up(GOBOTRPC_TI_I2C_SDA);
|
||||
gpio_pull_up(GOBOTRPC_TI_I2C_SCL);
|
||||
}
|
||||
|
||||
for(int i=0; i<GOBOTRPC_TI_INT_NUM; i++) {
|
||||
intAddressMap[i] = 0xffffffff;
|
||||
gpio_init(GOBOTRPC_TI_INT_PIN_START + i);
|
||||
gpio_set_dir(GOBOTRPC_TI_INT_PIN_START< + i, GPIO_IN);
|
||||
gpio_pull_down(GOBOTRPC_TI_INT_PIN_START + i);
|
||||
}
|
||||
|
||||
initTasks();
|
||||
|
||||
gpio_init(GOBOTRPC_TI_COMBINED_INT_PIN);
|
||||
gpio_set_dir(GOBOTRPC_TI_COMBINED_INT_PIN, GPIO_IN);
|
||||
gpio_pull_down(GOBOTRPC_TI_COMBINED_INT_PIN);
|
||||
gpio_set_irq_enabled_with_callback(GOBOTRPC_TI_COMBINED_INT_PIN, GPIO_IRQ_EDGE_RISE , true, &intPin_ISR);
|
||||
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::initTasks() {
|
||||
i2cMutex = xSemaphoreCreateMutex();
|
||||
i2cRXSemaphore = xSemaphoreCreateBinary();
|
||||
|
||||
pushPackageCB = NULL;
|
||||
pullPackageCB = NULL;
|
||||
pushPackageCBArgs = NULL;
|
||||
pullPackageCBArgs = NULL;
|
||||
|
||||
volatile int a = xPortGetFreeHeapSize();
|
||||
|
||||
xTaskCreateAffinitySet(i2cRxTaskFn, "i2c Rx Task", 4096, this, 3, core, &i2cRxTaskHandle);
|
||||
xTaskCreateAffinitySet(i2cTxTaskFn, "i2c Tx Task", 4096, this, 3, core, &i2cTxTaskHandle);
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::registerPullPackageCB(callback_pullPackage cb, void *args) {
|
||||
pullPackageCB = cb;
|
||||
pullPackageCBArgs = args;
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::registerPushPackageCB(callback_pushPackage cb, void *args) {
|
||||
pushPackageCB = cb;
|
||||
pushPackageCBArgs = args;
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::registerPushCIInstructionCB(callback_pushCIInstruction cb, void *args) {
|
||||
pushCIInstructionCB = cb;
|
||||
pushCIInstructionCBArgs = args;
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::setAddrMap(uint32_t addr, int intNum) {
|
||||
intAddressMap[intNum] = addr;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
uint32_t GobotRPC_TI_Hardware_RP2040_I2C::readIntPins() {
|
||||
uint32_t intPinsStates = 0;
|
||||
|
||||
for(int i=0; i<GOBOTRPC_TI_INT_NUM; i++) {
|
||||
intPinsStates |= gpio_get(GOBOTRPC_TI_INT_PIN_START + i) << i;
|
||||
}
|
||||
return intPinsStates;
|
||||
}
|
||||
|
||||
void intPin_ISR(uint gpio, uint32_t events) {
|
||||
GobotRPC_TI_Hardware_RP2040_I2C * hw = g_GobotRPC_TI_Hardware_RP2040_I2C;
|
||||
|
||||
uint32_t intPinsStates = hw->readIntPins();
|
||||
|
||||
if(intPinsStates == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
hw->intPinISR(&xHigherPriorityTaskWoken);
|
||||
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::intPinISR(BaseType_t * xHigherPriorityTaskWoken) {
|
||||
xSemaphoreGiveFromISR(i2cRXSemaphore, xHigherPriorityTaskWoken);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
void i2cRxTaskFn(void * args) {
|
||||
GobotRPC_TI_Hardware_RP2040_I2C * hw = (GobotRPC_TI_Hardware_RP2040_I2C *)args;
|
||||
hw->i2cRxTask();
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::i2cRxTask() {
|
||||
while (1) {
|
||||
xSemaphoreTake(i2cRXSemaphore, portMAX_DELAY);
|
||||
|
||||
uint32_t done_mask = 0xffffffff;
|
||||
uint32_t pinStates = readIntPins();
|
||||
|
||||
do {
|
||||
for(int i=0; i<GOBOTRPC_TI_INT_NUM; i++) {
|
||||
if((pinStates & done_mask) & (1 << i)) {
|
||||
done_mask &= ~(1 << i);
|
||||
|
||||
uint32_t addr = intAddressMap[i];
|
||||
|
||||
GoRPCPackage_Transport pkg;
|
||||
|
||||
xSemaphoreTake(i2cMutex, portMAX_DELAY);
|
||||
bool read_res = readI2C(&pkg, addr);
|
||||
xSemaphoreGive(i2cMutex);
|
||||
|
||||
if(read_res) {
|
||||
if(pushPackageCB != NULL)
|
||||
pushPackageCB(&pkg, pushPackageCBArgs);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pinStates = readIntPins();
|
||||
} while(pinStates & done_mask);
|
||||
}
|
||||
}
|
||||
|
||||
bool GobotRPC_TI_Hardware_RP2040_I2C::readI2C(GoRPCPackage_Transport * pkg, uint32_t addr) {
|
||||
|
||||
uint res = i2c_read_burst_blocking(i2c, addr, (uint8_t *)pkg->data, 2);
|
||||
|
||||
if(res == PICO_ERROR_GENERIC)
|
||||
return false; // I2C error
|
||||
|
||||
size_t len = pkg->data[1];
|
||||
res = i2c_read_burst_blocking(i2c, addr, ((uint8_t *)pkg->data) + 2, len);
|
||||
|
||||
if(res == PICO_ERROR_GENERIC)
|
||||
return false; // I2C error
|
||||
|
||||
pkg->addr = addr;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
void i2cTxTaskFn(void * args) {
|
||||
GobotRPC_TI_Hardware_RP2040_I2C * hw = (GobotRPC_TI_Hardware_RP2040_I2C *)args;
|
||||
hw->i2cTxTask();
|
||||
}
|
||||
|
||||
void GobotRPC_TI_Hardware_RP2040_I2C::i2cTxTask() {
|
||||
while (1) {
|
||||
GoRPCPackage_Transport pkg;
|
||||
|
||||
if(pullPackageCB == NULL) {
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
continue;
|
||||
}
|
||||
|
||||
pullPackageCB(&pkg, pullPackageCBArgs);
|
||||
|
||||
xSemaphoreTake(i2cMutex, portMAX_DELAY);
|
||||
unsigned int res = i2c_write_burst_blocking(i2c, pkg.addr & 0x7f, (uint8_t *)(&pkg.data), pkg.len);
|
||||
xSemaphoreGive(i2cMutex);
|
||||
|
||||
if(res == PICO_ERROR_GENERIC) {
|
||||
raiseTranmissionError(false, pkg.addr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include "pico/stdlib.h"
|
||||
|
||||
#include "ctrl_interface.hpp"
|
||||
#include "ctrl_interface_hardware.hpp"
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
#include "protocol.hpp"
|
||||
|
||||
#define LED_PIN 25
|
||||
|
||||
#define UART_CORE_MASK 0b01
|
||||
#define I2C_CORE_MASK 0b10
|
||||
|
||||
void vTaskMain(void * pvParameters) {
|
||||
while(1) {
|
||||
gpio_put(LED_PIN, 1);
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
gpio_put(LED_PIN, 0);
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
}
|
||||
}
|
||||
|
||||
void onTxPacket(void * args, char *data, size_t len, uint32_t addr) {
|
||||
GobotRPC_CI * gobotRPC_ci = (GobotRPC_CI *)args;
|
||||
|
||||
char bufferPackage[CI_RX_PACKAGE_SIZE(CALC_SIZE_GobotRPC_PACKAGE(0))];
|
||||
char * gorpcPackageOffset = bufferPackage + CI_RX_PACKAGE_DATA_OFFSET;
|
||||
|
||||
assembleGobotRPCHeader(gorpcPackageOffset, GobotRPCNumber::VACUM, GobotRPCTypes::RESPONSE, 0);
|
||||
assembleCRC(gorpcPackageOffset, 0);
|
||||
|
||||
gobotRPC_ci->send_RxPacket(bufferPackage, CALC_SIZE_GobotRPC_PACKAGE(0), addr);
|
||||
}
|
||||
|
||||
int main() {
|
||||
gpio_init(LED_PIN);
|
||||
gpio_set_dir(LED_PIN, true);
|
||||
|
||||
GobotRPC_CI_Hardware_RP2040_UART gobotrpc_ci_hardware(uart0, 115200, 0b01);
|
||||
GobotRPC_CI gobotRPC_ci(&gobotrpc_ci_hardware, 0b01);
|
||||
|
||||
gobotRPC_ci.registerCB_TxPacket(onTxPacket, &gobotRPC_ci);
|
||||
|
||||
TaskHandle_t taskHandle;
|
||||
xTaskCreateAffinitySet(vTaskMain, "Main Task", 2048, &gobotRPC_ci, 1, UART_CORE_MASK, &taskHandle);
|
||||
vTaskCoreAffinitySet(taskHandle, 0);
|
||||
|
||||
vTaskStartScheduler();
|
||||
|
||||
while(1) {}
|
||||
}
|
||||
66
i2c-hub/firmware/i2c-hub-firmware/src/main_core0.cpp
Normal file
66
i2c-hub/firmware/i2c-hub-firmware/src/main_core0.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "pico/stdlib.h"
|
||||
|
||||
#include "ctrl_interface.hpp"
|
||||
#include "ctrl_interface_hardware.hpp"
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
#include "main.hpp"
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "message_buffer.h"
|
||||
|
||||
#include "protocol.hpp"
|
||||
|
||||
#define LED_PIN 25
|
||||
|
||||
AppData appData;
|
||||
|
||||
void vTaskMain(void * pvParameters) {
|
||||
while(1) {
|
||||
gpio_put(LED_PIN, 1);
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
gpio_put(LED_PIN, 0);
|
||||
vTaskDelay(pdMS_TO_TICKS(500));
|
||||
}
|
||||
}
|
||||
|
||||
void onTxPacket(void * args, char *data, size_t len, uint32_t addr) {
|
||||
GobotRPC_CI * gobotRPC_ci = (GobotRPC_CI *)args;
|
||||
|
||||
GoRPCPackage_Transport pkg;
|
||||
memcpy(pkg.data, data, len);
|
||||
pkg.len = len;
|
||||
pkg.addr = addr;
|
||||
|
||||
xQueueSend(appData.txQueue, &pkg, portMAX_DELAY);
|
||||
|
||||
//gobotRPC_ci->send_RxPacket(pkg.data, CALC_SIZE_GobotRPC_PACKAGE(0), addr);
|
||||
}
|
||||
|
||||
int main() {
|
||||
gpio_init(LED_PIN);
|
||||
gpio_set_dir(LED_PIN, true);
|
||||
|
||||
appData.txQueue = xQueueCreate(5, sizeof(GoRPCPackage_Transport));
|
||||
appData.rxQueue = xQueueCreate(5, sizeof(GoRPCPackage_Transport));
|
||||
appData.ciInstructionQueue = xQueueCreate(5, sizeof(CI_Instruction_Transport));
|
||||
|
||||
GobotRPC_CI_Hardware_RP2040_UART gobotrpc_ci_hardware(uart0, 115200, UART_CORE_MASK);
|
||||
|
||||
GobotRPC_CI gobotRPC_ci(&gobotrpc_ci_hardware, 0b01, appData.ciInstructionQueue);
|
||||
|
||||
gobotRPC_ci.registerCB_TxPacket(onTxPacket, &gobotRPC_ci);
|
||||
|
||||
TaskHandle_t taskHandleCore0;
|
||||
TaskHandle_t taskHandleCore1;
|
||||
xTaskCreateAffinitySet(vTaskMain, "Main Task Core 0", 2048, &gobotRPC_ci, 1, UART_CORE_MASK, &taskHandleCore0);
|
||||
xTaskCreateAffinitySet(main_core2, "Main Task Core 1", 2048, &gobotRPC_ci, 1, I2C_CORE_MASK, &taskHandleCore1);
|
||||
|
||||
vTaskStartScheduler();
|
||||
|
||||
while(1) {}
|
||||
}
|
||||
39
i2c-hub/firmware/i2c-hub-firmware/src/main_core1.cpp
Normal file
39
i2c-hub/firmware/i2c-hub-firmware/src/main_core1.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "main.hpp"
|
||||
#include "transmission_interface.hpp"
|
||||
|
||||
#include "FreeRTOSConfig.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
|
||||
#include "pinConfig.hpp"
|
||||
|
||||
extern AppData appData;
|
||||
|
||||
void pullPackageCB(GoRPCPackage_Transport * dest, void *args) {
|
||||
QueueHandle_t queue = appData.txQueue;
|
||||
xQueueReceive(queue, dest, portMAX_DELAY);
|
||||
}
|
||||
|
||||
void pushPackage(GoRPCPackage_Transport * src, void *args) {
|
||||
QueueHandle_t queue = appData.rxQueue;
|
||||
xQueueSend(queue, src, portMAX_DELAY);
|
||||
}
|
||||
|
||||
void pushCIInstruction(CI_Instruction_Transport * src, void *args) {
|
||||
QueueHandle_t queue = appData.ciInstructionQueue;
|
||||
xQueueSend(queue, src, portMAX_DELAY);
|
||||
}
|
||||
|
||||
void main_core2(void * pvParameters) {
|
||||
AppData appData = *((AppData *)pvParameters);
|
||||
GobotRPC_TI_Hardware_RP2040_I2C gobotrpc_ti_hardware(I2C_CORE_MASK, i2c0);
|
||||
|
||||
gobotrpc_ti_hardware.registerPullPackageCB(pullPackageCB, appData.txQueue);
|
||||
gobotrpc_ti_hardware.registerPushPackageCB(pushPackage, appData.rxQueue);
|
||||
gobotrpc_ti_hardware.registerPushCIInstructionCB(pushCIInstruction, appData.ciInstructionQueue);
|
||||
|
||||
while(1) {
|
||||
vTaskDelay(pdMS_TO_TICKS(10000));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user