2 lines
19 KiB
XML
2 lines
19 KiB
XML
<?xml version='1.0' encoding='utf-8'?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light;" version="1.1" width="1042px" height="754px" viewBox="0 0 1042 754" content="<mxfile host="Electron"> <diagram name="Parallel switches · one ECU deadman input" id="deadman-inputs"> <mxGraphModel dx="-544" dy="-203" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="0" page="0" pageScale="1" pageWidth="1040" pageHeight="750" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="node_title" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=26;fontColor=#172b40;strokeColor=#577086;fillColor=#ffffff;spacing=10;strokeColor=none;fillColor=none;align=left;" value="Parallel switches · one ECU deadman input" vertex="1"> <mxGeometry height="42" width="980" x="30" y="18" as="geometry" /> </mxCell> <mxCell id="node_supply" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#fff1d6;spacing=10;" value="Protected 5 V" vertex="1"> <mxGeometry height="80" width="220" x="30" y="200" as="geometry" /> </mxCell> <mxCell id="node_left" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f4ed;spacing=10;" value="Left NO switch&#xa;Held = closed" vertex="1"> <mxGeometry height="80" width="230" x="340" y="90" as="geometry" /> </mxCell> <mxCell id="node_right" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f4ed;spacing=10;" value="Right NO switch&#xa;Held = closed" vertex="1"> <mxGeometry height="80" width="230" x="340" y="300" as="geometry" /> </mxCell> <mxCell id="node_shared" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f0fc;spacing=10;" value="DEADMAN_IN&#xa;Joined at steering wheel" vertex="1"> <mxGeometry height="80" width="270" x="740" y="200" as="geometry" /> </mxCell> <mxCell id="e0" edge="1" parent="1" source="node_supply" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_left" value=""> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="290" y="240" /> <mxPoint x="290" y="130" /> </Array> </mxGeometry> </mxCell> <mxCell id="e1" edge="1" parent="1" source="node_supply" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_right" value=""> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="290" y="240" /> <mxPoint x="290" y="340" /> </Array> </mxGeometry> </mxCell> <mxCell id="e2" edge="1" parent="1" source="node_left" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_shared" value=""> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="660" y="130" /> <mxPoint x="660" y="240" /> </Array> </mxGeometry> </mxCell> <mxCell id="e3" edge="1" parent="1" source="node_right" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_shared" value=""> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="660" y="340" /> <mxPoint x="660" y="240" /> </Array> </mxGeometry> </mxCell> <mxCell id="node_note390" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=16;fontColor=#172b40;strokeColor=#577086;fillColor=#ffffff;spacing=10;strokeColor=none;fillColor=none;align=left;" value="Switches are physically in parallel. Either held → asserted; both released → deasserted." vertex="1"> <mxGeometry height="60" width="980" x="30" y="390" as="geometry" /> </mxCell> <mxCell id="node_input" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f0fc;spacing=10;" value="DEADMAN_IN&#xa;One ECU signal pin" vertex="1"> <mxGeometry height="80" width="240" x="30" y="490" as="geometry" /> </mxCell> <mxCell id="node_conditioning" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f0fc;spacing=10;" value="Protection + filter&#xa;Default-low bias" vertex="1"> <mxGeometry height="80" width="270" x="340" y="490" as="geometry" /> </mxCell> <mxCell id="node_ok" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f0fc;spacing=10;" value="DEADMAN_OK&#xa;5 V · hardware gates" vertex="1"> <mxGeometry height="80" width="270" x="740" y="490" as="geometry" /> </mxCell> <mxCell id="node_status" parent="1" style="rounded=1;html=0;fontFamily=DejaVu Sans;fontSize=18;fontColor=#172b40;strokeColor=#577086;fillColor=#e8f4ed;spacing=10;" value="DEADMAN_STATUS&#xa;3.3 V → one MCU input" vertex="1"> <mxGeometry height="80" width="310" x="340" y="630" as="geometry" /> </mxCell> <mxCell id="e4" edge="1" parent="1" source="node_input" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_conditioning" value=""> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e5" edge="1" parent="1" source="node_conditioning" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="node_ok" value=""> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e6" edge="1" parent="1" source="node_conditioning" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeWidth=2;strokeColor=#416680;fontSize=16;fontFamily=DejaVu Sans;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" target="node_status" value=""> <mxGeometry relative="1" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs /><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="node_title"><g transform="translate(0.5,0.5)"><rect x="20" y="20" width="980" height="42" rx="6.3" ry="6.3" fill="none" stroke="none" pointer-events="all" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="start" font-size="26px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="30" y="53">Parallel switches · one ECU deadman input</text></g></g></g><g data-cell-id="node_supply"><g transform="translate(0.5,0.5)"><rect x="20" y="202" width="220" height="80" rx="12" ry="12" fill="#fff1d6" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(255, 241, 214), rgb(40, 28, 5)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="130" y="250">Protected 5 V</text></g></g></g><g data-cell-id="node_left"><g transform="translate(0.5,0.5)"><rect x="330" y="92" width="230" height="80" rx="12" ry="12" fill="#e8f4ed" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 244, 237), rgb(22, 33, 27)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="445" y="129">Left NO switch</text><text x="445" y="151">Held = closed</text></g></g></g><g data-cell-id="node_right"><g transform="translate(0.5,0.5)"><rect x="330" y="302" width="230" height="80" rx="12" ry="12" fill="#e8f4ed" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 244, 237), rgb(22, 33, 27)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="445" y="339">Right NO switch</text><text x="445" y="361">Held = closed</text></g></g></g><g data-cell-id="node_shared"><g transform="translate(0.5,0.5)"><rect x="730" y="202" width="270" height="80" rx="12" ry="12" fill="#e8f0fc" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 240, 252), rgb(25, 32, 43)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="865" y="239">DEADMAN_IN</text><text x="865" y="261">Joined at steering wheel</text></g></g></g><g data-cell-id="e0"><g><path d="M 240 242 L 280 242 L 280 132 L 319.76 132" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 327.76 132 L 319.76 136 L 319.76 128 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="e1"><g><path d="M 240 242 L 280 242 L 280 342 L 319.76 342" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 327.76 342 L 319.76 346 L 319.76 338 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="e2"><g><path d="M 560 132 L 650 132 L 650 242 L 719.76 242" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 727.76 242 L 719.76 246 L 719.76 238 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="e3"><g><path d="M 560 342 L 650 342 L 650 242 L 719.76 242" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 727.76 242 L 719.76 246 L 719.76 238 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="node_note390"><g transform="translate(0.5,0.5)"><rect x="20" y="392" width="980" height="60" rx="9" ry="9" fill="none" stroke="none" pointer-events="all" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="start" font-size="16px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="30" y="429">Switches are physically in parallel. Either held → asserted; both released → deasserted.</text></g></g></g><g data-cell-id="node_input"><g transform="translate(0.5,0.5)"><rect x="20" y="492" width="240" height="80" rx="12" ry="12" fill="#e8f0fc" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 240, 252), rgb(25, 32, 43)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="140" y="529">DEADMAN_IN</text><text x="140" y="551">One ECU signal pin</text></g></g></g><g data-cell-id="node_conditioning"><g transform="translate(0.5,0.5)"><rect x="330" y="492" width="270" height="80" rx="12" ry="12" fill="#e8f0fc" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 240, 252), rgb(25, 32, 43)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="465" y="529">Protection + filter</text><text x="465" y="551">Default-low bias</text></g></g></g><g data-cell-id="node_ok"><g transform="translate(0.5,0.5)"><rect x="730" y="492" width="270" height="80" rx="12" ry="12" fill="#e8f0fc" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 240, 252), rgb(25, 32, 43)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="865" y="529">DEADMAN_OK</text><text x="865" y="551">5 V · hardware gates</text></g></g></g><g data-cell-id="node_status"><g transform="translate(0.5,0.5)"><rect x="330" y="632" width="310" height="80" rx="12" ry="12" fill="#e8f4ed" stroke="#577086" pointer-events="all" style="fill: light-dark(rgb(232, 244, 237), rgb(22, 33, 27)); stroke: light-dark(rgb(87, 112, 134), rgb(126, 147, 166));" /></g><g><g fill="#172b40" font-family="'DejaVu Sans'" text-anchor="middle" font-size="18px" style="fill: light-dark(rgb(23, 43, 64), rgb(188, 205, 223));"><text x="485" y="669">DEADMAN_STATUS</text><text x="485" y="691">3.3 V → one MCU input</text></g></g></g><g data-cell-id="e4"><g><path d="M 260 532 L 319.76 532" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 327.76 532 L 319.76 536 L 319.76 528 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="e5"><g><path d="M 600 532 L 719.76 532" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 727.76 532 L 719.76 536 L 719.76 528 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g><g data-cell-id="e6"><g><path d="M 465 572 L 465 602 L 485 602 L 485 621.76" fill="none" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /><path d="M 485 629.76 L 481 621.76 L 489 621.76 Z" fill="#416680" stroke="#416680" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(65, 102, 128), rgb(127, 159, 181)); stroke: light-dark(rgb(65, 102, 128), rgb(127, 159, 181));" /></g></g></g></g></g></svg> |