Added Bom entrys and removed grapgh bom

This commit is contained in:
Tobias Falk 2024-06-09 21:44:10 +02:00
parent be801c344d
commit 11e4611907
12 changed files with 507 additions and 558 deletions

9
examples/ex15.bom.tsv generated
View File

@ -1,3 +1,6 @@
Id Description Qty Unit Designators
1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
2 Connector, Molex KK 254, female, 7 pins 2 X1, X2
Id Description Qty Unit Designators Manufacturer MPN
1 2 X2/SH1, X2/SH2
2 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
3 Connector, Molex KK 254, female, 7 pins 2 X1, X2
4 shortPart 1 X1/SH1 WireViz 42XCD42A5
5 shortPart 42 mm X1/SH2 WireViz 42XCD42A5

1 Id Description Qty Unit Designators Manufacturer MPN
2 1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 2 m W1 X2/SH1, X2/SH2
3 2 Connector, Molex KK 254, female, 7 pins Cable, Serial, 4 x 0.25 mm² shielded 2 0.2 m X1, X2 W1
4 3 Connector, Molex KK 254, female, 7 pins 2 X1, X2
5 4 shortPart 1 X1/SH1 WireViz 42XCD42A5
6 5 shortPart 42 mm X1/SH2 WireViz 42XCD42A5

25
examples/ex15.gv generated
View File

@ -76,31 +76,6 @@ graph {
</tr>
</table>
</td></tr>
<tr><td>
<table border="0" cellspacing="0" cellpadding="3" cellborder="1">
<tr>
<td>Short</td>
<td>Manufacturer</td>
<td>M.P.N.</td>
<td>Length</td>
<td>Description</td>
</tr>
<tr>
<td>SH1</td>
<td>WireViz</td>
<td>42XCD42A5</td>
<td></td>
<td>shortPart</td>
</tr>
<tr>
<td>SH2</td>
<td>WireViz</td>
<td>42XCD42A5</td>
<td>42mm</td>
<td>shortPart</td>
</tr>
</table>
</td></tr>
</table>
> fillcolor="#FFFFFF" shape=box style=filled]
edge [color="#000000" headclip=false style="solid,bold" tailclip=false]

468
examples/ex15.html generated
View File

