mv-bms/Documentation/State machine diagram.svg

4 lines
36 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than draw.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="681px" height="721px" viewBox="-0.5 -0.5 681 721" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-05-26T20:30:45.916Z&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0&quot; etag=&quot;CPIHxn--0ZfnR-VXkzJT&quot; version=&quot;24.4.8&quot; type=&quot;device&quot;&gt;&#xA; &lt;diagram name=&quot;Page-1&quot; id=&quot;1QHtqUjNJOinxrO5YjKP&quot;&gt;&#xA; &lt;mxGraphModel dx=&quot;1500&quot; dy=&quot;866&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;0&quot; tooltips=&quot;1&quot; connect=&quot;0&quot; arrows=&quot;0&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#xA; &lt;root&gt;&#xA; &lt;mxCell id=&quot;0&quot; /&gt;&#xA; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-36&quot; value=&quot;&quot; style=&quot;whiteSpace=wrap;html=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;glass=0;rounded=0;fillColor=#FFFFFF;fillStyle=auto;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;80&quot; y=&quot;5.684341886080802e-14&quot; width=&quot;680&quot; height=&quot;720&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-2&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-1&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-3&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;420&quot; y=&quot;420.00000000000006&quot; as=&quot;targetPoint&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-20&quot; value=&quot;CAN Signal: 1000 0000&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-2&quot;&gt;&#xA; &lt;mxGeometry y=&quot;3&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;-63&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-13&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-1&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-12&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;620&quot; y=&quot;100.00000000000001&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-22&quot; value=&quot;RELAY_BAT_SIDE &amp;gt; RELAY_ESC_SIDE&amp;#xa;for longer than 5 seconds&amp;#xa;&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-13&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.513&quot; y=&quot;-2&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;-22&quot; y=&quot;-54&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-1&quot; value=&quot;INACTIVE&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;560&quot; y=&quot;189.99999999999997&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-4&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-3&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-5&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;240&quot; y=&quot;380.00000000000006&quot; as=&quot;targetPoint&quot; /&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;430&quot; y=&quot;400.00000000000006&quot; /&gt;&#xA; &lt;mxPoint x=&quot;430&quot; y=&quot;400.00000000000006&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-35&quot; value=&quot;Allows quick shutdown. Could be done with ERROR&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-4&quot;&gt;&#xA; &lt;mxGeometry x=&quot;0.0063&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;1&quot; y=&quot;10&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-7&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-3&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-6&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;620&quot; y=&quot;520&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-26&quot; value=&quot;RELAY_BAT_SIDE = RELAY_ESC_SIDE&amp;#xa;if it is around 90% done&quot; style=&quot;edgeLabel;align=left;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-7&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.128&quot; y=&quot;1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;-131&quot; y=&quot;21&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-3&quot; value=&quot;PRECHARGE&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;560&quot; y=&quot;350.00000000000006&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-17&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-5&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-3&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;420&quot; y=&quot;380.00000000000006&quot; /&gt;&#xA; &lt;mxPoint x=&quot;420&quot; y=&quot;380.00000000000006&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-34&quot; value=&quot;Allows quick reactivation instead of shutdown&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-17&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.0651&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;9&quot; y=&quot;-10&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-31&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-1&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;280&quot; y=&quot;360.00000000000006&quot; as=&quot;sourcePoint&quot; /&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;400&quot; y=&quot;360.00000000000006&quot; /&gt;&#xA; &lt;mxPoint x=&quot;400&quot; y=&quot;219.99999999999997&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-32&quot; value=&quot;RELAY_ESC_SIDE == 0&amp;#xa;&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-31&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.0317&quot; y=&quot;3&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;83&quot; y=&quot;-37&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-5&quot; value=&quot;DISCHARGE&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;160&quot; y=&quot;350.00000000000006&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-8&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-6&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-5&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-10&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-6&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-9&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;440&quot; y=&quot;600&quot; /&gt;&#xA; &lt;mxPoint x=&quot;440&quot; y=&quot;600&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-27&quot; value=&quot;CAN Signal = 1100 0000&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-10&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.1&quot; y=&quot;1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;69&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-6&quot; value=&quot;READY&quot; style=&quot;whiteSpace=wrap;html=1;rounded=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;360&quot; y=&quot;490.00000000000006&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-11&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-9&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-5&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;340&quot; y=&quot;660&quot; as=&quot;sourcePoint&quot; /&gt;&#xA; &lt;mxPoint x=&quot;160&quot; y=&quot;390&quot; as=&quot;targetPoint&quot; /&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;140&quot; y=&quot;660&quot; /&gt;&#xA; &lt;mxPoint x=&quot;140&quot; y=&quot;390&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-28&quot; value=&quot;CAN Signal: 0000 0000 OR&amp;#xa;Battery out of charge&amp;#xa;&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-11&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.6115&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint y=&quot;30&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-18&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-9&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-6&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;400&quot; y=&quot;600&quot; /&gt;&#xA; &lt;mxPoint x=&quot;400&quot; y=&quot;600&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-19&quot; value=&quot;CAN_Signal: 1000 0000 &quot; style=&quot;edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-18&quot;&gt;&#xA; &lt;mxGeometry x=&quot;0.075&quot; y=&quot;-3&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;-73&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-9&quot; value=&quot;ACTIVE&quot; style=&quot;whiteSpace=wrap;html=1;rounded=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;360&quot; y=&quot;630&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-15&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-12&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-14&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-23&quot; value=&quot;PRECHARGE is done &amp;#xa;&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-15&quot;&gt;&#xA; &lt;mxGeometry x=&quot;0.3217&quot; y=&quot;1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;69&quot; y=&quot;-22&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-12&quot; value=&quot;CHARGING&amp;#xa;PRECHAGE&quot; style=&quot;rounded=1;whiteSpace=wrap;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;360&quot; y=&quot;70&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-16&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-14&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-5&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;40&quot; y=&quot;380.00000000000006&quot; as=&quot;targetPoint&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-24&quot; value=&quot;CHARGING is done&quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-16&quot;&gt;&#xA; &lt;mxGeometry x=&quot;-0.1&quot; y=&quot;1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;59&quot; y=&quot;5&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-14&quot; value=&quot;CHARGING&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;160&quot; y=&quot;189.99999999999997&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-30&quot; value=&quot;CAN_Signal: 0000 0000 &quot; style=&quot;edgeLabel;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;1&quot;&gt;&#xA; &lt;mxGeometry x=&quot;280&quot; y=&quot;520&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;12&quot; y=&quot;11&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-46&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.503;exitY=-0.006;exitDx=0;exitDy=0;exitPerimeter=0;&quot; edge=&quot;1&quot; parent=&quot;1&quot; source=&quot;Uq7C48yd8U4UPNIid9w1-12&quot; target=&quot;Uq7C48yd8U4UPNIid9w1-5&quot;&gt;&#xA; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;420&quot; y=&quot;59.99&quot; as=&quot;sourcePoint&quot; /&gt;&#xA; &lt;mxPoint x=&quot;200&quot; y=&quot;350.00000000000006&quot; as=&quot;targetPoint&quot; /&gt;&#xA; &lt;Array as=&quot;points&quot;&gt;&#xA; &lt;mxPoint x=&quot;420&quot; y=&quot;40&quot; /&gt;&#xA; &lt;mxPoint x=&quot;120&quot; y=&quot;40&quot; /&gt;&#xA; &lt;mxPoint x=&quot;120&quot; y=&quot;370&quot; /&gt;&#xA; &lt;/Array&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;mxCell id=&quot;Uq7C48yd8U4UPNIid9w1-48&quot; value=&quot;PRECHARGE failure&quot; style=&quot;edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];&quot; vertex=&quot;1&quot; connectable=&quot;0&quot; parent=&quot;Uq7C48yd8U4UPNIid9w1-46&quot;&gt;&#xA; &lt;mxGeometry x=&quot;0.2339&quot; y=&quot;-1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#xA; &lt;mxPoint x=&quot;61&quot; y=&quot;-91&quot; as=&quot;offset&quot; /&gt;&#xA; &lt;/mxGeometry&gt;&#xA; &lt;/mxCell&gt;&#xA; &lt;/root&gt;&#xA; &lt;/mxGraphModel&gt;&#xA; &lt;/diagram&gt;&#xA;&lt;/mxfile&gt;&#xA;"><defs/><g><g><rect x="0" y="0" width="680" height="720" fill="#ffffff" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><path d="M 540 250 L 540 343.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 540 348.88 L 536.5 341.88 L 540 343.63 L 543.5 341.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="423" y="295" width="117" height="14" stroke-width="0"/><text x="480.21" y="304.71">CAN Signal: 1000 0000</text></g></g><g><path d="M 540 190 L 540 110 Q 540 100 530 100 L 406.37 100" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 401.12 100 L 408.12 96.5 L 406.37 100 L 408.12 103.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="420" y="69" width="203" height="27" stroke-width="0"/><text x="520.21" y="72">RELAY_BAT_SIDE &gt; RELAY_ESC_SIDE</text><text x="520.21" y="85">for longer than 5 seconds</text></g></g><g><rect x="480" y="190" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 220px; margin-left: 481px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">INACTIVE</div></div></div></foreignObject><text x="540" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">INACTIVE</text></switch></g></g><g><path d="M 480 400 L 360 400 Q 350 400 340 400 L 206.37 400" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 201.12 400 L 208.12 396.5 L 206.37 400 L 208.12 403.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="213" y="405" width="255" height="14" stroke-width="0"/><text x="339.79" y="414.71">Allows quick shutdown. Could be done with ERROR</text></g></g><g><path d="M 540 410 L 540 510 Q 540 520 530 520 L 406.37 520" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 401.12 520 L 408.12 516.5 L 406.37 520 L 408.12 523.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="412" y="528" width="203" height="27" stroke-width="0"/><text x="411.5" y="537.79">RELAY_BAT_SIDE = RELAY_ESC_SIDE</text><text x="411.5" y="550.79">if it is around 90% done</text></g></g><g><rect x="480" y="350" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 380px; margin-left: 481px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PRECHARGE</div></div></div></foreignObject><text x="540" y="384" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PRECHARGE</text></switch></g></g><g><path d="M 200 380 L 330 380 Q 340 380 350 380 L 473.63 380" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 478.88 380 L 471.88 383.5 L 473.63 380 L 471.88 376.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="231" y="365" width="222" height="14" stroke-width="0"/><text x="340.64" y="374.71">Allows quick reactivation instead of shutdown</text></g></g><g><path d="M 200 360 L 310 360 Q 320 360 320 350 L 320 230 Q 320 220 330 220 L 473.63 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 478.88 220 L 471.88 223.5 L 473.63 220 L 471.88 216.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="340" y="235" width="123" height="14" stroke-width="0"/><text x="400.21" y="238.36">RELAY_ESC_SIDE == 0</text></g></g><g><rect x="80" y="350" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 380px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">DISCHARGE</div></div></div></foreignObject><text x="140" y="384" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">DISCHARGE</text></switch></g></g><g><path d="M 280 520 L 150 520 Q 140 520 140 510 L 140 416.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 140 411.12 L 143.5 418.12 L 140 416.37 L 136.5 418.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 360 550 L 360 590 Q 360 600 360 610 L 360 623.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 360 628.88 L 356.5 621.88 L 360 623.63 L 363.5 621.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="370" y="580" width="123" height="14" stroke-width="0"/><text x="430.21" y="590.43">CAN Signal = 1100 0000</text></g></g><g><rect x="280" y="490" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">READY</div></div></div></foreignObject><text x="340" y="524" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">READY</text></switch></g></g><g><path d="M 280 660 L 70 660 Q 60 660 60 650 L 60 400 Q 60 390 66.82 390 L 73.63 390" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 78.88 390 L 71.88 393.5 L 73.63 390 L 71.88 386.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="115" y="678" width="136" height="27" stroke-width="0"/><text x="181.64" y="681.71">CAN Signal: 0000 0000 OR</text><text x="181.64" y="694.71">Battery out of charge</text></g></g><g><path d="M 320 630 L 320 610 Q 320 600 320 590 L 320 556.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 320 551.12 L 323.5 558.12 L 320 556.37 L 316.5 558.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 588px; margin-left: 251px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">CAN_Signal: 1000 0000 </div></div></div></foreignObject><text x="251" y="591" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">CAN_Signal: 1000 0000 </text></switch></g></g><g><rect x="280" y="630" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 660px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ACTIVE</div></div></div></foreignObject><text x="340" y="664" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">ACTIVE</text></switch></g></g><g><path d="M 280 100 L 150 100 Q 140 100 140 110 L 140 183.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 140 188.88 L 136.5 181.88 L 140 183.63 L 143.5 181.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="156" y="84" width="110" height="14" stroke-width="0"/><text x="210.21" y="87.64">PRECHARGE is done </text></g></g><g><rect x="280" y="70" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 100px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CHARGING<br />PRECHAGE</div></div></div></foreignObject><text x="340" y="104" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CHARGING...</text></switch></g></g><g><path d="M 140 250 L 140 343.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 140 348.88 L 136.5 341.88 L 140 343.63 L 143.5 341.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="151" y="295" width="100" height="14" stroke-width="0"/><text x="200.21" y="305.43">CHARGING is done</text></g></g><g><rect x="80" y="190" width="120" height="60" rx="9" ry="9" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 220px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CHARGING</div></div></div></foreignObject><text x="140" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CHARGING</text></switch></g></g><g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="11px"><rect fill="rgb(255, 255, 255)" stroke="none" x="153" y="526" width="120" height="14" stroke-width="0"/><text x="212.21" y="535.71">CAN_Signal: 0000 0000 </text></g></g><g><path d="M 340.36 69.64 L 340.41 50 Q 340.43 40 330.43 40 L 50 40 Q 40 40 40 50 L 40 360 Q 40 370 50 370 L 73.63 370" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 78.88 370 L 71.88 373.5 L 73.63 370 L 71.88 366.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 51px; margin-left: 101px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">PRECHARGE failure</div></div></div></foreignObject><text x="101" y="54" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">PRECHARGE failure</text></switch></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>