<mxfile host="drawio.nabd-co.com" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" version="28.2.5">
  <diagram name="Page-1" id="PJ5OO49yUM42QBo6ORvT">
    <mxGraphModel dx="1411" dy="793" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="bJHTc-X3hHaea6hES0Wp-2" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;utils&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;fontSize=20;" parent="1" vertex="1">
          <mxGeometry x="450" width="260" height="620" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-6" value="&lt;div&gt;&lt;div&gt;math&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;" parent="1" vertex="1">
          <mxGeometry x="625" y="55" width="60" height="555" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-7" value="&lt;div&gt;&lt;div&gt;ESP-IDF log&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;" parent="1" vertex="1">
          <mxGeometry x="550" y="55" width="60" height="555" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-12" value="OSAL" style="whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;fontStyle=1;fontSize=20;" parent="1" vertex="1">
          <mxGeometry x="450" y="769" width="1180" height="164" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-13" value="&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;device drivers&lt;/font&gt;" style="whiteSpace=wrap;html=1;verticalAlign=top;fontSize=20;fillColor=light-dark(#FFFFFF,#CCCC00);" parent="1" vertex="1">
          <mxGeometry x="450" y="640" width="1180" height="116" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-15" value="sensor driver" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1422.75" y="670" width="90" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-16" value="Network Stack" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="610" y="670" width="90" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-17" value="sockets" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="909" y="820" width="90" height="50" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-22" value="actuator driver" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1530" y="670" width="90" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-23" value="diag protocol Stack" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="725" y="670" width="90" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-24" value="TCP/IP" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="800" y="820" width="90" height="50" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-32" value="HAL access" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1325" y="820" width="280" height="50" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-34" value="nvm driver" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1200" y="670" width="90" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-35" value="soft timers" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1020" y="820" width="90" height="50" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-63" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-48" target="bJHTc-X3hHaea6hES0Wp-2" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-68" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.623;entryY=0.021;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-48" target="bJHTc-X3hHaea6hES0Wp-13" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-48" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;&amp;nbsp;Application Layer&lt;/font&gt;&lt;/b&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=light-dark(#FFFFFF, #218277);" parent="1" vertex="1">
          <mxGeometry x="750" width="870" height="620" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-40" value="&lt;div&gt;&lt;div&gt;enc&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;" parent="1" vertex="1">
          <mxGeometry x="473" y="55" width="60" height="555" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-41" value="SDcard driver" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1304.5" y="670" width="100" height="70" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-10" value="&lt;div&gt;&lt;div&gt;&lt;font face=&quot;Verdana&quot; style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;diagnostics&amp;nbsp;&lt;/font&gt;&lt;span style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0)); font-family: Verdana; background-color: transparent;&quot;&gt;Task&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FFB366);fontColor=default;fontSize=20;textShadow=1;rotation=-90;" parent="1" vertex="1">
          <mxGeometry x="779" y="409" width="196.75" height="53.75" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-9" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;Error Handling&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;textDirection=vertical-lr;rotation=-180;fillColor=light-dark(#FFFFFF,#6666FF);fontColor=light-dark(#000000,#000000);fontSize=20;" parent="1" vertex="1">
          <mxGeometry x="934" y="340" width="65" height="200" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-52" value="&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;DP stack&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;" parent="1" vertex="1">
          <mxGeometry x="1060" y="345" width="530" height="200" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-5" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;Data Pool&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;textDirection=vertical-lr;rotation=-180;fillColor=light-dark(#FFFFFF,#FF3399);fontColor=light-dark(#000000,#000000);fontSize=20;" parent="1" vertex="1">
          <mxGeometry x="1485" y="384" width="75" height="140" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-46" style="edgeStyle=none;html=1;" parent="1" source="bJHTc-X3hHaea6hES0Wp-44" target="bJHTc-X3hHaea6hES0Wp-45" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-43" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;persistence&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;textDirection=ltr;rotation=0;fillColor=light-dark(#6A00FF,#33FFFF);fontColor=#ffffff;fontSize=20;strokeColor=#3700CC;" parent="1" vertex="1">
          <mxGeometry x="1084.5" y="370" width="260" height="160" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-44" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;persistence&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;Interface&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;textDirection=vertical-rl;rotation=-180;fillColor=light-dark(#6A00FF,#6666FF);fontColor=#ffffff;fontSize=20;strokeColor=#3700CC;" parent="1" vertex="1">
          <mxGeometry x="1104.5" y="409" width="85" height="115" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-45" value="&lt;div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;persistence&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;Task&lt;/font&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=middle;textDirection=vertical-rl;rotation=-180;fillColor=light-dark(#6A00FF,#FFB366);fontColor=#ffffff;fontSize=20;strokeColor=#3700CC;" parent="1" vertex="1">
          <mxGeometry x="1229.5" y="409" width="85" height="115" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-55" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-43" target="bJHTc-X3hHaea6hES0Wp-45" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="310" as="sourcePoint" />
            <mxPoint x="800" y="310" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1215" y="409" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-56" value="parent" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" parent="bJHTc-X3hHaea6hES0Wp-55" connectable="0" vertex="1">
          <mxGeometry x="-1" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-57" value="child" style="edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;" parent="bJHTc-X3hHaea6hES0Wp-55" connectable="0" vertex="1">
          <mxGeometry x="1" relative="1" as="geometry">
            <mxPoint x="38" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-58" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-43" target="bJHTc-X3hHaea6hES0Wp-44" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="410" y="360" as="sourcePoint" />
            <mxPoint x="570" y="360" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1215" y="409" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-59" value="parent" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" parent="bJHTc-X3hHaea6hES0Wp-58" connectable="0" vertex="1">
          <mxGeometry x="-1" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-60" value="child" style="edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;" parent="bJHTc-X3hHaea6hES0Wp-58" connectable="0" vertex="1">
          <mxGeometry x="1" relative="1" as="geometry">
            <mxPoint x="-7" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-61" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.988;entryY=0.544;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-5" target="bJHTc-X3hHaea6hES0Wp-43" edge="1">
          <mxGeometry width="160" relative="1" as="geometry">
            <mxPoint x="1270" y="330" as="sourcePoint" />
            <mxPoint x="1430" y="330" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-62" value="&lt;b&gt;Business stack&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
          <mxGeometry x="762.5" y="35" width="845" height="285" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-3" value="Sensor Manager" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FFB366);fontSize=20;fontColor=light-dark(#000000,#000000);" parent="1" vertex="1">
          <mxGeometry x="1104.5" y="170" width="224.5" height="140" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-4" value="Sensor Node" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1124.5" y="210" width="90" height="90" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-8" value="Sensor Node" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1224.5" y="210" width="90" height="90" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-18" value="Actuator Manager" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FFB366);fontSize=20;fontColor=light-dark(#000000,#000000);" parent="1" vertex="1">
          <mxGeometry x="1340" y="170" width="224.5" height="140" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-19" value="Actuator Node" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1349" y="207" width="90" height="90" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-20" value="Actuator Node" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1449" y="207" width="90" height="90" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-37" value="&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;FW upgrader (OTA)&lt;/font&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FFB366);fontColor=default;fontSize=20;textShadow=1;rotation=-90;" parent="1" vertex="1">
          <mxGeometry x="866.24" y="207" width="135" height="60" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-38" value="&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;main hub&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;&amp;nbsp;APIs&lt;/font&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FF6666);fontColor=default;fontSize=20;textShadow=1;rotation=-90;" parent="1" vertex="1">
          <mxGeometry x="800" y="210" width="136.25" height="55" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-51" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 20px; text-align: right;&quot;&gt;event system&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;rotation=0;" parent="1" vertex="1">
          <mxGeometry x="840" y="80" width="621" height="50.5" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-66" value="&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;EDP-IDF firmware&lt;/font&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="450" y="950" width="1194" height="200" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-11" value="HAL" style="whiteSpace=wrap;html=1;fontSize=20;fillColor=#76608a;fontColor=#ffffff;strokeColor=#432D57;" parent="1" vertex="1">
          <mxGeometry x="1060" y="990" width="570" height="140" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-25" value="Wifi" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1084.5" y="1000" width="80" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-26" value="ADC" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1174.5" y="1000" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-27" value="GPIO" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1244.5" y="1000" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-28" value="I2C" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1316.5" y="1000" width="45.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-29" value="UART" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1374.5" y="1000" width="55.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-30" value="SPI" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1440" y="1000" width="55.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-31" value="DMA" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1504.5" y="1000" width="55.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-36" value="OS Kernel" style="whiteSpace=wrap;html=1;fontSize=20;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;fontStyle=1" parent="1" vertex="1">
          <mxGeometry x="480" y="990" width="563.75" height="140" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-39" value="BT" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1570" y="1000" width="55.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-69" value="&lt;font style=&quot;font-size: 15px; color: light-dark(rgb(0, 0, 0), rgb(30, 26, 26));&quot;&gt;&lt;b style=&quot;&quot;&gt;machine constant manager&lt;/b&gt;&lt;/font&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FF6666);fontColor=default;fontSize=20;textShadow=1;rotation=-90;" parent="1" vertex="1">
          <mxGeometry x="729.995" y="209.99500000000012" width="136.25" height="55" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-70" value="&lt;div&gt;&lt;font style=&quot;color: light-dark(rgb(0, 0, 0), rgb(0, 0, 0));&quot;&gt;STM&lt;/font&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fillColor=light-dark(#FFFFFF,#FF6666);fontColor=default;fontSize=20;textShadow=1;rotation=-90;" parent="1" vertex="1">
          <mxGeometry x="926.51" y="217.49" width="136.25" height="40" as="geometry" />
        </mxCell>
        <mxCell id="bJHTc-X3hHaea6hES0Wp-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=0.026;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="bJHTc-X3hHaea6hES0Wp-62" target="bJHTc-X3hHaea6hES0Wp-52" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