@ -33,308 +33,279 @@
<!-- Generated by graphviz version 11.0.0 (20240428.1522)
-->
<!-- Pages: 1 -->
<svg width="1112pt" height="332pt"
viewBox="0.00 0.00 1112.03 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-328 1108.03,-328 1108.03,4 -4,4"/>
<svg width="950pt" height="260pt"
viewBox="0.00 0.00 950.25 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-256 946.25,-256 946.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="350,-313 0,-313 0,0 350,0 350,-313"/>
<polygon fill="none" stroke="black" points="0,-288.5 0,-313 350,-313 350,-288.5 0,-288.5"/>
<text text-anchor="start" x="166" y="-295.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-264 0,-288.5 151.17,-288.5 151.17,-264 0,-264"/>
<text text-anchor="start" x="30.96" y="-271.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="151.17,-264 151.17,-288.5 256.58,-288.5 256.58,-264 151.17,-264"/>
<text text-anchor="start" x="182.12" y="-271.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="256.58,-264 256.58,-288.5 350,-288.5 350,-264 256.58,-264"/>
<text text-anchor="start" x="287.54" y="-271.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-240 0,-264 95.25,-264 95.25,-240 0,-240"/>
<polygon fill="none" stroke="black" points="95.25,-240 95.25,-264 186.5,-264 186.5,-240 95.25,-240"/>
<text text-anchor="start" x="127" y="-246.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="186.5,-240 186.5,-264 277.75,-264 277.75,-240 186.5,-240"/>
<text text-anchor="start" x="218.25" y="-246.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="277.75,-240 277.75,-264 350,-264 350,-240 277.75,-240"/>
<polygon fill="none" stroke="black" points="0,-216 0,-240 95.25,-240 95.25,-216 0,-216"/>
<text text-anchor="start" x="31.88" y="-222.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-216 95.25,-240 186.5,-240 186.5,-216 95.25,-216"/>
<text text-anchor="start" x="134.12" y="-223.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-216 186.5,-240 277.75,-240 277.75,-216 186.5,-216"/>
<polygon fill="none" stroke="black" points="277.75,-216 277.75,-240 350,-240 350,-216 277.75,-216"/>
<text text-anchor="start" x="309.75" y="-222.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-192 0,-216 95.25,-216 95.25,-192 0,-192"/>
<text text-anchor="start" x="32.25" y="-198.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="95.25,-192 95.25,-216 186.5,-216 186.5,-192 95.25,-192"/>
<polygon fill="none" stroke="black" points="186.5,-192 186.5,-216 277.75,-216 277.75,-192 186.5,-192"/>
<text text-anchor="start" x="225.38" y="-199.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="277.75,-192 277.75,-216 350,-216 350,-192 277.75,-192"/>
<text text-anchor="start" x="309.75" y="-198.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-168 0,-192 95.25,-192 95.25,-168 0,-168"/>
<text text-anchor="start" x="37.5" y="-174.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="95.25,-168 95.25,-192 186.5,-192 186.5,-168 95.25,-168"/>
<polygon fill="none" stroke="black" points="186.5,-168 186.5,-192 277.75,-192 277.75,-168 186.5,-168"/>
<polygon fill="none" stroke="black" points="277.75,-168 277.75,-192 350,-192 350,-168 277.75,-168"/>
<text text-anchor="start" x="309.75" y="-174.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-144 0,-168 95.25,-168 95.25,-144 0,-144"/>
<text text-anchor="start" x="38.25" y="-150.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="95.25,-144 95.25,-168 186.5,-168 186.5,-144 95.25,-144"/>
<polygon fill="none" stroke="black" points="186.5,-144 186.5,-168 277.75,-168 277.75,-144 186.5,-144"/>
<polygon fill="none" stroke="black" points="277.75,-144 277.75,-168 350,-168 350,-144 277.75,-144"/>
<text text-anchor="start" x="309.75" y="-150.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-120 0,-144 95.25,-144 95.25,-120 0,-120"/>
<text text-anchor="start" x="31.88" y="-126.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-120 95.25,-144 186.5,-144 186.5,-120 95.25,-120"/>
<text text-anchor="start" x="134.12" y="-127.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-120 186.5,-144 277.75,-144 277.75,-120 186.5,-120"/>
<polygon fill="none" stroke="black" points="277.75,-120 277.75,-144 350,-144 350,-120 277.75,-120"/>
<text text-anchor="start" x="309.75" y="-126.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-96 0,-120 95.25,-120 95.25,-96 0,-96"/>
<text text-anchor="start" x="32.25" y="-102.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="95.25,-96 95.25,-120 186.5,-120 186.5,-96 95.25,-96"/>
<polygon fill="none" stroke="black" points="186.5,-96 186.5,-120 277.75,-120 277.75,-96 186.5,-96"/>
<text text-anchor="start" x="225.38" y="-103.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="277.75,-96 277.75,-120 350,-120 350,-96 277.75,-96"/>
<text text-anchor="start" x="309.75" y="-102.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-72 0,-96 95.25,-96 95.25,-72 0,-72"/>
<text text-anchor="start" x="31.88" y="-78.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-72 95.25,-96 186.5,-96 186.5,-72 95.25,-72"/>
<text text-anchor="start" x="134.12" y="-79.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-72 186.5,-96 277.75,-96 277.75,-72 186.5,-72"/>
<polygon fill="none" stroke="black" points="277.75,-72 277.75,-96 350,-96 350,-72 277.75,-72"/>
<text text-anchor="start" x="309.75" y="-78.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-48 0,-72 41,-72 41,-48 0,-48"/>
<text text-anchor="start" x="3.62" y="-54.7" font-family="arial" font-size="14.00">Short</text>
<polygon fill="none" stroke="black" points="41,-48 41,-72 130,-72 130,-48 41,-48"/>
<text text-anchor="start" x="44.62" y="-54.7" font-family="arial" font-size="14.00">Manufacturer</text>
<polygon fill="none" stroke="black" points="130,-48 130,-72 219,-72 219,-48 130,-48"/>
<text text-anchor="start" x="153.5" y="-54.7" font-family="arial" font-size="14.00">M.P.N.</text>
<polygon fill="none" stroke="black" points="219,-48 219,-72 270,-72 270,-48 219,-48"/>
<text text-anchor="start" x="222.75" y="-54.7" font-family="arial" font-size="14.00">Length</text>
<polygon fill="none" stroke="black" points="270,-48 270,-72 350,-72 350,-48 270,-48"/>
<text text-anchor="start" x="274" y="-54.7" font-family="arial" font-size="14.00">Description</text>
<polygon fill="none" stroke="black" points="0,-24 0,-48 41,-48 41,-24 0,-24"/>
<text text-anchor="start" x="6.62" y="-30.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="41,-24 41,-48 130,-48 130,-24 41,-24"/>
<text text-anchor="start" x="60.75" y="-30.7" font-family="arial" font-size="14.00">WireViz</text>
<polygon fill="none" stroke="black" points="130,-24 130,-48 219,-48 219,-24 130,-24"/>
<text text-anchor="start" x="133.62" y="-30.7" font-family="arial" font-size="14.00">42XCD42A5</text>
<polygon fill="none" stroke="black" points="219,-24 219,-48 270,-48 270,-24 219,-24"/>
<polygon fill="none" stroke="black" points="270,-24 270,-48 350,-48 350,-24 270,-24"/>
<text text-anchor="start" x="281.5" y="-30.7" font-family="arial" font-size="14.00">shortPart</text>
<polygon fill="none" stroke="black" points="0,0 0,-24 41,-24 41,0 0,0"/>
<text text-anchor="start" x="6.62" y="-6.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="41,0 41,-24 130,-24 130,0 41,0"/>
<text text-anchor="start" x="60.75" y="-6.7" font-family="arial" font-size="14.00">WireViz</text>
<polygon fill="none" stroke="black" points="130,0 130,-24 219,-24 219,0 130,0"/>
<text text-anchor="start" x="133.62" y="-6.7" font-family="arial" font-size="14.00">42XCD42A5</text>
<polygon fill="none" stroke="black" points="219,0 219,-24 270,-24 270,0 219,0"/>
<text text-anchor="start" x="224.25" y="-6.7" font-family="arial" font-size="14.00">42mm</text>
<polygon fill="none" stroke="black" points="270,0 270,-24 350,-24 350,0 270,0"/>
<text text-anchor="start" x="281.5" y="-6.7" font-family="arial" font-size="14.00">shortPart</text>
<polygon fill="#ffffff" stroke="black" points="188.25,-241 0,-241 0,0 188.25,0 188.25,-241"/>
<polygon fill="none" stroke="black" points="0,-216.5 0,-241 188.25,-241 188.25,-216.5 0,-216.5"/>
<text text-anchor="start" x="85.13" y="-223.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-192 0,-216.5 97.25,-216.5 97.25,-192 0,-192"/>
<text text-anchor="start" x="4" y="-199.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="97.25,-192 97.25,-216.5 148.75,-216.5 148.75,-192 97.25,-192"/>
<text text-anchor="start" x="101.25" y="-199.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="148.75,-192 148.75,-216.5 188.25,-216.5 188.25,-192 148.75,-192"/>
<text text-anchor="start" x="152.75" y="-199.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-168 0,-192 54.81,-192 54.81,-168 0,-168"/>
<polygon fill="none" stroke="black" points="54.81,-168 54.81,-192 105.63,-192 105.63,-168 54.81,-168"/>
<text text-anchor="start" x="66.34" y="-174.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="105.63,-168 105.63,-192 156.44,-192 156.44,-168 105.63,-168"/>
<text text-anchor="start" x="117.16" y="-174.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="156.44,-168 156.44,-192 188.25,-192 188.25,-168 156.44,-168"/>
<polygon fill="none" stroke="black" points="0,-144 0,-168 54.81,-168 54.81,-144 0,-144"/>
<text text-anchor="start" x="11.66" y="-150.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,-144 54.81,-168 105.63,-168 105.63,-144 54.81,-144"/>
<text text-anchor="start" x="73.47" y="-151.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,-144 105.63,-168 156.44,-168 156.44,-144 105.63,-144"/>
<polygon fill="none" stroke="black" points="156.44,-144 156.44,-168 188.25,-168 188.25,-144 156.44,-144"/>
<text text-anchor="start" x="168.22" y="-150.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-120 0,-144 54.81,-144 54.81,-120 0,-120"/>
<text text-anchor="start" x="12.03" y="-126.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="54.81,-120 54.81,-144 105.63,-144 105.63,-120 54.81,-120"/>
<polygon fill="none" stroke="black" points="105.63,-120 105.63,-144 156.44,-144 156.44,-120 105.63,-120"/>
<text text-anchor="start" x="124.28" y="-127.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="156.44,-120 156.44,-144 188.25,-144 188.25,-120 156.44,-120"/>
<text text-anchor="start" x="168.22" y="-126.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-96 0,-120 54.81,-120 54.81,-96 0,-96"/>
<text text-anchor="start" x="17.28" y="-102.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="54.81,-96 54.81,-120 105.63,-120 105.63,-96 54.81,-96"/>
<polygon fill="none" stroke="black" points="105.63,-96 105.63,-120 156.44,-120 156.44,-96 105.63,-96"/>
<polygon fill="none" stroke="black" points="156.44,-96 156.44,-120 188.25,-120 188.25,-96 156.44,-96"/>
<text text-anchor="start" x="168.22" y="-102.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-72 0,-96 54.81,-96 54.81,-72 0,-72"/>
<text text-anchor="start" x="18.03" y="-78.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="54.81,-72 54.81,-96 105.63,-96 105.63,-72 54.81,-72"/>
<polygon fill="none" stroke="black" points="105.63,-72 105.63,-96 156.44,-96 156.44,-72 105.63,-72"/>
<polygon fill="none" stroke="black" points="156.44,-72 156.44,-96 188.25,-96 188.25,-72 156.44,-72"/>
<text text-anchor="start" x="168.22" y="-78.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-48 0,-72 54.81,-72 54.81,-48 0,-48"/>
<text text-anchor="start" x="11.66" y="-54.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,-48 54.81,-72 105.63,-72 105.63,-48 54.81,-48"/>
<text text-anchor="start" x="73.47" y="-55.73" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,-48 105.63,-72 156.44,-72 156.44,-48 105.63,-48"/>
<polygon fill="none" stroke="black" points="156.44,-48 156.44,-72 188.25,-72 188.25,-48 156.44,-48"/>
<text text-anchor="start" x="168.22" y="-54.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-24 0,-48 54.81,-48 54.81,-24 0,-24"/>
<text text-anchor="start" x="12.03" y="-30.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="54.81,-24 54.81,-48 105.63,-48 105.63,-24 54.81,-24"/>
<polygon fill="none" stroke="black" points="105.63,-24 105.63,-48 156.44,-48 156.44,-24 105.63,-24"/>
<text text-anchor="start" x="124.28" y="-31.73" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="156.44,-24 156.44,-48 188.25,-48 188.25,-24 156.44,-24"/>
<text text-anchor="start" x="168.22" y="-30.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,0 0,-24 54.81,-24 54.81,0 0,0"/>
<text text-anchor="start" x="11.66" y="-6.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,0 54.81,-24 105.63,-24 105.63,0 54.81,0"/>
<text text-anchor="start" x="73.47" y="-7.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,0 105.63,-24 156.44,-24 156.44,0 105.63,0"/>
<polygon fill="none" stroke="black" points="156.44,0 156.44,-24 188.25,-24 188.25,0 156.44,0"/>
<text text-anchor="start" x="168.22" y="-6.7" font-family="arial" font-size="14.00">7</text>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge1" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M140.88,-228C140.88,-228 140.88,-132 140.88,-132"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M80.22,-156C80.22,-156 80.22,-60 80.22,-60"/>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge2" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M140.88,-132C140.88,-132 140.88,-84 140.88,-84"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M80.22,-60C80.22,-60 80.22,-12 80.22,-12"/>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge3" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M232.12,-204C232.12,-204 232.12,-108 232.12,-108"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M131.03,-132C131.03,-132 131.03,-36 131.03,-36"/>
</g>
<!-- W1 -->
<g id="node2" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="771.75,-324 494,-324 494,-89 771.75,-89 771.75,-324"/>
<polygon fill="none" stroke="black" points="494,-299.5 494,-324 771.75,-324 771.75,-299.5 494,-299.5"/>
<text text-anchor="start" x="621.63" y="-306.7" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="494,-275 494,-299.5 538,-299.5 538,-275 494,-275"/>
<text text-anchor="start" x="498" y="-282.2" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="538,-275 538,-299.5 561,-299.5 561,-275 538,-275"/>
<text text-anchor="start" x="542" y="-282.2" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="561,-275 561,-299.5 698,-299.5 698,-275 561,-275"/>
<text text-anchor="start" x="565" y="-282.2" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="698,-275 698,-299.5 727.75,-299.5 727.75,-275 698,-275"/>
<text text-anchor="start" x="702" y="-282.2" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="727.75,-275 727.75,-299.5 771.75,-299.5 771.75,-275 727.75,-275"/>
<text text-anchor="start" x="731.75" y="-282.2" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="537.92" y="-259.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="507.17" y="-239.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="600.25" y="-239.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="693.34" y="-239.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="494,-233 494,-235 771.75,-235 771.75,-233 494,-233"/>
<polygon fill="#895956" stroke="none" points="494,-231 494,-233 771.75,-233 771.75,-231 494,-231"/>
<polygon fill="#000000" stroke="none" points="494,-229 494,-231 771.75,-231 771.75,-229 494,-229"/>
<text text-anchor="start" x="507.55" y="-213.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="599.5" y="-213.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="693.71" y="-213.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="494,-207 494,-209 771.75,-209 771.75,-207 494,-207"/>
<polygon fill="#ff0000" stroke="none" points="494,-205 494,-207 771.75,-207 771.75,-205 494,-205"/>
<polygon fill="#000000" stroke="none" points="494,-203 494,-205 771.75,-205 771.75,-203 494,-203"/>
<text text-anchor="start" x="512.8" y="-187.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="598.75" y="-187.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="699.71" y="-187.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="494,-181 494,-183 771.75,-183 771.75,-181 494,-181"/>
<polygon fill="#ff8000" stroke="none" points="494,-179 494,-181 771.75,-181 771.75,-179 494,-179"/>
<polygon fill="#000000" stroke="none" points="494,-177 494,-179 771.75,-179 771.75,-177 494,-177"/>
<text text-anchor="start" x="513.55" y="-161.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="600.63" y="-161.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.96" y="-161.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="494,-155 494,-157 771.75,-157 771.75,-155 494,-155"/>
<polygon fill="#ffff00" stroke="none" points="494,-153 494,-155 771.75,-155 771.75,-153 494,-153"/>
<polygon fill="#000000" stroke="none" points="494,-151 494,-153 771.75,-153 771.75,-151 494,-151"/>
<text text-anchor="start" x="537.92" y="-135.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="507.17" y="-115.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="613" y="-115.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="494,-109 494,-111 771.75,-111 771.75,-109 494,-109"/>
<text text-anchor="start" x="537.92" y="-93.7" font-family="arial" font-size="14.00"> </text>
<polygon fill="#ffffff" stroke="black" points="610,-252 332.25,-252 332.25,-17 610,-17 610,-252"/>
<polygon fill="none" stroke="black" points="332.25,-227.5 332.25,-252 610,-252 610,-227.5 332.25,-227.5"/>
<text text-anchor="start" x="459.87" y="-234.7" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="332.25,-203 332.25,-227.5 376.25,-227.5 376.25,-203 332.25,-203"/>
<text text-anchor="start" x="336.25" y="-210.2" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="376.25,-203 376.25,-227.5 399.25,-227.5 399.25,-203 376.25,-203"/>
<text text-anchor="start" x="380.25" y="-210.2" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="399.25,-203 399.25,-227.5 536.25,-227.5 536.25,-203 399.25,-203"/>
<text text-anchor="start" x="403.25" y="-210.2" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="536.25,-203 536.25,-227.5 566,-227.5 566,-203 536.25,-203"/>
<text text-anchor="start" x="540.25" y="-210.2" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="566,-203 566,-227.5 610,-227.5 610,-203 566,-203"/>
<text text-anchor="start" x="570" y="-210.2" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="376.16" y="-187.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="345.41" y="-167.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="438.5" y="-167.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="531.58" y="-167.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="332.25,-161 332.25,-163 610,-163 610,-161 332.25,-161"/>
<polygon fill="#895956" stroke="none" points="332.25,-159 332.25,-161 610,-161 610,-159 332.25,-159"/>
<polygon fill="#000000" stroke="none" points="332.25,-157 332.25,-159 610,-159 610,-157 332.25,-157"/>
<text text-anchor="start" x="345.79" y="-141.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="437.75" y="-141.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="531.95" y="-141.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="332.25,-135 332.25,-137 610,-137 610,-135 332.25,-135"/>
<polygon fill="#ff0000" stroke="none" points="332.25,-133 332.25,-135 610,-135 610,-133 332.25,-133"/>
<polygon fill="#000000" stroke="none" points="332.25,-131 332.25,-133 610,-133 610,-131 332.25,-131"/>
<text text-anchor="start" x="351.04" y="-115.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="437" y="-115.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="537.95" y="-115.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="332.25,-109 332.25,-111 610,-111 610,-109 332.25,-109"/>
<polygon fill="#ff8000" stroke="none" points="332.25,-107 332.25,-109 610,-109 610,-107 332.25,-107"/>
<polygon fill="#000000" stroke="none" points="332.25,-105 332.25,-107 610,-107 610,-105 332.25,-105"/>
<text text-anchor="start" x="351.79" y="-89.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="438.87" y="-89.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="537.2" y="-89.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="332.25,-83 332.25,-85 610,-85 610,-83 332.25,-83"/>
<polygon fill="#ffff00" stroke="none" points="332.25,-81 332.25,-83 610,-83 610,-81 332.25,-81"/>
<polygon fill="#000000" stroke="none" points="332.25,-79 332.25,-81 610,-81 610,-79 332.25,-79"/>
<text text-anchor="start" x="376.16" y="-63.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="345.41" y="-43.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="451.25" y="-43.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="332.25,-37 332.25,-39 610,-39 610,-37 332.25,-37"/>
<text text-anchor="start" x="376.16" y="-21.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge4" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-226C414.51,-226.06 430.47,-230.06 494,-230"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M350,-228C414.02,-228 429.98,-232 494,-232"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-230C413.53,-229.94 429.49,-233.94 494,-234"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-154C252.76,-154.06 268.72,-158.06 332.25,-158"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M188.25,-156C252.27,-156 268.23,-160 332.25,-160"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-158C251.78,-157.94 267.74,-161.94 332.25,-162"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-202C414.26,-202.02 430.24,-204.02 494,-204"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M350,-204C414.01,-204 429.99,-206 494,-206"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-206C413.76,-205.98 429.74,-207.98 494,-208"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-130C252.51,-130.02 268.49,-132.02 332.25,-132"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M188.25,-132C252.26,-132 268.24,-134 332.25,-134"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-134C252.01,-133.98 267.99,-135.98 332.25,-136"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge6" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-178C414,-178 430,-178 494,-178"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M350,-180C414,-180 430,-180 494,-180"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-182C414,-182 430,-182 494,-182"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-106C252.25,-106 268.25,-106 332.25,-106"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M188.25,-108C252.25,-108 268.25,-108 332.25,-108"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-110C252.25,-110 268.25,-110 332.25,-110"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-154C413.76,-154.02 429.74,-152.02 494,-152"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M350,-156C414.01,-156 429.99,-154 494,-154"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-158C414.26,-157.98 430.24,-155.98 494,-156"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-82C252.01,-82.02 267.99,-80.02 332.25,-80"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M188.25,-84C252.26,-84 268.24,-82 332.25,-82"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-86C252.51,-85.98 268.49,-83.98 332.25,-84"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge8" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-228C432.74,-228 411.26,-110 494,-110"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-156C270.99,-156 249.51,-38 332.25,-38"/>
</g>
<!-- X2 -->
<g id="node3" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="1104.03,-316 915.77,-316 915.77,-75 1104.03,-75 1104.03,-316"/>
<polygon fill="none" stroke="black" points="915.77,-291.5 915.77,-316 1104.03,-316 1104.03,-291.5 915.77,-291.5"/>
<text text-anchor="start" x="1000.9" y="-298.7" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="915.77,-267 915.77,-291.5 1013.02,-291.5 1013.02,-267 915.77,-267"/>
<text text-anchor="start" x="919.77" y="-274.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="1013.02,-267 1013.02,-291.5 1064.53,-291.5 1064.53,-267 1013.02,-267"/>
<text text-anchor="start" x="1017.03" y="-274.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="1064.53,-267 1064.53,-291.5 1104.03,-291.5 1104.03,-267 1064.53,-267"/>
<text text-anchor="start" x="1068.53" y="-274.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="915.77,-243 915.77,-267 947.59,-267 947.59,-243 915.77,-243"/>
<polygon fill="none" stroke="black" points="947.59,-243 947.59,-267 1002.4,-267 1002.4,-243 947.59,-243"/>
<polygon fill="none" stroke="black" points="1002.4,-243 1002.4,-267 1053.21,-267 1053.21,-243 1002.4,-243"/>
<text text-anchor="start" x="1013.93" y="-249.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="1053.21,-243 1053.21,-267 1104.03,-267 1104.03,-243 1053.21,-243"/>
<text text-anchor="start" x="1064.74" y="-249.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="915.77,-219 915.77,-243 947.59,-243 947.59,-219 915.77,-219"/>
<text text-anchor="start" x="927.56" y="-225.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="947.59,-219 947.59,-243 1002.4,-243 1002.4,-219 947.59,-219"/>
<text text-anchor="start" x="959.24" y="-225.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-219 1002.4,-243 1053.21,-243 1053.21,-219 1002.4,-219"/>
<text text-anchor="start" x="1021.06" y="-226.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-219 1053.21,-243 1104.03,-243 1104.03,-219 1053.21,-219"/>
<polygon fill="none" stroke="black" points="915.77,-195 915.77,-219 947.59,-219 947.59,-195 915.77,-195"/>
<text text-anchor="start" x="927.56" y="-201.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="947.59,-195 947.59,-219 1002.4,-219 1002.4,-195 947.59,-195"/>
<text text-anchor="start" x="959.62" y="-201.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1002.4,-195 1002.4,-219 1053.21,-219 1053.21,-195 1002.4,-195"/>
<polygon fill="none" stroke="black" points="1053.21,-195 1053.21,-219 1104.03,-219 1104.03,-195 1053.21,-195"/>
<text text-anchor="start" x="1071.87" y="-202.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="915.77,-171 915.77,-195 947.59,-195 947.59,-171 915.77,-171"/>
<text text-anchor="start" x="927.56" y="-177.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="947.59,-171 947.59,-195 1002.4,-195 1002.4,-171 947.59,-171"/>
<text text-anchor="start" x="964.87" y="-177.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="1002.4,-171 1002.4,-195 1053.21,-195 1053.21,-171 1002.4,-171"/>
<polygon fill="none" stroke="black" points="1053.21,-171 1053.21,-195 1104.03,-195 1104.03,-171 1053.21,-171"/>
<polygon fill="none" stroke="black" points="915.77,-147 915.77,-171 947.59,-171 947.59,-147 915.77,-147"/>
<text text-anchor="start" x="927.56" y="-153.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="947.59,-147 947.59,-171 1002.4,-171 1002.4,-147 947.59,-147"/>
<text text-anchor="start" x="965.62" y="-153.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="1002.4,-147 1002.4,-171 1053.21,-171 1053.21,-147 1002.4,-147"/>
<polygon fill="none" stroke="black" points="1053.21,-147 1053.21,-171 1104.03,-171 1104.03,-147 1053.21,-147"/>
<polygon fill="none" stroke="black" points="915.77,-123 915.77,-147 947.59,-147 947.59,-123 915.77,-123"/>
<text text-anchor="start" x="927.56" y="-129.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="947.59,-123 947.59,-147 1002.4,-147 1002.4,-123 947.59,-123"/>
<text text-anchor="start" x="959.24" y="-129.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-123 1002.4,-147 1053.21,-147 1053.21,-123 1002.4,-123"/>
<text text-anchor="start" x="1021.06" y="-130.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-123 1053.21,-147 1104.03,-147 1104.03,-123 1053.21,-123"/>
<polygon fill="none" stroke="black" points="915.77,-99 915.77,-123 947.59,-123 947.59,-99 915.77,-99"/>
<text text-anchor="start" x="927.56" y="-105.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="947.59,-99 947.59,-123 1002.4,-123 1002.4,-99 947.59,-99"/>
<text text-anchor="start" x="959.62" y="-105.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1002.4,-99 1002.4,-123 1053.21,-123 1053.21,-99 1002.4,-99"/>
<polygon fill="none" stroke="black" points="1053.21,-99 1053.21,-123 1104.03,-123 1104.03,-99 1053.21,-99"/>
<text text-anchor="start" x="1071.87" y="-106.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="915.77,-75 915.77,-99 947.59,-99 947.59,-75 915.77,-75"/>
<text text-anchor="start" x="927.56" y="-81.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="947.59,-75 947.59,-99 1002.4,-99 1002.4,-75 947.59,-75"/>
<text text-anchor="start" x="959.24" y="-81.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-75 1002.4,-99 1053.21,-99 1053.21,-75 1002.4,-75"/>
<text text-anchor="start" x="1021.06" y="-82.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-75 1053.21,-99 1104.03,-99 1104.03,-75 1053.21,-75"/>
<polygon fill="#ffffff" stroke="black" points="942.25,-244 754,-244 754,-3 942.25,-3 942.25,-244"/>
<polygon fill="none" stroke="black" points="754,-219.5 754,-244 942.25,-244 942.25,-219.5 754,-219.5"/>
<text text-anchor="start" x="839.12" y="-226.7" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="754,-195 754,-219.5 851.25,-219.5 851.25,-195 754,-195"/>
<text text-anchor="start" x="758" y="-202.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="851.25,-195 851.25,-219.5 902.75,-219.5 902.75,-195 851.25,-195"/>
<text text-anchor="start" x="855.25" y="-202.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="902.75,-195 902.75,-219.5 942.25,-219.5 942.25,-195 902.75,-195"/>
<text text-anchor="start" x="906.75" y="-202.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="754,-171 754,-195 785.81,-195 785.81,-171 754,-171"/>
<polygon fill="none" stroke="black" points="785.81,-171 785.81,-195 840.62,-195 840.62,-171 785.81,-171"/>
<polygon fill="none" stroke="black" points="840.62,-171 840.62,-195 891.43,-195 891.43,-171 840.62,-171"/>
<text text-anchor="start" x="852.15" y="-177.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="891.43,-171 891.43,-195 942.25,-195 942.25,-171 891.43,-171"/>
<text text-anchor="start" x="902.96" y="-177.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="754,-147 754,-171 785.81,-171 785.81,-147 754,-147"/>
<text text-anchor="start" x="765.78" y="-153.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="785.81,-147 785.81,-171 840.62,-171 840.62,-147 785.81,-147"/>
<text text-anchor="start" x="797.46" y="-153.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-147 840.62,-171 891.43,-171 891.43,-147 840.62,-147"/>
<text text-anchor="start" x="859.28" y="-154.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-147 891.43,-171 942.25,-171 942.25,-147 891.43,-147"/>
<polygon fill="none" stroke="black" points="754,-123 754,-147 785.81,-147 785.81,-123 754,-123"/>
<text text-anchor="start" x="765.78" y="-129.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="785.81,-123 785.81,-147 840.62,-147 840.62,-123 785.81,-123"/>
<text text-anchor="start" x="797.84" y="-129.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="840.62,-123 840.62,-147 891.43,-147 891.43,-123 840.62,-123"/>
<polygon fill="none" stroke="black" points="891.43,-123 891.43,-147 942.25,-147 942.25,-123 891.43,-123"/>
<text text-anchor="start" x="910.09" y="-130.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="754,-99 754,-123 785.81,-123 785.81,-99 754,-99"/>
<text text-anchor="start" x="765.78" y="-105.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="785.81,-99 785.81,-123 840.62,-123 840.62,-99 785.81,-99"/>
<text text-anchor="start" x="803.09" y="-105.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="840.62,-99 840.62,-123 891.43,-123 891.43,-99 840.62,-99"/>
<polygon fill="none" stroke="black" points="891.43,-99 891.43,-123 942.25,-123 942.25,-99 891.43,-99"/>
<polygon fill="none" stroke="black" points="754,-75 754,-99 785.81,-99 785.81,-75 754,-75"/>
<text text-anchor="start" x="765.78" y="-81.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="785.81,-75 785.81,-99 840.62,-99 840.62,-75 785.81,-75"/>
<text text-anchor="start" x="803.84" y="-81.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="840.62,-75 840.62,-99 891.43,-99 891.43,-75 840.62,-75"/>
<polygon fill="none" stroke="black" points="891.43,-75 891.43,-99 942.25,-99 942.25,-75 891.43,-75"/>
<polygon fill="none" stroke="black" points="754,-51 754,-75 785.81,-75 785.81,-51 754,-51"/>
<text text-anchor="start" x="765.78" y="-57.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="785.81,-51 785.81,-75 840.62,-75 840.62,-51 785.81,-51"/>
<text text-anchor="start" x="797.46" y="-57.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-51 840.62,-75 891.43,-75 891.43,-51 840.62,-51"/>
<text text-anchor="start" x="859.28" y="-58.73" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-51 891.43,-75 942.25,-75 942.25,-51 891.43,-51"/>
<polygon fill="none" stroke="black" points="754,-27 754,-51 785.81,-51 785.81,-27 754,-27"/>
<text text-anchor="start" x="765.78" y="-33.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="785.81,-27 785.81,-51 840.62,-51 840.62,-27 785.81,-27"/>
<text text-anchor="start" x="797.84" y="-33.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="840.62,-27 840.62,-51 891.43,-51 891.43,-27 840.62,-27"/>
<polygon fill="none" stroke="black" points="891.43,-27 891.43,-51 942.25,-51 942.25,-27 891.43,-27"/>
<text text-anchor="start" x="910.09" y="-34.73" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="754,-3 754,-27 785.81,-27 785.81,-3 754,-3"/>
<text text-anchor="start" x="765.78" y="-9.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="785.81,-3 785.81,-27 840.62,-27 840.62,-3 785.81,-3"/>
<text text-anchor="start" x="797.46" y="-9.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-3 840.62,-27 891.43,-27 891.43,-3 840.62,-3"/>
<text text-anchor="start" x="859.28" y="-10.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-3 891.43,-27 942.25,-27 942.25,-3 891.43,-3"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge9" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-230C835.63,-230 851.63,-229 915.75,-229"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M771.75,-232C835.75,-232 851.75,-231 915.75,-231"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-234C835.87,-234 851.87,-233 915.75,-233"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-158C673.88,-158 689.88,-157 754,-157"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M610,-160C674,-160 690,-159 754,-159"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-162C674.13,-162 690.13,-161 754,-161"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-204C835.87,-204 851.87,-205 915.75,-205"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M771.75,-206C835.75,-206 851.75,-207 915.75,-207"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-208C835.63,-208 851.63,-209 915.75,-209"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-132C674.13,-132 690.13,-133 754,-133"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M610,-134C674,-134 690,-135 754,-135"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-136C673.88,-136 689.88,-137 754,-137"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge11" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-178C834.79,-178.86 849.43,-157.86 915.75,-157"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M771.75,-180C836.43,-180 851.07,-159 915.75,-159"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-182C838.07,-181.14 852.71,-160.14 915.75,-161"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-106C673.04,-106.86 687.68,-85.86 754,-85"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M610,-108C674.68,-108 689.32,-87 754,-87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-110C676.32,-109.14 690.96,-88.14 754,-89"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-152C838.84,-153.16 852.28,-182.16 915.75,-181"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M771.75,-154C837.03,-154 850.47,-183 915.75,-183"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-156C835.22,-154.84 848.66,-183.84 915.75,-185"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-80C677.1,-81.16 690.54,-110.16 754,-109"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M610,-82C675.28,-82 688.72,-111 754,-111"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-84C673.47,-82.84 686.91,-111.84 754,-113"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge13" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1027.8,-231C1027.8,-231 1027.8,-135 1027.8,-135"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M866.03,-159C866.03,-159 866.03,-63 866.03,-63"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1027.8,-135C1027.8,-135 1027.8,-87 1027.8,-87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M866.03,-63C866.03,-63 866.03,-15 866.03,-15"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge15" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1078.6,-207C1078.6,-207 1078.6,-111 1078.6,-111"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M916.84,-135C916.84,-135 916.84,-39 916.84,-39"/>
</g>
</g>
</svg>
@ -355,20 +326,53 @@
<th class="bom_col_qty">Qty</th>
<th class="bom_col_unit">Unit</th>
<th class="bom_col_designators">Designators</th>
<th class="bom_col_manufacturer">Manufacturer</th>
<th class="bom_col_mpn">MPN</th>
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description"></td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2/SH1, X2/SH2</td>
<td class="bom_col_manufacturer"></td>
<td class="bom_col_mpn"></td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description">Cable, Serial, 4 x 0.25 mm² shielded</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
<td class="bom_col_manufacturer"></td>
<td class="bom_col_mpn"></td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 7 pins</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1, X2</td>
<td class="bom_col_manufacturer"></td>
<td class="bom_col_mpn"></td>
</tr>
<tr>
<td class="bom_col_id">4</td>
<td class="bom_col_description">shortPart</td>
<td class="bom_col_qty">1</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X1/SH1</td>
<td class="bom_col_manufacturer">WireViz</td>
<td class="bom_col_mpn">42XCD42A5</td>
</tr>
<tr>
<td class="bom_col_id">5</td>
<td class="bom_col_description">shortPart</td>
<td class="bom_col_qty">42</td>
<td class="bom_col_unit">mm</td>
<td class="bom_col_designators">X1/SH2</td>
<td class="bom_col_manufacturer">WireViz</td>
<td class="bom_col_mpn">42XCD42A5</td>
</tr>
</table>

