mv-bms/Documentation/State machine diagram.drawio

193 lines
13 KiB
Plaintext

<mxfile host="app.diagrams.net" modified="2024-05-26T20:29:49.256Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0" etag="129cpu7azo9v42CLPjC2" version="24.4.8" type="device">
<diagram name="Page-1" id="1QHtqUjNJOinxrO5YjKP">
<mxGraphModel dx="1500" dy="866" grid="1" gridSize="10" guides="0" tooltips="1" connect="0" arrows="0" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Uq7C48yd8U4UPNIid9w1-36" value="" style="whiteSpace=wrap;html=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;glass=0;rounded=0;fillColor=default;" vertex="1" parent="1">
<mxGeometry x="80" y="5.684341886080802e-14" width="680" height="720" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-2" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-1" target="Uq7C48yd8U4UPNIid9w1-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="420.00000000000006" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-20" value="CAN Signal: 1000 0000" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-2">
<mxGeometry y="3" relative="1" as="geometry">
<mxPoint x="-63" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-1" target="Uq7C48yd8U4UPNIid9w1-12">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="620" y="100.00000000000001" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-22" value="RELAY_BAT_SIDE &gt; RELAY_ESC_SIDE&#xa;for longer than 5 seconds&#xa;" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-13">
<mxGeometry x="-0.513" y="-2" relative="1" as="geometry">
<mxPoint x="-22" y="-54" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-1" value="INACTIVE" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="189.99999999999997" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-4" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-3" target="Uq7C48yd8U4UPNIid9w1-5">
<mxGeometry relative="1" as="geometry">
<mxPoint x="240" y="380.00000000000006" as="targetPoint" />
<Array as="points">
<mxPoint x="430" y="400.00000000000006" />
<mxPoint x="430" y="400.00000000000006" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-35" value="Allows quick shutdown. Could be done with ERROR" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-4">
<mxGeometry x="0.0063" relative="1" as="geometry">
<mxPoint x="1" y="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-3" target="Uq7C48yd8U4UPNIid9w1-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="620" y="520" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-26" value="RELAY_BAT_SIDE = RELAY_ESC_SIDE&#xa;if it is around 90% done" style="edgeLabel;align=left;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-7">
<mxGeometry x="-0.128" y="1" relative="1" as="geometry">
<mxPoint x="-131" y="21" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-3" value="PRECHARGE" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="350.00000000000006" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-17" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-5" target="Uq7C48yd8U4UPNIid9w1-3">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="420" y="380.00000000000006" />
<mxPoint x="420" y="380.00000000000006" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-34" value="Allows quick reactivation instead of shutdown" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-17">
<mxGeometry x="-0.0651" relative="1" as="geometry">
<mxPoint x="9" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-31" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="Uq7C48yd8U4UPNIid9w1-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280" y="360.00000000000006" as="sourcePoint" />
<Array as="points">
<mxPoint x="400" y="360.00000000000006" />
<mxPoint x="400" y="219.99999999999997" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-32" value="RELAY_ESC_SIDE == 0&#xa;" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-31">
<mxGeometry x="-0.0317" y="3" relative="1" as="geometry">
<mxPoint x="83" y="-37" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-5" value="DISCHARGE" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="350.00000000000006" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-8" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-6" target="Uq7C48yd8U4UPNIid9w1-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-6" target="Uq7C48yd8U4UPNIid9w1-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="440" y="600" />
<mxPoint x="440" y="600" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-27" value="CAN Signal = 1100 0000" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-10">
<mxGeometry x="-0.1" y="1" relative="1" as="geometry">
<mxPoint x="69" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-6" value="READY" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="360" y="490.00000000000006" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-11" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-9" target="Uq7C48yd8U4UPNIid9w1-5">
<mxGeometry relative="1" as="geometry">
<mxPoint x="340" y="660" as="sourcePoint" />
<mxPoint x="160" y="390" as="targetPoint" />
<Array as="points">
<mxPoint x="140" y="660" />
<mxPoint x="140" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-28" value="CAN Signal: 0000 0000 OR&#xa;Battery out of charge&#xa;" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-11">
<mxGeometry x="-0.6115" relative="1" as="geometry">
<mxPoint y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-9" target="Uq7C48yd8U4UPNIid9w1-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="600" />
<mxPoint x="400" y="600" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-19" value="CAN_Signal: 1000 0000 " style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-18">
<mxGeometry x="0.075" y="-3" relative="1" as="geometry">
<mxPoint x="-73" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-9" value="ACTIVE" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="360" y="630" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-12" target="Uq7C48yd8U4UPNIid9w1-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-23" value="PRECHARGE is done &#xa;" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-15">
<mxGeometry x="0.3217" y="1" relative="1" as="geometry">
<mxPoint x="69" y="-22" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-12" value="CHARGING&#xa;PRECHAGE" style="rounded=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="360" y="70" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-16" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-14" target="Uq7C48yd8U4UPNIid9w1-5">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="380.00000000000006" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-24" value="CHARGING is done" style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-16">
<mxGeometry x="-0.1" y="1" relative="1" as="geometry">
<mxPoint x="59" y="5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-14" value="CHARGING" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="189.99999999999997" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-30" value="CAN_Signal: 0000 0000 " style="edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="1">
<mxGeometry x="280" y="520" as="geometry">
<mxPoint x="12" y="11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-46" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.503;exitY=-0.006;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="Uq7C48yd8U4UPNIid9w1-12" target="Uq7C48yd8U4UPNIid9w1-5">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="59.99" as="sourcePoint" />
<mxPoint x="200" y="350.00000000000006" as="targetPoint" />
<Array as="points">
<mxPoint x="420" y="40" />
<mxPoint x="120" y="40" />
<mxPoint x="120" y="370" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Uq7C48yd8U4UPNIid9w1-48" value="PRECHARGE failure" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="Uq7C48yd8U4UPNIid9w1-46">
<mxGeometry x="0.2339" y="-1" relative="1" as="geometry">
<mxPoint x="61" y="-91" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>