BIN
examples/ex15.png generated

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 50 KiB

433
examples/ex15.svg generated
View File

@ -4,308 +4,279 @@
<!-- Generated by graphviz version 11.0.0 (20240428.1522)
-->
<!-- Pages: 1 -->
<svg width="1112pt" height="332pt"
viewBox="0.00 0.00 1112.03 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-328 1108.03,-328 1108.03,4 -4,4"/>
<svg width="950pt" height="260pt"
viewBox="0.00 0.00 950.25 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<polygon fill="#ffffff" stroke="none" points="-4,4 -4,-256 946.25,-256 946.25,4 -4,4"/>
<!-- X1 -->
<g id="node1" class="node">
<title>X1</title>
<polygon fill="#ffffff" stroke="black" points="350,-313 0,-313 0,0 350,0 350,-313"/>
<polygon fill="none" stroke="black" points="0,-288.5 0,-313 350,-313 350,-288.5 0,-288.5"/>
<text text-anchor="start" x="166" y="-295.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-264 0,-288.5 151.17,-288.5 151.17,-264 0,-264"/>
<text text-anchor="start" x="30.96" y="-271.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="151.17,-264 151.17,-288.5 256.58,-288.5 256.58,-264 151.17,-264"/>
<text text-anchor="start" x="182.12" y="-271.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="256.58,-264 256.58,-288.5 350,-288.5 350,-264 256.58,-264"/>
<text text-anchor="start" x="287.54" y="-271.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-240 0,-264 95.25,-264 95.25,-240 0,-240"/>
<polygon fill="none" stroke="black" points="95.25,-240 95.25,-264 186.5,-264 186.5,-240 95.25,-240"/>
<text text-anchor="start" x="127" y="-246.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="186.5,-240 186.5,-264 277.75,-264 277.75,-240 186.5,-240"/>
<text text-anchor="start" x="218.25" y="-246.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="277.75,-240 277.75,-264 350,-264 350,-240 277.75,-240"/>
<polygon fill="none" stroke="black" points="0,-216 0,-240 95.25,-240 95.25,-216 0,-216"/>
<text text-anchor="start" x="31.88" y="-222.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-216 95.25,-240 186.5,-240 186.5,-216 95.25,-216"/>
<text text-anchor="start" x="134.12" y="-223.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-216 186.5,-240 277.75,-240 277.75,-216 186.5,-216"/>
<polygon fill="none" stroke="black" points="277.75,-216 277.75,-240 350,-240 350,-216 277.75,-216"/>
<text text-anchor="start" x="309.75" y="-222.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-192 0,-216 95.25,-216 95.25,-192 0,-192"/>
<text text-anchor="start" x="32.25" y="-198.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="95.25,-192 95.25,-216 186.5,-216 186.5,-192 95.25,-192"/>
<polygon fill="none" stroke="black" points="186.5,-192 186.5,-216 277.75,-216 277.75,-192 186.5,-192"/>
<text text-anchor="start" x="225.38" y="-199.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="277.75,-192 277.75,-216 350,-216 350,-192 277.75,-192"/>
<text text-anchor="start" x="309.75" y="-198.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-168 0,-192 95.25,-192 95.25,-168 0,-168"/>
<text text-anchor="start" x="37.5" y="-174.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="95.25,-168 95.25,-192 186.5,-192 186.5,-168 95.25,-168"/>
<polygon fill="none" stroke="black" points="186.5,-168 186.5,-192 277.75,-192 277.75,-168 186.5,-168"/>
<polygon fill="none" stroke="black" points="277.75,-168 277.75,-192 350,-192 350,-168 277.75,-168"/>
<text text-anchor="start" x="309.75" y="-174.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-144 0,-168 95.25,-168 95.25,-144 0,-144"/>
<text text-anchor="start" x="38.25" y="-150.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="95.25,-144 95.25,-168 186.5,-168 186.5,-144 95.25,-144"/>
<polygon fill="none" stroke="black" points="186.5,-144 186.5,-168 277.75,-168 277.75,-144 186.5,-144"/>
<polygon fill="none" stroke="black" points="277.75,-144 277.75,-168 350,-168 350,-144 277.75,-144"/>
<text text-anchor="start" x="309.75" y="-150.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-120 0,-144 95.25,-144 95.25,-120 0,-120"/>
<text text-anchor="start" x="31.88" y="-126.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-120 95.25,-144 186.5,-144 186.5,-120 95.25,-120"/>
<text text-anchor="start" x="134.12" y="-127.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-120 186.5,-144 277.75,-144 277.75,-120 186.5,-120"/>
<polygon fill="none" stroke="black" points="277.75,-120 277.75,-144 350,-144 350,-120 277.75,-120"/>
<text text-anchor="start" x="309.75" y="-126.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-96 0,-120 95.25,-120 95.25,-96 0,-96"/>
<text text-anchor="start" x="32.25" y="-102.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="95.25,-96 95.25,-120 186.5,-120 186.5,-96 95.25,-96"/>
<polygon fill="none" stroke="black" points="186.5,-96 186.5,-120 277.75,-120 277.75,-96 186.5,-96"/>
<text text-anchor="start" x="225.38" y="-103.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="277.75,-96 277.75,-120 350,-120 350,-96 277.75,-96"/>
<text text-anchor="start" x="309.75" y="-102.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,-72 0,-96 95.25,-96 95.25,-72 0,-72"/>
<text text-anchor="start" x="31.88" y="-78.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="95.25,-72 95.25,-96 186.5,-96 186.5,-72 95.25,-72"/>
<text text-anchor="start" x="134.12" y="-79.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="186.5,-72 186.5,-96 277.75,-96 277.75,-72 186.5,-72"/>
<polygon fill="none" stroke="black" points="277.75,-72 277.75,-96 350,-96 350,-72 277.75,-72"/>
<text text-anchor="start" x="309.75" y="-78.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="0,-48 0,-72 41,-72 41,-48 0,-48"/>
<text text-anchor="start" x="3.62" y="-54.7" font-family="arial" font-size="14.00">Short</text>
<polygon fill="none" stroke="black" points="41,-48 41,-72 130,-72 130,-48 41,-48"/>
<text text-anchor="start" x="44.62" y="-54.7" font-family="arial" font-size="14.00">Manufacturer</text>
<polygon fill="none" stroke="black" points="130,-48 130,-72 219,-72 219,-48 130,-48"/>
<text text-anchor="start" x="153.5" y="-54.7" font-family="arial" font-size="14.00">M.P.N.</text>
<polygon fill="none" stroke="black" points="219,-48 219,-72 270,-72 270,-48 219,-48"/>
<text text-anchor="start" x="222.75" y="-54.7" font-family="arial" font-size="14.00">Length</text>
<polygon fill="none" stroke="black" points="270,-48 270,-72 350,-72 350,-48 270,-48"/>
<text text-anchor="start" x="274" y="-54.7" font-family="arial" font-size="14.00">Description</text>
<polygon fill="none" stroke="black" points="0,-24 0,-48 41,-48 41,-24 0,-24"/>
<text text-anchor="start" x="6.62" y="-30.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="41,-24 41,-48 130,-48 130,-24 41,-24"/>
<text text-anchor="start" x="60.75" y="-30.7" font-family="arial" font-size="14.00">WireViz</text>
<polygon fill="none" stroke="black" points="130,-24 130,-48 219,-48 219,-24 130,-24"/>
<text text-anchor="start" x="133.62" y="-30.7" font-family="arial" font-size="14.00">42XCD42A5</text>
<polygon fill="none" stroke="black" points="219,-24 219,-48 270,-48 270,-24 219,-24"/>
<polygon fill="none" stroke="black" points="270,-24 270,-48 350,-48 350,-24 270,-24"/>
<text text-anchor="start" x="281.5" y="-30.7" font-family="arial" font-size="14.00">shortPart</text>
<polygon fill="none" stroke="black" points="0,0 0,-24 41,-24 41,0 0,0"/>
<text text-anchor="start" x="6.62" y="-6.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="41,0 41,-24 130,-24 130,0 41,0"/>
<text text-anchor="start" x="60.75" y="-6.7" font-family="arial" font-size="14.00">WireViz</text>
<polygon fill="none" stroke="black" points="130,0 130,-24 219,-24 219,0 130,0"/>
<text text-anchor="start" x="133.62" y="-6.7" font-family="arial" font-size="14.00">42XCD42A5</text>
<polygon fill="none" stroke="black" points="219,0 219,-24 270,-24 270,0 219,0"/>
<text text-anchor="start" x="224.25" y="-6.7" font-family="arial" font-size="14.00">42mm</text>
<polygon fill="none" stroke="black" points="270,0 270,-24 350,-24 350,0 270,0"/>
<text text-anchor="start" x="281.5" y="-6.7" font-family="arial" font-size="14.00">shortPart</text>
<polygon fill="#ffffff" stroke="black" points="188.25,-241 0,-241 0,0 188.25,0 188.25,-241"/>
<polygon fill="none" stroke="black" points="0,-216.5 0,-241 188.25,-241 188.25,-216.5 0,-216.5"/>
<text text-anchor="start" x="85.13" y="-223.7" font-family="arial" font-size="14.00">X1</text>
<polygon fill="none" stroke="black" points="0,-192 0,-216.5 97.25,-216.5 97.25,-192 0,-192"/>
<text text-anchor="start" x="4" y="-199.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="97.25,-192 97.25,-216.5 148.75,-216.5 148.75,-192 97.25,-192"/>
<text text-anchor="start" x="101.25" y="-199.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="148.75,-192 148.75,-216.5 188.25,-216.5 188.25,-192 148.75,-192"/>
<text text-anchor="start" x="152.75" y="-199.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="0,-168 0,-192 54.81,-192 54.81,-168 0,-168"/>
<polygon fill="none" stroke="black" points="54.81,-168 54.81,-192 105.63,-192 105.63,-168 54.81,-168"/>
<text text-anchor="start" x="66.34" y="-174.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="105.63,-168 105.63,-192 156.44,-192 156.44,-168 105.63,-168"/>
<text text-anchor="start" x="117.16" y="-174.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="156.44,-168 156.44,-192 188.25,-192 188.25,-168 156.44,-168"/>
<polygon fill="none" stroke="black" points="0,-144 0,-168 54.81,-168 54.81,-144 0,-144"/>
<text text-anchor="start" x="11.66" y="-150.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,-144 54.81,-168 105.63,-168 105.63,-144 54.81,-144"/>
<text text-anchor="start" x="73.47" y="-151.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,-144 105.63,-168 156.44,-168 156.44,-144 105.63,-144"/>
<polygon fill="none" stroke="black" points="156.44,-144 156.44,-168 188.25,-168 188.25,-144 156.44,-144"/>
<text text-anchor="start" x="168.22" y="-150.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="0,-120 0,-144 54.81,-144 54.81,-120 0,-120"/>
<text text-anchor="start" x="12.03" y="-126.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="54.81,-120 54.81,-144 105.63,-144 105.63,-120 54.81,-120"/>
<polygon fill="none" stroke="black" points="105.63,-120 105.63,-144 156.44,-144 156.44,-120 105.63,-120"/>
<text text-anchor="start" x="124.28" y="-127.72" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="156.44,-120 156.44,-144 188.25,-144 188.25,-120 156.44,-120"/>
<text text-anchor="start" x="168.22" y="-126.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="0,-96 0,-120 54.81,-120 54.81,-96 0,-96"/>
<text text-anchor="start" x="17.28" y="-102.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="54.81,-96 54.81,-120 105.63,-120 105.63,-96 54.81,-96"/>
<polygon fill="none" stroke="black" points="105.63,-96 105.63,-120 156.44,-120 156.44,-96 105.63,-96"/>
<polygon fill="none" stroke="black" points="156.44,-96 156.44,-120 188.25,-120 188.25,-96 156.44,-96"/>
<text text-anchor="start" x="168.22" y="-102.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="0,-72 0,-96 54.81,-96 54.81,-72 0,-72"/>
<text text-anchor="start" x="18.03" y="-78.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="54.81,-72 54.81,-96 105.63,-96 105.63,-72 54.81,-72"/>
<polygon fill="none" stroke="black" points="105.63,-72 105.63,-96 156.44,-96 156.44,-72 105.63,-72"/>
<polygon fill="none" stroke="black" points="156.44,-72 156.44,-96 188.25,-96 188.25,-72 156.44,-72"/>
<text text-anchor="start" x="168.22" y="-78.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="0,-48 0,-72 54.81,-72 54.81,-48 0,-48"/>
<text text-anchor="start" x="11.66" y="-54.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,-48 54.81,-72 105.63,-72 105.63,-48 54.81,-48"/>
<text text-anchor="start" x="73.47" y="-55.73" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,-48 105.63,-72 156.44,-72 156.44,-48 105.63,-48"/>
<polygon fill="none" stroke="black" points="156.44,-48 156.44,-72 188.25,-72 188.25,-48 156.44,-48"/>
<text text-anchor="start" x="168.22" y="-54.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="0,-24 0,-48 54.81,-48 54.81,-24 0,-24"/>
<text text-anchor="start" x="12.03" y="-30.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="54.81,-24 54.81,-48 105.63,-48 105.63,-24 54.81,-24"/>
<polygon fill="none" stroke="black" points="105.63,-24 105.63,-48 156.44,-48 156.44,-24 105.63,-24"/>
<text text-anchor="start" x="124.28" y="-31.73" font-family="Sans" font-size="12.00" fill="#ff0000"></text>
<polygon fill="none" stroke="black" points="156.44,-24 156.44,-48 188.25,-48 188.25,-24 156.44,-24"/>
<text text-anchor="start" x="168.22" y="-30.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="0,0 0,-24 54.81,-24 54.81,0 0,0"/>
<text text-anchor="start" x="11.66" y="-6.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="54.81,0 54.81,-24 105.63,-24 105.63,0 54.81,0"/>
<text text-anchor="start" x="73.47" y="-7.72" font-family="Sans" font-size="12.00" fill="#ff66cc"></text>
<polygon fill="none" stroke="black" points="105.63,0 105.63,-24 156.44,-24 156.44,0 105.63,0"/>
<polygon fill="none" stroke="black" points="156.44,0 156.44,-24 188.25,-24 188.25,0 156.44,0"/>
<text text-anchor="start" x="168.22" y="-6.7" font-family="arial" font-size="14.00">7</text>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge1" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M140.88,-228C140.88,-228 140.88,-132 140.88,-132"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M80.22,-156C80.22,-156 80.22,-60 80.22,-60"/>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge2" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M140.88,-132C140.88,-132 140.88,-84 140.88,-84"/>
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M80.22,-60C80.22,-60 80.22,-12 80.22,-12"/>
</g>
<!-- X1&#45;&#45;X1 -->
<g id="edge3" class="edge">
<title>X1:c&#45;&#45;X1:c</title>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M232.12,-204C232.12,-204 232.12,-108 232.12,-108"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M131.03,-132C131.03,-132 131.03,-36 131.03,-36"/>
</g>
<!-- W1 -->
<g id="node2" class="node">
<title>W1</title>
<polygon fill="#ffffff" stroke="black" points="771.75,-324 494,-324 494,-89 771.75,-89 771.75,-324"/>
<polygon fill="none" stroke="black" points="494,-299.5 494,-324 771.75,-324 771.75,-299.5 494,-299.5"/>
<text text-anchor="start" x="621.63" y="-306.7" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="494,-275 494,-299.5 538,-299.5 538,-275 494,-275"/>
<text text-anchor="start" x="498" y="-282.2" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="538,-275 538,-299.5 561,-299.5 561,-275 538,-275"/>
<text text-anchor="start" x="542" y="-282.2" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="561,-275 561,-299.5 698,-299.5 698,-275 561,-275"/>
<text text-anchor="start" x="565" y="-282.2" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="698,-275 698,-299.5 727.75,-299.5 727.75,-275 698,-275"/>
<text text-anchor="start" x="702" y="-282.2" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="727.75,-275 727.75,-299.5 771.75,-299.5 771.75,-275 727.75,-275"/>
<text text-anchor="start" x="731.75" y="-282.2" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="537.92" y="-259.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="507.17" y="-239.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="600.25" y="-239.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="693.34" y="-239.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="494,-233 494,-235 771.75,-235 771.75,-233 494,-233"/>
<polygon fill="#895956" stroke="none" points="494,-231 494,-233 771.75,-233 771.75,-231 494,-231"/>
<polygon fill="#000000" stroke="none" points="494,-229 494,-231 771.75,-231 771.75,-229 494,-229"/>
<text text-anchor="start" x="507.55" y="-213.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="599.5" y="-213.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="693.71" y="-213.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="494,-207 494,-209 771.75,-209 771.75,-207 494,-207"/>
<polygon fill="#ff0000" stroke="none" points="494,-205 494,-207 771.75,-207 771.75,-205 494,-205"/>
<polygon fill="#000000" stroke="none" points="494,-203 494,-205 771.75,-205 771.75,-203 494,-203"/>
<text text-anchor="start" x="512.8" y="-187.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="598.75" y="-187.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="699.71" y="-187.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="494,-181 494,-183 771.75,-183 771.75,-181 494,-181"/>
<polygon fill="#ff8000" stroke="none" points="494,-179 494,-181 771.75,-181 771.75,-179 494,-179"/>
<polygon fill="#000000" stroke="none" points="494,-177 494,-179 771.75,-179 771.75,-177 494,-177"/>
<text text-anchor="start" x="513.55" y="-161.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="600.63" y="-161.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.96" y="-161.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="494,-155 494,-157 771.75,-157 771.75,-155 494,-155"/>
<polygon fill="#ffff00" stroke="none" points="494,-153 494,-155 771.75,-155 771.75,-153 494,-153"/>
<polygon fill="#000000" stroke="none" points="494,-151 494,-153 771.75,-153 771.75,-151 494,-151"/>
<text text-anchor="start" x="537.92" y="-135.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="507.17" y="-115.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="613" y="-115.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="494,-109 494,-111 771.75,-111 771.75,-109 494,-109"/>
<text text-anchor="start" x="537.92" y="-93.7" font-family="arial" font-size="14.00"> </text>
<polygon fill="#ffffff" stroke="black" points="610,-252 332.25,-252 332.25,-17 610,-17 610,-252"/>
<polygon fill="none" stroke="black" points="332.25,-227.5 332.25,-252 610,-252 610,-227.5 332.25,-227.5"/>
<text text-anchor="start" x="459.87" y="-234.7" font-family="arial" font-size="14.00">W1</text>
<polygon fill="none" stroke="black" points="332.25,-203 332.25,-227.5 376.25,-227.5 376.25,-203 332.25,-203"/>
<text text-anchor="start" x="336.25" y="-210.2" font-family="arial" font-size="14.00">Serial</text>
<polygon fill="none" stroke="black" points="376.25,-203 376.25,-227.5 399.25,-227.5 399.25,-203 376.25,-203"/>
<text text-anchor="start" x="380.25" y="-210.2" font-family="arial" font-size="14.00">4x</text>
<polygon fill="none" stroke="black" points="399.25,-203 399.25,-227.5 536.25,-227.5 536.25,-203 399.25,-203"/>
<text text-anchor="start" x="403.25" y="-210.2" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
<polygon fill="none" stroke="black" points="536.25,-203 536.25,-227.5 566,-227.5 566,-203 536.25,-203"/>
<text text-anchor="start" x="540.25" y="-210.2" font-family="arial" font-size="14.00">+ S</text>
<polygon fill="none" stroke="black" points="566,-203 566,-227.5 610,-227.5 610,-203 566,-203"/>
<text text-anchor="start" x="570" y="-210.2" font-family="arial" font-size="14.00">0.2 m</text>
<text text-anchor="start" x="376.16" y="-187.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="345.41" y="-167.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="438.5" y="-167.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;1:BN &#160;&#160;&#160;</text>
<text text-anchor="start" x="531.58" y="-167.7" font-family="arial" font-size="14.00">X2:1:GND</text>
<polygon fill="#000000" stroke="none" points="332.25,-161 332.25,-163 610,-163 610,-161 332.25,-161"/>
<polygon fill="#895956" stroke="none" points="332.25,-159 332.25,-161 610,-161 610,-159 332.25,-159"/>
<polygon fill="#000000" stroke="none" points="332.25,-157 332.25,-159 610,-159 610,-157 332.25,-157"/>
<text text-anchor="start" x="345.79" y="-141.7" font-family="arial" font-size="14.00">X1:2:VCC</text>
<text text-anchor="start" x="437.75" y="-141.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;2:RD &#160;&#160;&#160;</text>
<text text-anchor="start" x="531.95" y="-141.7" font-family="arial" font-size="14.00">X2:2:VCC</text>
<polygon fill="#000000" stroke="none" points="332.25,-135 332.25,-137 610,-137 610,-135 332.25,-135"/>
<polygon fill="#ff0000" stroke="none" points="332.25,-133 332.25,-135 610,-135 610,-133 332.25,-133"/>
<polygon fill="#000000" stroke="none" points="332.25,-131 332.25,-133 610,-133 610,-131 332.25,-131"/>
<text text-anchor="start" x="351.04" y="-115.7" font-family="arial" font-size="14.00">X1:3:RX</text>
<text text-anchor="start" x="437" y="-115.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;3:OG &#160;&#160;&#160;</text>
<text text-anchor="start" x="537.95" y="-115.7" font-family="arial" font-size="14.00">X2:4:TX</text>
<polygon fill="#000000" stroke="none" points="332.25,-109 332.25,-111 610,-111 610,-109 332.25,-109"/>
<polygon fill="#ff8000" stroke="none" points="332.25,-107 332.25,-109 610,-109 610,-107 332.25,-107"/>
<polygon fill="#000000" stroke="none" points="332.25,-105 332.25,-107 610,-107 610,-105 332.25,-105"/>
<text text-anchor="start" x="351.79" y="-89.7" font-family="arial" font-size="14.00">X1:4:TX</text>
<text text-anchor="start" x="438.87" y="-89.7" font-family="arial" font-size="14.00"> &#160;&#160;&#160;&#160;4:YE &#160;&#160;&#160;</text>
<text text-anchor="start" x="537.2" y="-89.7" font-family="arial" font-size="14.00">X2:3:RX</text>
<polygon fill="#000000" stroke="none" points="332.25,-83 332.25,-85 610,-85 610,-83 332.25,-83"/>
<polygon fill="#ffff00" stroke="none" points="332.25,-81 332.25,-83 610,-83 610,-81 332.25,-81"/>
<polygon fill="#000000" stroke="none" points="332.25,-79 332.25,-81 610,-81 610,-79 332.25,-79"/>
<text text-anchor="start" x="376.16" y="-63.7" font-family="arial" font-size="14.00"> </text>
<text text-anchor="start" x="345.41" y="-43.7" font-family="arial" font-size="14.00">X1:1:GND</text>
<text text-anchor="start" x="451.25" y="-43.7" font-family="arial" font-size="14.00">Shield</text>
<polygon fill="#000000" stroke="none" points="332.25,-37 332.25,-39 610,-39 610,-37 332.25,-37"/>
<text text-anchor="start" x="376.16" y="-21.7" font-family="arial" font-size="14.00"> </text>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge4" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-226C414.51,-226.06 430.47,-230.06 494,-230"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M350,-228C414.02,-228 429.98,-232 494,-232"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-230C413.53,-229.94 429.49,-233.94 494,-234"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-154C252.76,-154.06 268.72,-158.06 332.25,-158"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M188.25,-156C252.27,-156 268.23,-160 332.25,-160"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-158C251.78,-157.94 267.74,-161.94 332.25,-162"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge5" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-202C414.26,-202.02 430.24,-204.02 494,-204"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M350,-204C414.01,-204 429.99,-206 494,-206"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-206C413.76,-205.98 429.74,-207.98 494,-208"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-130C252.51,-130.02 268.49,-132.02 332.25,-132"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M188.25,-132C252.26,-132 268.24,-134 332.25,-134"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-134C252.01,-133.98 267.99,-135.98 332.25,-136"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge6" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-178C414,-178 430,-178 494,-178"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M350,-180C414,-180 430,-180 494,-180"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-182C414,-182 430,-182 494,-182"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-106C252.25,-106 268.25,-106 332.25,-106"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M188.25,-108C252.25,-108 268.25,-108 332.25,-108"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-110C252.25,-110 268.25,-110 332.25,-110"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge7" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-154C413.76,-154.02 429.74,-152.02 494,-152"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M350,-156C414.01,-156 429.99,-154 494,-154"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-158C414.26,-157.98 430.24,-155.98 494,-156"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-82C252.01,-82.02 267.99,-80.02 332.25,-80"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M188.25,-84C252.26,-84 268.24,-82 332.25,-82"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-86C252.51,-85.98 268.49,-83.98 332.25,-84"/>
</g>
<!-- X1&#45;&#45;W1 -->
<g id="edge8" class="edge">
<title>X1:e&#45;&#45;W1:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M350,-228C432.74,-228 411.26,-110 494,-110"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M188.25,-156C270.99,-156 249.51,-38 332.25,-38"/>
</g>
<!-- X2 -->
<g id="node3" class="node">
<title>X2</title>
<polygon fill="#ffffff" stroke="black" points="1104.03,-316 915.77,-316 915.77,-75 1104.03,-75 1104.03,-316"/>
<polygon fill="none" stroke="black" points="915.77,-291.5 915.77,-316 1104.03,-316 1104.03,-291.5 915.77,-291.5"/>
<text text-anchor="start" x="1000.9" y="-298.7" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="915.77,-267 915.77,-291.5 1013.02,-291.5 1013.02,-267 915.77,-267"/>
<text text-anchor="start" x="919.77" y="-274.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="1013.02,-267 1013.02,-291.5 1064.53,-291.5 1064.53,-267 1013.02,-267"/>
<text text-anchor="start" x="1017.03" y="-274.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="1064.53,-267 1064.53,-291.5 1104.03,-291.5 1104.03,-267 1064.53,-267"/>
<text text-anchor="start" x="1068.53" y="-274.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="915.77,-243 915.77,-267 947.59,-267 947.59,-243 915.77,-243"/>
<polygon fill="none" stroke="black" points="947.59,-243 947.59,-267 1002.4,-267 1002.4,-243 947.59,-243"/>
<polygon fill="none" stroke="black" points="1002.4,-243 1002.4,-267 1053.21,-267 1053.21,-243 1002.4,-243"/>
<text text-anchor="start" x="1013.93" y="-249.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="1053.21,-243 1053.21,-267 1104.03,-267 1104.03,-243 1053.21,-243"/>
<text text-anchor="start" x="1064.74" y="-249.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="915.77,-219 915.77,-243 947.59,-243 947.59,-219 915.77,-219"/>
<text text-anchor="start" x="927.56" y="-225.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="947.59,-219 947.59,-243 1002.4,-243 1002.4,-219 947.59,-219"/>
<text text-anchor="start" x="959.24" y="-225.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-219 1002.4,-243 1053.21,-243 1053.21,-219 1002.4,-219"/>
<text text-anchor="start" x="1021.06" y="-226.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-219 1053.21,-243 1104.03,-243 1104.03,-219 1053.21,-219"/>
<polygon fill="none" stroke="black" points="915.77,-195 915.77,-219 947.59,-219 947.59,-195 915.77,-195"/>
<text text-anchor="start" x="927.56" y="-201.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="947.59,-195 947.59,-219 1002.4,-219 1002.4,-195 947.59,-195"/>
<text text-anchor="start" x="959.62" y="-201.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1002.4,-195 1002.4,-219 1053.21,-219 1053.21,-195 1002.4,-195"/>
<polygon fill="none" stroke="black" points="1053.21,-195 1053.21,-219 1104.03,-219 1104.03,-195 1053.21,-195"/>
<text text-anchor="start" x="1071.87" y="-202.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="915.77,-171 915.77,-195 947.59,-195 947.59,-171 915.77,-171"/>
<text text-anchor="start" x="927.56" y="-177.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="947.59,-171 947.59,-195 1002.4,-195 1002.4,-171 947.59,-171"/>
<text text-anchor="start" x="964.87" y="-177.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="1002.4,-171 1002.4,-195 1053.21,-195 1053.21,-171 1002.4,-171"/>
<polygon fill="none" stroke="black" points="1053.21,-171 1053.21,-195 1104.03,-195 1104.03,-171 1053.21,-171"/>
<polygon fill="none" stroke="black" points="915.77,-147 915.77,-171 947.59,-171 947.59,-147 915.77,-147"/>
<text text-anchor="start" x="927.56" y="-153.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="947.59,-147 947.59,-171 1002.4,-171 1002.4,-147 947.59,-147"/>
<text text-anchor="start" x="965.62" y="-153.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="1002.4,-147 1002.4,-171 1053.21,-171 1053.21,-147 1002.4,-147"/>
<polygon fill="none" stroke="black" points="1053.21,-147 1053.21,-171 1104.03,-171 1104.03,-147 1053.21,-147"/>
<polygon fill="none" stroke="black" points="915.77,-123 915.77,-147 947.59,-147 947.59,-123 915.77,-123"/>
<text text-anchor="start" x="927.56" y="-129.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="947.59,-123 947.59,-147 1002.4,-147 1002.4,-123 947.59,-123"/>
<text text-anchor="start" x="959.24" y="-129.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-123 1002.4,-147 1053.21,-147 1053.21,-123 1002.4,-123"/>
<text text-anchor="start" x="1021.06" y="-130.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-123 1053.21,-147 1104.03,-147 1104.03,-123 1053.21,-123"/>
<polygon fill="none" stroke="black" points="915.77,-99 915.77,-123 947.59,-123 947.59,-99 915.77,-99"/>
<text text-anchor="start" x="927.56" y="-105.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="947.59,-99 947.59,-123 1002.4,-123 1002.4,-99 947.59,-99"/>
<text text-anchor="start" x="959.62" y="-105.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="1002.4,-99 1002.4,-123 1053.21,-123 1053.21,-99 1002.4,-99"/>
<polygon fill="none" stroke="black" points="1053.21,-99 1053.21,-123 1104.03,-123 1104.03,-99 1053.21,-99"/>
<text text-anchor="start" x="1071.87" y="-106.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="915.77,-75 915.77,-99 947.59,-99 947.59,-75 915.77,-75"/>
<text text-anchor="start" x="927.56" y="-81.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="947.59,-75 947.59,-99 1002.4,-99 1002.4,-75 947.59,-75"/>
<text text-anchor="start" x="959.24" y="-81.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="1002.4,-75 1002.4,-99 1053.21,-99 1053.21,-75 1002.4,-75"/>
<text text-anchor="start" x="1021.06" y="-82.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="1053.21,-75 1053.21,-99 1104.03,-99 1104.03,-75 1053.21,-75"/>
<polygon fill="#ffffff" stroke="black" points="942.25,-244 754,-244 754,-3 942.25,-3 942.25,-244"/>
<polygon fill="none" stroke="black" points="754,-219.5 754,-244 942.25,-244 942.25,-219.5 754,-219.5"/>
<text text-anchor="start" x="839.12" y="-226.7" font-family="arial" font-size="14.00">X2</text>
<polygon fill="none" stroke="black" points="754,-195 754,-219.5 851.25,-219.5 851.25,-195 754,-195"/>
<text text-anchor="start" x="758" y="-202.2" font-family="arial" font-size="14.00">Molex KK 254</text>
<polygon fill="none" stroke="black" points="851.25,-195 851.25,-219.5 902.75,-219.5 902.75,-195 851.25,-195"/>
<text text-anchor="start" x="855.25" y="-202.2" font-family="arial" font-size="14.00">female</text>
<polygon fill="none" stroke="black" points="902.75,-195 902.75,-219.5 942.25,-219.5 942.25,-195 902.75,-195"/>
<text text-anchor="start" x="906.75" y="-202.2" font-family="arial" font-size="14.00">7&#45;pin</text>
<polygon fill="none" stroke="black" points="754,-171 754,-195 785.81,-195 785.81,-171 754,-171"/>
<polygon fill="none" stroke="black" points="785.81,-171 785.81,-195 840.62,-195 840.62,-171 785.81,-171"/>
<polygon fill="none" stroke="black" points="840.62,-171 840.62,-195 891.43,-195 891.43,-171 840.62,-171"/>
<text text-anchor="start" x="852.15" y="-177.7" font-family="arial" font-size="14.00">SH1</text>
<polygon fill="none" stroke="black" points="891.43,-171 891.43,-195 942.25,-195 942.25,-171 891.43,-171"/>
<text text-anchor="start" x="902.96" y="-177.7" font-family="arial" font-size="14.00">SH2</text>
<polygon fill="none" stroke="black" points="754,-147 754,-171 785.81,-171 785.81,-147 754,-147"/>
<text text-anchor="start" x="765.78" y="-153.7" font-family="arial" font-size="14.00">1</text>
<polygon fill="none" stroke="black" points="785.81,-147 785.81,-171 840.62,-171 840.62,-147 785.81,-147"/>
<text text-anchor="start" x="797.46" y="-153.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-147 840.62,-171 891.43,-171 891.43,-147 840.62,-147"/>
<text text-anchor="start" x="859.28" y="-154.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-147 891.43,-171 942.25,-171 942.25,-147 891.43,-147"/>
<polygon fill="none" stroke="black" points="754,-123 754,-147 785.81,-147 785.81,-123 754,-123"/>
<text text-anchor="start" x="765.78" y="-129.7" font-family="arial" font-size="14.00">2</text>
<polygon fill="none" stroke="black" points="785.81,-123 785.81,-147 840.62,-147 840.62,-123 785.81,-123"/>
<text text-anchor="start" x="797.84" y="-129.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="840.62,-123 840.62,-147 891.43,-147 891.43,-123 840.62,-123"/>
<polygon fill="none" stroke="black" points="891.43,-123 891.43,-147 942.25,-147 942.25,-123 891.43,-123"/>
<text text-anchor="start" x="910.09" y="-130.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="754,-99 754,-123 785.81,-123 785.81,-99 754,-99"/>
<text text-anchor="start" x="765.78" y="-105.7" font-family="arial" font-size="14.00">3</text>
<polygon fill="none" stroke="black" points="785.81,-99 785.81,-123 840.62,-123 840.62,-99 785.81,-99"/>
<text text-anchor="start" x="803.09" y="-105.7" font-family="arial" font-size="14.00">RX</text>
<polygon fill="none" stroke="black" points="840.62,-99 840.62,-123 891.43,-123 891.43,-99 840.62,-99"/>
<polygon fill="none" stroke="black" points="891.43,-99 891.43,-123 942.25,-123 942.25,-99 891.43,-99"/>
<polygon fill="none" stroke="black" points="754,-75 754,-99 785.81,-99 785.81,-75 754,-75"/>
<text text-anchor="start" x="765.78" y="-81.7" font-family="arial" font-size="14.00">4</text>
<polygon fill="none" stroke="black" points="785.81,-75 785.81,-99 840.62,-99 840.62,-75 785.81,-75"/>
<text text-anchor="start" x="803.84" y="-81.7" font-family="arial" font-size="14.00">TX</text>
<polygon fill="none" stroke="black" points="840.62,-75 840.62,-99 891.43,-99 891.43,-75 840.62,-75"/>
<polygon fill="none" stroke="black" points="891.43,-75 891.43,-99 942.25,-99 942.25,-75 891.43,-75"/>
<polygon fill="none" stroke="black" points="754,-51 754,-75 785.81,-75 785.81,-51 754,-51"/>
<text text-anchor="start" x="765.78" y="-57.7" font-family="arial" font-size="14.00">5</text>
<polygon fill="none" stroke="black" points="785.81,-51 785.81,-75 840.62,-75 840.62,-51 785.81,-51"/>
<text text-anchor="start" x="797.46" y="-57.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-51 840.62,-75 891.43,-75 891.43,-51 840.62,-51"/>
<text text-anchor="start" x="859.28" y="-58.73" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-51 891.43,-75 942.25,-75 942.25,-51 891.43,-51"/>
<polygon fill="none" stroke="black" points="754,-27 754,-51 785.81,-51 785.81,-27 754,-27"/>
<text text-anchor="start" x="765.78" y="-33.7" font-family="arial" font-size="14.00">6</text>
<polygon fill="none" stroke="black" points="785.81,-27 785.81,-51 840.62,-51 840.62,-27 785.81,-27"/>
<text text-anchor="start" x="797.84" y="-33.7" font-family="arial" font-size="14.00">VCC</text>
<polygon fill="none" stroke="black" points="840.62,-27 840.62,-51 891.43,-51 891.43,-27 840.62,-27"/>
<polygon fill="none" stroke="black" points="891.43,-27 891.43,-51 942.25,-51 942.25,-27 891.43,-27"/>
<text text-anchor="start" x="910.09" y="-34.73" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="754,-3 754,-27 785.81,-27 785.81,-3 754,-3"/>
<text text-anchor="start" x="765.78" y="-9.7" font-family="arial" font-size="14.00">7</text>
<polygon fill="none" stroke="black" points="785.81,-3 785.81,-27 840.62,-27 840.62,-3 785.81,-3"/>
<text text-anchor="start" x="797.46" y="-9.7" font-family="arial" font-size="14.00">GND</text>
<polygon fill="none" stroke="black" points="840.62,-3 840.62,-27 891.43,-27 891.43,-3 840.62,-3"/>
<text text-anchor="start" x="859.28" y="-10.72" font-family="Sans" font-size="12.00" fill="#000000"></text>
<polygon fill="none" stroke="black" points="891.43,-3 891.43,-27 942.25,-27 942.25,-3 891.43,-3"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge9" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-230C835.63,-230 851.63,-229 915.75,-229"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M771.75,-232C835.75,-232 851.75,-231 915.75,-231"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-234C835.87,-234 851.87,-233 915.75,-233"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-158C673.88,-158 689.88,-157 754,-157"/>
<path fill="none" stroke="#895956" stroke-width="2" d="M610,-160C674,-160 690,-159 754,-159"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-162C674.13,-162 690.13,-161 754,-161"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge10" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-204C835.87,-204 851.87,-205 915.75,-205"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M771.75,-206C835.75,-206 851.75,-207 915.75,-207"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-208C835.63,-208 851.63,-209 915.75,-209"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-132C674.13,-132 690.13,-133 754,-133"/>
<path fill="none" stroke="#ff0000" stroke-width="2" d="M610,-134C674,-134 690,-135 754,-135"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-136C673.88,-136 689.88,-137 754,-137"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge11" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-178C834.79,-178.86 849.43,-157.86 915.75,-157"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M771.75,-180C836.43,-180 851.07,-159 915.75,-159"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-182C838.07,-181.14 852.71,-160.14 915.75,-161"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-106C673.04,-106.86 687.68,-85.86 754,-85"/>
<path fill="none" stroke="#ff8000" stroke-width="2" d="M610,-108C674.68,-108 689.32,-87 754,-87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-110C676.32,-109.14 690.96,-88.14 754,-89"/>
</g>
<!-- W1&#45;&#45;X2 -->
<g id="edge12" class="edge">
<title>W1:e&#45;&#45;X2:w</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-152C838.84,-153.16 852.28,-182.16 915.75,-181"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M771.75,-154C837.03,-154 850.47,-183 915.75,-183"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M771.75,-156C835.22,-154.84 848.66,-183.84 915.75,-185"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-80C677.1,-81.16 690.54,-110.16 754,-109"/>
<path fill="none" stroke="#ffff00" stroke-width="2" d="M610,-82C675.28,-82 688.72,-111 754,-111"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M610,-84C673.47,-82.84 686.91,-111.84 754,-113"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge13" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1027.8,-231C1027.8,-231 1027.8,-135 1027.8,-135"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M866.03,-159C866.03,-159 866.03,-63 866.03,-63"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge14" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1027.8,-135C1027.8,-135 1027.8,-87 1027.8,-87"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M866.03,-63C866.03,-63 866.03,-15 866.03,-15"/>
</g>
<!-- X2&#45;&#45;X2 -->
<g id="edge15" class="edge">
<title>X2:c&#45;&#45;X2:c</title>
<path fill="none" stroke="#000000" stroke-width="2" d="M1078.6,-207C1078.6,-207 1078.6,-111 1078.6,-111"/>
<path fill="none" stroke="#000000" stroke-width="2" d="M916.84,-135C916.84,-135 916.84,-39 916.84,-39"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -17,7 +17,6 @@ connectors:
mpn: 42XCD42A5
description: shortPart
length: 42
shorts_graph_bom: true
X2:
type: Molex KK 254
subtype: female

6
examples/ex16.bom.tsv generated
View File

@ -1,3 +1,5 @@
Id Description Qty Unit Designators
1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
2 Connector, Molex KK 254, female, 7 pins 2 X1, X2
1 2 X2/SH1, X2/SH2
2 84.3 mm X1/SH1, X1/SH2
3 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
4 Connector, Molex KK 254, female, 7 pins 2 X1, X2

1 Id Description Qty Unit Designators
2 1 Cable, Serial, 4 x 0.25 mm² shielded 0.2 2 m W1 X2/SH1, X2/SH2
3 2 Connector, Molex KK 254, female, 7 pins 2 84.3 mm X1, X2 X1/SH1, X1/SH2
4 3 Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
5 4 Connector, Molex KK 254, female, 7 pins 2 X1, X2

16
examples/ex16.html generated
View File

@ -302,13 +302,27 @@
</tr>
<tr>
<td class="bom_col_id">1</td>
<td class="bom_col_description"></td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>
<td class="bom_col_designators">X2/SH1, X2/SH2</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_description"></td>
<td class="bom_col_qty">84.3</td>
<td class="bom_col_unit">mm</td>
<td class="bom_col_designators">X1/SH1, X1/SH2</td>
</tr>
<tr>
<td class="bom_col_id">3</td>
<td class="bom_col_description">Cable, Serial, 4 x 0.25 mm² shielded</td>
<td class="bom_col_qty">0.2</td>
<td class="bom_col_unit">m</td>
<td class="bom_col_designators">W1</td>
</tr>
<tr>
<td class="bom_col_id">2</td>
<td class="bom_col_id">4</td>
<td class="bom_col_description">Connector, Molex KK 254, female, 7 pins</td>
<td class="bom_col_qty">2</td>
<td class="bom_col_unit"></td>

View File

@ -1,3 +1,6 @@
options:
mini_bom_mode: false
connectors:
X1:
type: Molex KK 254 # more information
@ -8,9 +11,11 @@ connectors:
pins: [1, 5, 7]
color: PK
type: loop
length: 42
SH2:
pins: [2, 6]
color: RD
length: 42.3
X2:
type: Molex KK 254
subtype: female

View File

@ -177,7 +177,6 @@ class Connector:
ignore_in_bom: bool = False
additional_components: List[AdditionalComponent] = field(default_factory=list)
shorts: List[Short] = field(default_factory=list)
shorts_graph_bom: Optional[bool] = False
def __post_init__(self) -> None:
@ -236,7 +235,10 @@ class Connector:
if isinstance(item, dict):
self.additional_components[i] = AdditionalComponent(**item)
# self.shorts = {}
for i, item in enumerate(self.shorts):
if isinstance(item, dict):
self.additional_components[i] = Short(**item)
for i, item in enumerate(self.shorts):
if isinstance(item, dict):

View File

@ -206,7 +206,6 @@ class Harness:
translate_color(connector.color, self.options.color_mode) if connector.color else None,
html_colorbar(connector.color)],
'<!-- connector table -->' if connector.style != 'simple' else None,
'<!-- short bom table -->' if connector.shorts_graph_bom else None,
[html_image(connector.image)],
[html_caption(connector.image)]]
# fmt: on
@ -305,64 +304,6 @@ class Harness:
for row in html
]
if connector.shorts_graph_bom:
shorthtml = []
shorthtml.append(
'<table border="0" cellspacing="0" cellpadding="3" cellborder="1">'
)
shorthtml.append(" <tr>")
shorthtml.append(f' <td>Short</td>')
shorthtml.append(f' <td>Manufacturer</td>')
shorthtml.append(f' <td>M.P.N.</td>')
shorthtml.append(f' <td>Length</td>')
shorthtml.append(f' <td>Description</td>')
shorthtml.append(" </tr>")
# print(connector.shorts)
#shorts = connector.shorts
#for shortI in shorts.values():
# print(shortI)
# print(shortI.name)
for shortName in connector.shorts:
short = connector.shorts[shortName]
shPins = short.get('pins')
shColor = short.get('color')
shType = short.get('type')
shManufacturer = short.get('manufacturer') if short.get('manufacturer') != None else ""
shMpn = short.get('mpn') if short.get('mpn') != None else ""
shDescription = short.get('description') if short.get('description') != None else ""
length = short.get('length') if short.get('length') != None else ""
if short.get('length_unit') != None and short.get('length') != None:
length_unit = short.get('length_unit')
elif short.get('length') == None:
length_unit = ""
else:
length_unit = "mm"
if shColor == None:
shColor = "BK"
shorthtml.append(" <tr>")
shorthtml.append(f' <td>{shortName}</td>')
shorthtml.append(f' <td>{shManufacturer}</td>')
shorthtml.append(f' <td>{shMpn}</td>')
shorthtml.append(f' <td>{length}{length_unit}</td>')
shorthtml.append(f' <td>{shDescription}</td>')
shorthtml.append(" </tr>")
shorthtml.append(" </table>")
html = [
row.replace("<!-- short bom table -->", "\n".join(shorthtml))
for row in html
]
for shortName in connector.shorts:
short = connector.shorts[shortName]
shPins = short.get('pins');

View File

@ -4,7 +4,7 @@ from dataclasses import asdict
from itertools import groupby
from typing import Any, Dict, List, Optional, Tuple, Union
from wireviz.DataClasses import AdditionalComponent, Cable, Color, Connector
from wireviz.DataClasses import AdditionalComponent, Cable, Color, Connector, Short
from wireviz.wv_colors import translate_color
from wireviz.wv_gv_html import html_bgcolor_attr, html_line_breaks
from wireviz.wv_helper import clean_whitespace
@ -22,7 +22,7 @@ BOMColumn = str # = Literal[*BOM_COLUMNS_ALWAYS, *BOM_COLUMNS_OPTIONAL]
BOMEntry = Dict[BOMColumn, Union[str, int, float, List[str], None]]
def optional_fields(part: Union[Connector, Cable, AdditionalComponent]) -> BOMEntry:
def optional_fields(part: Union[Connector, Cable, AdditionalComponent, Short]) -> BOMEntry:
"""Return part field values for the optional BOM columns as a dict."""
part = asdict(part)
return {field: part.get(field) for field in BOM_COLUMNS_OPTIONAL}
@ -85,6 +85,38 @@ def get_additional_component_bom(component: Union[Connector, Cable]) -> List[BOM
)
return bom_entries
def get_shorts_bom(connector: Union[Connector]) -> List[BOMEntry]:
"""Return a list of BOM entries with additional components."""
bom_entries = []
# Ignore components that have qty 0
for shortName in connector.shorts:
short = connector.shorts[shortName]
shPins = short.get('pins')
shColor = short.get('color')
shType = short.get('type')
shManufacturer = short.get('manufacturer') if short.get('manufacturer') != None else ""
shMpn = short.get('mpn') if short.get('mpn') != None else ""
shDescription = short.get('description') if short.get('description') != None else ""
length = short.get('length') if short.get('length') != None else 1
if short.get('length_unit') != None and short.get('length') != None:
length_unit = short.get('length_unit')
elif short.get('length') == None:
length_unit = ""
else:
length_unit = "mm"
bom_entries.append(
{
"description": str(shDescription),
"qty": length,
"unit": str(length_unit),
"designators": str(connector.name + "/" + shortName),
"manufacturer": shManufacturer,
"mpn": shMpn,
# **optional_fields(short),
}
)
return bom_entries
def bom_entry_key(entry: BOMEntry) -> BOMKey:
"""Return a tuple of string values from the dict that must be equal to join BOM entries."""
@ -124,6 +156,7 @@ def generate_bom(harness: "Harness") -> List[BOMEntry]:
# add connectors aditional components to bom
bom_entries.extend(get_additional_component_bom(connector))
bom_entries.extend(get_shorts_bom(connector))
# cables
# TODO: If category can have other non-empty values than 'bundle', maybe it should be part of description?