Merge branch 'dev' into feature-multicolor-wires
# Conflicts: # examples/ex01.bom.tsv # examples/ex01.gv # examples/ex01.html # examples/ex01.png # examples/ex01.svg # examples/ex05.gv # examples/ex05.html # examples/ex05.png # examples/ex05.svg # src/wireviz/Harness.py # src/wireviz/build_examples.py
29
CHANGELOG.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Change Log
|
||||
|
||||
## [0.2](https://github.com/formatc1702/WireViz/tree/v0.2) (2020-XX-XX)
|
||||
|
||||
### Backward incompatible changes
|
||||
|
||||
- Change names of connector attributes ([#77](https://github.com/formatc1702/WireViz/issues/77))
|
||||
- Remove ferrules as a separate connector type ([#78](https://github.com/formatc1702/WireViz/issues/78))
|
||||
- Change the way loops are defined ([#79](https://github.com/formatc1702/WireViz/issues/79))
|
||||
|
||||
### New features
|
||||
- Add bidirectional AWG/mm2 conversion ([#41](https://github.com/formatc1702/WireViz/pull/41))
|
||||
- Add support for part numbers ([#11](https://github.com/formatc1702/WireViz/pull/11))
|
||||
- Add support for multicolored wires ([#17](https://github.com/formatc1702/WireViz/pull/17))
|
||||
- Add ability to export data directly to other programs ([#55](https://github.com/formatc1702/WireViz/pull/55))
|
||||
- Add support for line breaks in various fields ([#63](https://github.com/formatc1702/WireViz/issues/63))
|
||||
- Allow using connector pin names to define connections ([#72](https://github.com/formatc1702/WireViz/issues/72))
|
||||
- Make defining connection sets easier and more flexible ([#67](https://github.com/formatc1702/WireViz/issues/67))
|
||||
|
||||
### Misc. fixes
|
||||
|
||||
- Improve BOM generation
|
||||
- Add various input sanity checks
|
||||
|
||||
###
|
||||
|
||||
## [0.1](https://github.com/formatc1702/WireViz/tree/v0.1) (2020-06-29)
|
||||
|
||||
- Initial release
|
||||
18
CONTRIBUTING.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Contribution Guidelines
|
||||
|
||||
When contributing to this repository, please first discuss the change you
|
||||
wish to make via issue, email, or any other method with the owners of this
|
||||
repository before making a change.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
1. Fork this repository to your repository
|
||||
1. Clone the repository to your local machine
|
||||
1. Checkout the `dev` branch
|
||||
1. Make any changes to the code on the `dev` branch
|
||||
1. Push your changes to your fork
|
||||
1. Create new pull request
|
||||
|
||||
## Documentation Strings
|
||||
|
||||
Documentation strings are to follow the Google Style ([examples](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)).
|
||||
@ -110,7 +110,13 @@ If you would like to rebuild all of the included demos, examples and tutorials,
|
||||
|
||||
```cd src/wireviz
|
||||
./build_examples.py
|
||||
|
||||
```
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG.md](CHANGELOG.md)
|
||||
|
||||
## Status
|
||||
|
||||
This is very much a [work in progress](https://github.com/formatc1702/WireViz/projects/1). Source code, API, syntax and functionality may change wildly at any time.
|
||||
@ -123,4 +129,4 @@ Ubuntu 18.04 LTS users in particular may need to separately install Python 3.7 o
|
||||
|
||||
## License
|
||||
|
||||
GNU GPLv3
|
||||
[GPL-3.0](LICENSE)
|
||||
|
||||
@ -9,11 +9,6 @@ templates: # defining templates to be used later on
|
||||
gauge: 0.14 mm2
|
||||
colors: [BK, RD, YE, GN]
|
||||
|
||||
ferrules:
|
||||
ferrule_crimp:
|
||||
type: Crimp ferrule
|
||||
subtype: 0.25 mm²
|
||||
|
||||
connectors:
|
||||
X1:
|
||||
<<: *molex_f # copying items from the template
|
||||
@ -27,6 +22,11 @@ connectors:
|
||||
X4:
|
||||
<<: *molex_f
|
||||
pinout: [GND, +12V, MISO, MOSI, SCK]
|
||||
ferrule_crimp:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Crimp ferrule
|
||||
subtype: 0.25 mm²
|
||||
|
||||
cables:
|
||||
W1:
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
Item Qty Unit Designators
|
||||
Connector, Molex KK 254, female, 4 pins 2 X1, X2
|
||||
Cable, 4 x 0.25 mm² shielded 0.2 m W1
|
||||
Cable, Serial, 4 x 0.25 mm² shielded 0.2 m W1
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
graph {
|
||||
// Graph generated by WireViz
|
||||
// https://github.com/formatc1702/WireViz
|
||||
graph [bgcolor="#fffbf8" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
|
||||
graph [bgcolor=white fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
|
||||
node [fillcolor=white fontname=arial shape=record style=filled]
|
||||
edge [fontname=arial style=bold]
|
||||
X1 [label="X1|{Molex KK 254|female|4-pin}|{{GND|VCC|RX|TX}|{<p1r>1|<p2r>2|<p3r>3|<p4r>4}}"]
|
||||
X2 [label="X2|{Molex KK 254|female|4-pin}|{{<p1l>1|<p2l>2|<p3l>3|<p4l>4}|{GND|VCC|RX|TX}}"]
|
||||
edge [color="#000000:#a52a2a:#000000"]
|
||||
edge [color="#000000:#666600:#000000"]
|
||||
X1:p1r:e -- W1:w1:w
|
||||
W1:w1:e -- X2:p1l:w
|
||||
edge [color="#000000:#ff0000:#000000"]
|
||||
@ -18,7 +18,7 @@ graph {
|
||||
edge [color="#000000:#ffff00:#000000"]
|
||||
X1:p4r:e -- W1:w4:w
|
||||
W1:w4:e -- X2:p3l:w
|
||||
edge [color="#aaaaaa:#84878c"]
|
||||
edge [color="#000000"]
|
||||
X1:p1r:e -- W1:ws:w
|
||||
W1 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="4">W1</td></tr><tr><td>4x</td><td>0.25 mm² (24 AWG)</td><td>+ S</td><td>0.2 m</td></tr></table></td></tr><tr><td></td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>BN</td><td>X2:1</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#a52a2a" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:2</td><td>RD</td><td>X2:2</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff0000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:3</td><td>OG</td><td>X2:4</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff8000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:4</td><td>YE</td><td>X2:3</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td></td></tr><tr><td>X1:1</td><td>Shield</td><td><!-- s_out --></td></tr><tr><td colspan="3" cellpadding="0" bgcolor="#aaaaaa:#84878c" height="6" border="2" sides="b" port="ws"></td></tr><tr><td></td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style=""]
|
||||
W1 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="5">W1</td></tr><tr><td>Serial</td><td>4x</td><td>0.25 mm² (24 AWG)</td><td>+ S</td><td>0.2 m</td></tr></table></td></tr><tr><td> </td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>BN</td><td>X2:1</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#666600" border="2" sides="tb" port="w1"></td></tr><tr><td>X1:2</td><td>RD</td><td>X2:2</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff0000" border="2" sides="tb" port="w2"></td></tr><tr><td>X1:3</td><td>OG</td><td>X2:4</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff8000" border="2" sides="tb" port="w3"></td></tr><tr><td>X1:4</td><td>YE</td><td>X2:3</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ffff00" border="2" sides="tb" port="w4"></td></tr><tr><td> </td></tr><tr><td>X1:1</td><td>Shield</td><td><!-- s_out --></td></tr><tr><td colspan="3" cellpadding="0" height="6" border="2" sides="b" port="ws"></td></tr><tr><td> </td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style=""]
|
||||
}
|
||||
|
||||
@ -1,169 +1,177 @@
|
||||
<html><body style="font-family:Arial"><h1>Diagram</h1><?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="961pt" height="187pt"
|
||||
viewBox="0.00 0.00 961.00 187.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 183)">
|
||||
<title>%3</title>
|
||||
<polygon fill="#fffbf8" stroke="none" points="-4,4 -4,-183 957,-183 957,4 -4,4"/>
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="979pt" height="232pt"
|
||||
viewBox="0.00 0.00 979.00 232.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 228)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-228 975,-228 975,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node"><title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-26.5 0,-164.5 214,-164.5 214,-26.5 0,-26.5"/>
|
||||
<text text-anchor="middle" x="107" y="-149.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-141.5 214,-141.5 "/>
|
||||
<text text-anchor="middle" x="53" y="-126.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="106,-118.5 106,-141.5 "/>
|
||||
<text text-anchor="middle" x="136" y="-126.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="166,-118.5 166,-141.5 "/>
|
||||
<text text-anchor="middle" x="190" y="-126.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-118.5 214,-118.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-103.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-95.5 118,-95.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-80.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-72.5 118,-72.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-57.3" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="0,-49.5 118,-49.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-34.3" font-family="arial" font-size="14.00">TX</text>
|
||||
<polyline fill="none" stroke="black" points="118,-26.5 118,-118.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-103.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="118,-95.5 214,-95.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-80.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="118,-72.5 214,-72.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-57.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="118,-49.5 214,-49.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-34.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-57 0,-195 206,-195 206,-57 0,-57"/>
|
||||
<text text-anchor="middle" x="103" y="-179.8" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-172 206,-172 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-156.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-149 101,-172 "/>
|
||||
<text text-anchor="middle" x="130" y="-156.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-149 159,-172 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-156.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-149 206,-149 "/>
|
||||
<text text-anchor="middle" x="57" y="-133.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-126 114,-126 "/>
|
||||
<text text-anchor="middle" x="57" y="-110.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-103 114,-103 "/>
|
||||
<text text-anchor="middle" x="57" y="-87.8" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="0,-80 114,-80 "/>
|
||||
<text text-anchor="middle" x="57" y="-64.8" font-family="arial" font-size="14.00">TX</text>
|
||||
<polyline fill="none" stroke="black" points="114,-57 114,-149 "/>
|
||||
<text text-anchor="middle" x="160" y="-133.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="114,-126 206,-126 "/>
|
||||
<text text-anchor="middle" x="160" y="-110.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="114,-103 206,-103 "/>
|
||||
<text text-anchor="middle" x="160" y="-87.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="114,-80 206,-80 "/>
|
||||
<text text-anchor="middle" x="160" y="-64.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node3" class="node"><title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="595,-179 358,-179 358,-0 595,-0 595,-179"/>
|
||||
<polygon fill="none" stroke="black" points="358.5,-155.5 358.5,-178.5 595.5,-178.5 595.5,-155.5 358.5,-155.5"/>
|
||||
<text text-anchor="start" x="465.5" y="-163.3" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="358.5,-132.5 358.5,-155.5 382.5,-155.5 382.5,-132.5 358.5,-132.5"/>
|
||||
<text text-anchor="start" x="362.5" y="-140.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="382.5,-132.5 382.5,-155.5 520.5,-155.5 520.5,-132.5 382.5,-132.5"/>
|
||||
<text text-anchor="start" x="386.5" y="-140.3" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
|
||||
<polygon fill="none" stroke="black" points="520.5,-132.5 520.5,-155.5 550.5,-155.5 550.5,-132.5 520.5,-132.5"/>
|
||||
<text text-anchor="start" x="524.5" y="-140.3" font-family="arial" font-size="14.00">+ S</text>
|
||||
<polygon fill="none" stroke="black" points="550.5,-132.5 550.5,-155.5 595.5,-155.5 595.5,-132.5 550.5,-132.5"/>
|
||||
<text text-anchor="start" x="554.5" y="-140.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="381" y="-119.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="467" y="-119.3" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="542" y="-119.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-111.5 358.5,-113.5 595.5,-113.5 595.5,-111.5 358.5,-111.5"/>
|
||||
<polygon fill="#a52a2a" stroke="none" points="358.5,-109.5 358.5,-111.5 595.5,-111.5 595.5,-109.5 358.5,-109.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-107.5 358.5,-109.5 595.5,-109.5 595.5,-107.5 358.5,-107.5"/>
|
||||
<text text-anchor="start" x="381" y="-94.3" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="466" y="-94.3" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="542" y="-94.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-86.5 358.5,-88.5 595.5,-88.5 595.5,-86.5 358.5,-86.5"/>
|
||||
<polygon fill="#ff0000" stroke="none" points="358.5,-84.5 358.5,-86.5 595.5,-86.5 595.5,-84.5 358.5,-84.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-82.5 358.5,-84.5 595.5,-84.5 595.5,-82.5 358.5,-82.5"/>
|
||||
<text text-anchor="start" x="381" y="-69.3" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="465.5" y="-69.3" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="542" y="-69.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-61.5 358.5,-63.5 595.5,-63.5 595.5,-61.5 358.5,-61.5"/>
|
||||
<polygon fill="#ff8000" stroke="none" points="358.5,-59.5 358.5,-61.5 595.5,-61.5 595.5,-59.5 358.5,-59.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-57.5 358.5,-59.5 595.5,-59.5 595.5,-57.5 358.5,-57.5"/>
|
||||
<text text-anchor="start" x="381" y="-44.3" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="467.5" y="-44.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="542" y="-44.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-36.5 358.5,-38.5 595.5,-38.5 595.5,-36.5 358.5,-36.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="358.5,-34.5 358.5,-36.5 595.5,-36.5 595.5,-34.5 358.5,-34.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-32.5 358.5,-34.5 595.5,-34.5 595.5,-32.5 358.5,-32.5"/>
|
||||
<text text-anchor="start" x="381" y="-15.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="457" y="-15.3" font-family="arial" font-size="14.00">Shield</text>
|
||||
<defs>
|
||||
<linearGradient id="l_0" gradientUnits="userSpaceOnUse" x1="358.5" y1="-6.5" x2="595.5" y2="-6.5" >
|
||||
<stop offset="0" style="stop-color:#aaaaaa;stop-opacity:1.;"/>
|
||||
<stop offset="1" style="stop-color:#84878c;stop-opacity:1.;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<polygon fill="url(#l_0)" stroke="none" points="358.5,-3.5 358.5,-9.5 595.5,-9.5 595.5,-3.5 358.5,-3.5"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="359.5,-4.5 594.5,-4.5 "/>
|
||||
<g id="node3" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="621,-224 350,-224 350,0 621,0 621,-224"/>
|
||||
<polygon fill="none" stroke="black" points="350.5,-201 350.5,-224 621.5,-224 621.5,-201 350.5,-201"/>
|
||||
<text text-anchor="start" x="475" y="-208.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350.5,-178 350.5,-201 393.5,-201 393.5,-178 350.5,-178"/>
|
||||
<text text-anchor="start" x="354.5" y="-185.8" font-family="arial" font-size="14.00">Serial</text>
|
||||
<polygon fill="none" stroke="black" points="393.5,-178 393.5,-201 416.5,-201 416.5,-178 393.5,-178"/>
|
||||
<text text-anchor="start" x="397.5" y="-185.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="416.5,-178 416.5,-201 548.5,-201 548.5,-178 416.5,-178"/>
|
||||
<text text-anchor="start" x="420.5" y="-185.8" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
|
||||
<polygon fill="none" stroke="black" points="548.5,-178 548.5,-201 578.5,-201 578.5,-178 548.5,-178"/>
|
||||
<text text-anchor="start" x="552.5" y="-185.8" font-family="arial" font-size="14.00">+ S</text>
|
||||
<polygon fill="none" stroke="black" points="578.5,-178 578.5,-201 621.5,-201 621.5,-178 578.5,-178"/>
|
||||
<text text-anchor="start" x="582.5" y="-185.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="484" y="-166.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="380" y="-149.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="476.5" y="-149.8" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="564" y="-149.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#666600" stroke="transparent" points="350.5,-138 350.5,-144 621.5,-144 621.5,-138 350.5,-138"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-139 620.5,-139 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-143 351.5,-143 "/>
|
||||
<text text-anchor="start" x="380" y="-124.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="476" y="-124.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="564" y="-124.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" stroke-width="2" points="350.5,-113 350.5,-119 621.5,-119 621.5,-113 350.5,-113"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-114 620.5,-114 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-118 351.5,-118 "/>
|
||||
<text text-anchor="start" x="380" y="-99.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="474.5" y="-99.8" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="564" y="-99.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#ff8000" stroke="transparent" stroke-width="2" points="350.5,-88 350.5,-94 621.5,-94 621.5,-88 350.5,-88"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-89 620.5,-89 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-93 351.5,-93 "/>
|
||||
<text text-anchor="start" x="380" y="-74.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="476.5" y="-74.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="564" y="-74.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350.5,-63 350.5,-69 621.5,-69 621.5,-63 350.5,-63"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-64 620.5,-64 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-68 351.5,-68 "/>
|
||||
<text text-anchor="start" x="392" y="-49.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="380" y="-30.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="467" y="-30.8" font-family="arial" font-size="14.00">Shield</text>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-20 620.5,-20 "/>
|
||||
<text text-anchor="start" x="392" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge"><title>X1:p1r:e--W1:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-105.5C278.383,-105.534 294.355,-108.534 358,-108.5"/>
|
||||
<path fill="none" stroke="#a52a2a" stroke-width="2" d="M214,-107.5C278.014,-107.5 293.986,-110.5 358,-110.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-109.5C277.645,-109.466 293.617,-112.466 358,-112.5"/>
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-136C270.38,-136.03 286.36,-139.03 350,-139"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M206,-138C270.01,-138 285.99,-141 350,-141"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-140C269.64,-139.97 285.62,-142.97 350,-143"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge"><title>X1:p2r:e--W1:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-81.5C278.254,-81.5155 294.242,-83.5155 358,-83.5"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M214,-83.5C278.006,-83.5 293.994,-85.5 358,-85.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-85.5C277.758,-85.4845 293.746,-87.4845 358,-87.5"/>
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-112C270.25,-112.02 286.24,-114.02 350,-114"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-114C270.01,-114 285.99,-116 350,-116"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-116C269.76,-115.98 285.75,-117.98 350,-118"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge"><title>X1:p3r:e--W1:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-58.5C278,-58.5 294,-58.5 358,-58.5"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M214,-60.5C278,-60.5 294,-60.5 358,-60.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-62.5C278,-62.5 294,-62.5 358,-62.5"/>
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-89C270,-89 286,-89 350,-89"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M206,-91C270,-91 286,-91 350,-91"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-93C270,-93 286,-93 350,-93"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge"><title>X1:p4r:e--W1:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-35.5C277.758,-35.5155 293.746,-33.5155 358,-33.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M214,-37.5C278.006,-37.5 293.994,-35.5 358,-35.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-39.5C278.254,-39.4845 294.242,-37.4845 358,-37.5"/>
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-66C269.76,-66.02 285.75,-64.02 350,-64"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-68C270.01,-68 285.99,-66 350,-66"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-70C270.25,-69.98 286.24,-67.98 350,-68"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge9" class="edge"><title>X1:p1r:e--W1:ws:w</title>
|
||||
<path fill="none" stroke="#aaaaaa" stroke-width="2" d="M214,-106.5C291.18,-107.621 278.834,-6.62133 358,-5.5"/>
|
||||
<path fill="none" stroke="#84878c" stroke-width="2" d="M214,-108.5C293.166,-107.379 280.82,-6.37867 358,-7.5"/>
|
||||
<g id="edge9" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-138C288.18,-138 267.82,-22 350,-22"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node"><title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="739,-28.5 739,-166.5 953,-166.5 953,-28.5 739,-28.5"/>
|
||||
<text text-anchor="middle" x="846" y="-151.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="739,-143.5 953,-143.5 "/>
|
||||
<text text-anchor="middle" x="792" y="-128.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="845,-120.5 845,-143.5 "/>
|
||||
<text text-anchor="middle" x="875" y="-128.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="905,-120.5 905,-143.5 "/>
|
||||
<text text-anchor="middle" x="929" y="-128.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="739,-120.5 953,-120.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-105.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="739,-97.5 834,-97.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-82.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="739,-74.5 834,-74.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-59.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="739,-51.5 834,-51.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-36.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="834,-28.5 834,-120.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-105.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="834,-97.5 953,-97.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-82.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="834,-74.5 953,-74.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-59.3" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="834,-51.5 953,-51.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-36.3" font-family="arial" font-size="14.00">TX</text>
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="765,-59 765,-197 971,-197 971,-59 765,-59"/>
|
||||
<text text-anchor="middle" x="868" y="-181.8" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="765,-174 971,-174 "/>
|
||||
<text text-anchor="middle" x="815.5" y="-158.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="866,-151 866,-174 "/>
|
||||
<text text-anchor="middle" x="895" y="-158.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="924,-151 924,-174 "/>
|
||||
<text text-anchor="middle" x="947.5" y="-158.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="765,-151 971,-151 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-135.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="765,-128 856,-128 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-112.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="765,-105 856,-105 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-89.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="765,-82 856,-82 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-66.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="856,-59 856,-151 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-135.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="856,-128 971,-128 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-112.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="856,-105 971,-105 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-89.8" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="856,-82 971,-82 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-66.8" font-family="arial" font-size="14.00">TX</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge"><title>W1:w1:e--X2:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-108.5C658.877,-108.504 674.874,-107.504 739,-107.5"/>
|
||||
<path fill="none" stroke="#a52a2a" stroke-width="2" d="M595,-110.5C659.002,-110.5 674.998,-109.5 739,-109.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-112.5C659.126,-112.496 675.123,-111.496 739,-111.5"/>
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-139C684.88,-139 700.87,-138 765,-138"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M621,-141C685,-141 701,-140 765,-140"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-143C685.13,-143 701.12,-142 765,-142"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge"><title>W1:w2:e--X2:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-83.5C659,-83.5 675,-83.5 739,-83.5"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M595,-85.5C659,-85.5 675,-85.5 739,-85.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-87.5C659,-87.5 675,-87.5 739,-87.5"/>
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-114C685,-114 701,-114 765,-114"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M621,-116C685,-116 701,-116 765,-116"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-118C685,-118 701,-118 765,-118"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge"><title>W1:w3:e--X2:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-58.5C658.037,-59.3559 672.683,-38.3559 739,-37.5"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M595,-60.5C659.677,-60.5 674.323,-39.5 739,-39.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-62.5C661.317,-61.6441 675.963,-40.6441 739,-41.5"/>
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-89C684.04,-89.86 698.68,-68.86 765,-68"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M621,-91C685.68,-91 700.32,-70 765,-70"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-93C687.32,-92.14 701.96,-71.14 765,-72"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge"><title>W1:w4:e--X2:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-33.5C661.897,-34.5914 675.666,-61.5914 739,-60.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M595,-35.5C660.115,-35.5 673.885,-62.5 739,-62.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-37.5C658.334,-36.4086 672.103,-63.4086 739,-64.5"/>
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-64C687.9,-65.09 701.67,-92.09 765,-91"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M621,-66C686.12,-66 699.88,-93 765,-93"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-68C684.33,-66.91 698.1,-93.91 765,-95"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Cable, 4 x 0.25 mm² shielded</td><td align="right" style="border:1px solid #000000; padding: 4px">0.2</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td></tr></table></body></html>
|
||||
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Cable, Serial, 4 x 0.25 mm² shielded</td><td align="right" style="border:1px solid #000000; padding: 4px">0.2</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td></tr></table></body></html>
|
||||
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 43 KiB |
@ -1,168 +1,176 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="961pt" height="187pt"
|
||||
viewBox="0.00 0.00 961.00 187.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 183)">
|
||||
<title>%3</title>
|
||||
<polygon fill="#fffbf8" stroke="none" points="-4,4 -4,-183 957,-183 957,4 -4,4"/>
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="979pt" height="232pt"
|
||||
viewBox="0.00 0.00 979.00 232.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 228)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-228 975,-228 975,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node"><title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-26.5 0,-164.5 214,-164.5 214,-26.5 0,-26.5"/>
|
||||
<text text-anchor="middle" x="107" y="-149.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-141.5 214,-141.5 "/>
|
||||
<text text-anchor="middle" x="53" y="-126.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="106,-118.5 106,-141.5 "/>
|
||||
<text text-anchor="middle" x="136" y="-126.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="166,-118.5 166,-141.5 "/>
|
||||
<text text-anchor="middle" x="190" y="-126.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-118.5 214,-118.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-103.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-95.5 118,-95.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-80.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-72.5 118,-72.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-57.3" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="0,-49.5 118,-49.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-34.3" font-family="arial" font-size="14.00">TX</text>
|
||||
<polyline fill="none" stroke="black" points="118,-26.5 118,-118.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-103.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="118,-95.5 214,-95.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-80.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="118,-72.5 214,-72.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-57.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="118,-49.5 214,-49.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-34.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-57 0,-195 206,-195 206,-57 0,-57"/>
|
||||
<text text-anchor="middle" x="103" y="-179.8" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-172 206,-172 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-156.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-149 101,-172 "/>
|
||||
<text text-anchor="middle" x="130" y="-156.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-149 159,-172 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-156.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-149 206,-149 "/>
|
||||
<text text-anchor="middle" x="57" y="-133.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-126 114,-126 "/>
|
||||
<text text-anchor="middle" x="57" y="-110.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-103 114,-103 "/>
|
||||
<text text-anchor="middle" x="57" y="-87.8" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="0,-80 114,-80 "/>
|
||||
<text text-anchor="middle" x="57" y="-64.8" font-family="arial" font-size="14.00">TX</text>
|
||||
<polyline fill="none" stroke="black" points="114,-57 114,-149 "/>
|
||||
<text text-anchor="middle" x="160" y="-133.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="114,-126 206,-126 "/>
|
||||
<text text-anchor="middle" x="160" y="-110.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="114,-103 206,-103 "/>
|
||||
<text text-anchor="middle" x="160" y="-87.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="114,-80 206,-80 "/>
|
||||
<text text-anchor="middle" x="160" y="-64.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node3" class="node"><title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="595,-179 358,-179 358,-0 595,-0 595,-179"/>
|
||||
<polygon fill="none" stroke="black" points="358.5,-155.5 358.5,-178.5 595.5,-178.5 595.5,-155.5 358.5,-155.5"/>
|
||||
<text text-anchor="start" x="465.5" y="-163.3" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="358.5,-132.5 358.5,-155.5 382.5,-155.5 382.5,-132.5 358.5,-132.5"/>
|
||||
<text text-anchor="start" x="362.5" y="-140.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="382.5,-132.5 382.5,-155.5 520.5,-155.5 520.5,-132.5 382.5,-132.5"/>
|
||||
<text text-anchor="start" x="386.5" y="-140.3" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
|
||||
<polygon fill="none" stroke="black" points="520.5,-132.5 520.5,-155.5 550.5,-155.5 550.5,-132.5 520.5,-132.5"/>
|
||||
<text text-anchor="start" x="524.5" y="-140.3" font-family="arial" font-size="14.00">+ S</text>
|
||||
<polygon fill="none" stroke="black" points="550.5,-132.5 550.5,-155.5 595.5,-155.5 595.5,-132.5 550.5,-132.5"/>
|
||||
<text text-anchor="start" x="554.5" y="-140.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="381" y="-119.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="467" y="-119.3" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="542" y="-119.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-111.5 358.5,-113.5 595.5,-113.5 595.5,-111.5 358.5,-111.5"/>
|
||||
<polygon fill="#a52a2a" stroke="none" points="358.5,-109.5 358.5,-111.5 595.5,-111.5 595.5,-109.5 358.5,-109.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-107.5 358.5,-109.5 595.5,-109.5 595.5,-107.5 358.5,-107.5"/>
|
||||
<text text-anchor="start" x="381" y="-94.3" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="466" y="-94.3" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="542" y="-94.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-86.5 358.5,-88.5 595.5,-88.5 595.5,-86.5 358.5,-86.5"/>
|
||||
<polygon fill="#ff0000" stroke="none" points="358.5,-84.5 358.5,-86.5 595.5,-86.5 595.5,-84.5 358.5,-84.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-82.5 358.5,-84.5 595.5,-84.5 595.5,-82.5 358.5,-82.5"/>
|
||||
<text text-anchor="start" x="381" y="-69.3" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="465.5" y="-69.3" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="542" y="-69.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-61.5 358.5,-63.5 595.5,-63.5 595.5,-61.5 358.5,-61.5"/>
|
||||
<polygon fill="#ff8000" stroke="none" points="358.5,-59.5 358.5,-61.5 595.5,-61.5 595.5,-59.5 358.5,-59.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-57.5 358.5,-59.5 595.5,-59.5 595.5,-57.5 358.5,-57.5"/>
|
||||
<text text-anchor="start" x="381" y="-44.3" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="467.5" y="-44.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="542" y="-44.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-36.5 358.5,-38.5 595.5,-38.5 595.5,-36.5 358.5,-36.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="358.5,-34.5 358.5,-36.5 595.5,-36.5 595.5,-34.5 358.5,-34.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358.5,-32.5 358.5,-34.5 595.5,-34.5 595.5,-32.5 358.5,-32.5"/>
|
||||
<text text-anchor="start" x="381" y="-15.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="457" y="-15.3" font-family="arial" font-size="14.00">Shield</text>
|
||||
<defs>
|
||||
<linearGradient id="l_0" gradientUnits="userSpaceOnUse" x1="358.5" y1="-6.5" x2="595.5" y2="-6.5" >
|
||||
<stop offset="0" style="stop-color:#aaaaaa;stop-opacity:1.;"/>
|
||||
<stop offset="1" style="stop-color:#84878c;stop-opacity:1.;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<polygon fill="url(#l_0)" stroke="none" points="358.5,-3.5 358.5,-9.5 595.5,-9.5 595.5,-3.5 358.5,-3.5"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="359.5,-4.5 594.5,-4.5 "/>
|
||||
<g id="node3" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="621,-224 350,-224 350,0 621,0 621,-224"/>
|
||||
<polygon fill="none" stroke="black" points="350.5,-201 350.5,-224 621.5,-224 621.5,-201 350.5,-201"/>
|
||||
<text text-anchor="start" x="475" y="-208.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350.5,-178 350.5,-201 393.5,-201 393.5,-178 350.5,-178"/>
|
||||
<text text-anchor="start" x="354.5" y="-185.8" font-family="arial" font-size="14.00">Serial</text>
|
||||
<polygon fill="none" stroke="black" points="393.5,-178 393.5,-201 416.5,-201 416.5,-178 393.5,-178"/>
|
||||
<text text-anchor="start" x="397.5" y="-185.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="416.5,-178 416.5,-201 548.5,-201 548.5,-178 416.5,-178"/>
|
||||
<text text-anchor="start" x="420.5" y="-185.8" font-family="arial" font-size="14.00">0.25 mm² (24 AWG)</text>
|
||||
<polygon fill="none" stroke="black" points="548.5,-178 548.5,-201 578.5,-201 578.5,-178 548.5,-178"/>
|
||||
<text text-anchor="start" x="552.5" y="-185.8" font-family="arial" font-size="14.00">+ S</text>
|
||||
<polygon fill="none" stroke="black" points="578.5,-178 578.5,-201 621.5,-201 621.5,-178 578.5,-178"/>
|
||||
<text text-anchor="start" x="582.5" y="-185.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="484" y="-166.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="380" y="-149.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="476.5" y="-149.8" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="564" y="-149.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#666600" stroke="transparent" points="350.5,-138 350.5,-144 621.5,-144 621.5,-138 350.5,-138"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-139 620.5,-139 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-143 351.5,-143 "/>
|
||||
<text text-anchor="start" x="380" y="-124.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="476" y="-124.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="564" y="-124.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" stroke-width="2" points="350.5,-113 350.5,-119 621.5,-119 621.5,-113 350.5,-113"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-114 620.5,-114 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-118 351.5,-118 "/>
|
||||
<text text-anchor="start" x="380" y="-99.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="474.5" y="-99.8" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="564" y="-99.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#ff8000" stroke="transparent" stroke-width="2" points="350.5,-88 350.5,-94 621.5,-94 621.5,-88 350.5,-88"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-89 620.5,-89 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-93 351.5,-93 "/>
|
||||
<text text-anchor="start" x="380" y="-74.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="476.5" y="-74.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="564" y="-74.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350.5,-63 350.5,-69 621.5,-69 621.5,-63 350.5,-63"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-64 620.5,-64 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="620.5,-68 351.5,-68 "/>
|
||||
<text text-anchor="start" x="392" y="-49.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="380" y="-30.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="467" y="-30.8" font-family="arial" font-size="14.00">Shield</text>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-20 620.5,-20 "/>
|
||||
<text text-anchor="start" x="392" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge"><title>X1:p1r:e--W1:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-105.5C278.383,-105.534 294.355,-108.534 358,-108.5"/>
|
||||
<path fill="none" stroke="#a52a2a" stroke-width="2" d="M214,-107.5C278.014,-107.5 293.986,-110.5 358,-110.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-109.5C277.645,-109.466 293.617,-112.466 358,-112.5"/>
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-136C270.38,-136.03 286.36,-139.03 350,-139"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M206,-138C270.01,-138 285.99,-141 350,-141"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-140C269.64,-139.97 285.62,-142.97 350,-143"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge"><title>X1:p2r:e--W1:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-81.5C278.254,-81.5155 294.242,-83.5155 358,-83.5"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M214,-83.5C278.006,-83.5 293.994,-85.5 358,-85.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-85.5C277.758,-85.4845 293.746,-87.4845 358,-87.5"/>
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-112C270.25,-112.02 286.24,-114.02 350,-114"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-114C270.01,-114 285.99,-116 350,-116"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-116C269.76,-115.98 285.75,-117.98 350,-118"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge"><title>X1:p3r:e--W1:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-58.5C278,-58.5 294,-58.5 358,-58.5"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M214,-60.5C278,-60.5 294,-60.5 358,-60.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-62.5C278,-62.5 294,-62.5 358,-62.5"/>
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-89C270,-89 286,-89 350,-89"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M206,-91C270,-91 286,-91 350,-91"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-93C270,-93 286,-93 350,-93"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge"><title>X1:p4r:e--W1:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-35.5C277.758,-35.5155 293.746,-33.5155 358,-33.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M214,-37.5C278.006,-37.5 293.994,-35.5 358,-35.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-39.5C278.254,-39.4845 294.242,-37.4845 358,-37.5"/>
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-66C269.76,-66.02 285.75,-64.02 350,-64"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-68C270.01,-68 285.99,-66 350,-66"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-70C270.25,-69.98 286.24,-67.98 350,-68"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge9" class="edge"><title>X1:p1r:e--W1:ws:w</title>
|
||||
<path fill="none" stroke="#aaaaaa" stroke-width="2" d="M214,-106.5C291.18,-107.621 278.834,-6.62133 358,-5.5"/>
|
||||
<path fill="none" stroke="#84878c" stroke-width="2" d="M214,-108.5C293.166,-107.379 280.82,-6.37867 358,-7.5"/>
|
||||
<g id="edge9" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-138C288.18,-138 267.82,-22 350,-22"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node"><title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="739,-28.5 739,-166.5 953,-166.5 953,-28.5 739,-28.5"/>
|
||||
<text text-anchor="middle" x="846" y="-151.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="739,-143.5 953,-143.5 "/>
|
||||
<text text-anchor="middle" x="792" y="-128.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="845,-120.5 845,-143.5 "/>
|
||||
<text text-anchor="middle" x="875" y="-128.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="905,-120.5 905,-143.5 "/>
|
||||
<text text-anchor="middle" x="929" y="-128.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="739,-120.5 953,-120.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-105.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="739,-97.5 834,-97.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-82.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="739,-74.5 834,-74.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-59.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="739,-51.5 834,-51.5 "/>
|
||||
<text text-anchor="middle" x="786.5" y="-36.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="834,-28.5 834,-120.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-105.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="834,-97.5 953,-97.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-82.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="834,-74.5 953,-74.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-59.3" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="834,-51.5 953,-51.5 "/>
|
||||
<text text-anchor="middle" x="893.5" y="-36.3" font-family="arial" font-size="14.00">TX</text>
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="765,-59 765,-197 971,-197 971,-59 765,-59"/>
|
||||
<text text-anchor="middle" x="868" y="-181.8" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="765,-174 971,-174 "/>
|
||||
<text text-anchor="middle" x="815.5" y="-158.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="866,-151 866,-174 "/>
|
||||
<text text-anchor="middle" x="895" y="-158.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="924,-151 924,-174 "/>
|
||||
<text text-anchor="middle" x="947.5" y="-158.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="765,-151 971,-151 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-135.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="765,-128 856,-128 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-112.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="765,-105 856,-105 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-89.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="765,-82 856,-82 "/>
|
||||
<text text-anchor="middle" x="810.5" y="-66.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="856,-59 856,-151 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-135.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="856,-128 971,-128 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-112.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="856,-105 971,-105 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-89.8" font-family="arial" font-size="14.00">RX</text>
|
||||
<polyline fill="none" stroke="black" points="856,-82 971,-82 "/>
|
||||
<text text-anchor="middle" x="913.5" y="-66.8" font-family="arial" font-size="14.00">TX</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge"><title>W1:w1:e--X2:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-108.5C658.877,-108.504 674.874,-107.504 739,-107.5"/>
|
||||
<path fill="none" stroke="#a52a2a" stroke-width="2" d="M595,-110.5C659.002,-110.5 674.998,-109.5 739,-109.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-112.5C659.126,-112.496 675.123,-111.496 739,-111.5"/>
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-139C684.88,-139 700.87,-138 765,-138"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M621,-141C685,-141 701,-140 765,-140"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-143C685.13,-143 701.12,-142 765,-142"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge"><title>W1:w2:e--X2:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-83.5C659,-83.5 675,-83.5 739,-83.5"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M595,-85.5C659,-85.5 675,-85.5 739,-85.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-87.5C659,-87.5 675,-87.5 739,-87.5"/>
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-114C685,-114 701,-114 765,-114"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M621,-116C685,-116 701,-116 765,-116"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-118C685,-118 701,-118 765,-118"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge"><title>W1:w3:e--X2:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-58.5C658.037,-59.3559 672.683,-38.3559 739,-37.5"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M595,-60.5C659.677,-60.5 674.323,-39.5 739,-39.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-62.5C661.317,-61.6441 675.963,-40.6441 739,-41.5"/>
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-89C684.04,-89.86 698.68,-68.86 765,-68"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M621,-91C685.68,-91 700.32,-70 765,-70"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-93C687.32,-92.14 701.96,-71.14 765,-72"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge"><title>W1:w4:e--X2:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-33.5C661.897,-34.5914 675.666,-61.5914 739,-60.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M595,-35.5C660.115,-35.5 673.885,-62.5 739,-62.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M595,-37.5C658.334,-36.4086 672.103,-63.4086 739,-64.5"/>
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-64C687.9,-65.09 701.67,-92.09 765,-91"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M621,-66C686.12,-66 699.88,-93 765,-93"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M621,-68C684.33,-66.91 698.1,-93.91 765,-95"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -16,6 +16,7 @@ cables:
|
||||
show_equiv: true # auto-calculate AWG equivalent from metric gauge
|
||||
length: 0.2 # length in m
|
||||
shield: true
|
||||
type: Serial
|
||||
|
||||
connections:
|
||||
-
|
||||
|
||||
@ -1,13 +1,3 @@
|
||||
# connectors:
|
||||
# X1:
|
||||
# type: D-Sub
|
||||
# subtype: female
|
||||
# pincount: 4
|
||||
# X2:
|
||||
# type: Molex KK 254
|
||||
# subtype: female
|
||||
# pincount: 3
|
||||
|
||||
cables:
|
||||
W1:
|
||||
gauge: 0.25 mm2
|
||||
@ -17,8 +7,10 @@ cables:
|
||||
wirecount: 6
|
||||
category: bundle
|
||||
|
||||
ferrules:
|
||||
connectors:
|
||||
ferrule_crimp:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Crimp ferrule
|
||||
show_name: false
|
||||
show_pincount: false
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
graph {
|
||||
// Graph generated by WireViz
|
||||
// https://github.com/formatc1702/WireViz
|
||||
graph [bgcolor="#fffbf8" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
|
||||
graph [bgcolor=white fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
|
||||
node [fillcolor=white fontname=arial shape=record style=filled]
|
||||
edge [fontname=arial style=bold]
|
||||
X1 [label="X1|{Molex KK 254|female|4-pin}|{{GND|VCC|SCL|SDA}|{<p1r>1|<p2r>2|<p3r>3|<p4r>4}}"]
|
||||
@ -19,7 +19,7 @@ graph {
|
||||
edge [color="#000000:#8000ff:#000000"]
|
||||
X1:p4r:e -- W1:w4:w
|
||||
W1:w4:e -- X2:p4l:w
|
||||
W1 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="3">W1</td></tr><tr><td>4x</td><td>0.25 mm²</td><td>0.2 m</td></tr></table></td></tr><tr><td></td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>PK</td><td>X2:1</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:2</td><td>TQ</td><td>X2:2</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:3</td><td>YE</td><td>X2:3</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X1:4</td><td>VT</td><td>X2:4</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td></td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style="filled,dashed"]
|
||||
W1 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="4">W1</td></tr><tr><td>I2C</td><td>4x</td><td>0.25 mm²</td><td>0.2 m</td></tr></table></td></tr><tr><td> </td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>PK</td><td>X2:1</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff66cc" border="2" sides="tb" port="w1"></td></tr><tr><td>X1:2</td><td>TQ</td><td>X2:2</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#00ffff" border="2" sides="tb" port="w2"></td></tr><tr><td>X1:3</td><td>YE</td><td>X2:3</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ffff00" border="2" sides="tb" port="w3"></td></tr><tr><td>X1:4</td><td>VT</td><td>X2:4</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#8000ff" border="2" sides="tb" port="w4"></td></tr><tr><td> </td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style="filled,dashed"]
|
||||
edge [color="#000000:#ff66cc:#000000"]
|
||||
X2:p1r:e -- W2:w1:w
|
||||
W2:w1:e -- X3:p1l:w
|
||||
@ -32,5 +32,5 @@ graph {
|
||||
edge [color="#000000:#8000ff:#000000"]
|
||||
X2:p4r:e -- W2:w4:w
|
||||
W2:w4:e -- X3:p4l:w
|
||||
W2 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="3">W2</td></tr><tr><td>4x</td><td>0.25 mm²</td><td>0.2 m</td></tr></table></td></tr><tr><td></td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X2:1</td><td>PK</td><td>X3:1</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w1" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ff66cc" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X2:2</td><td>TQ</td><td>X3:2</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w2" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#00ffff" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X2:3</td><td>YE</td><td>X3:3</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w3" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#ffff00" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td>X2:4</td><td>VT</td><td>X3:4</td></tr><tr><td colspan="3" border="0" cellspacing="0" cellpadding="0" port="w4" height="6"><table cellspacing="0" cellborder="0" border = "0"><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#8000ff" border="0"></td></tr><tr><td colspan="3" cellpadding="0" height="2" bgcolor="#000000" border="0"></td></tr></table></td></tr><tr><td></td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style="filled,dashed"]
|
||||
W2 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="4">W2</td></tr><tr><td>I2C</td><td>4x</td><td>0.25 mm²</td><td>0.2 m</td></tr></table></td></tr><tr><td> </td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X2:1</td><td>PK</td><td>X3:1</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff66cc" border="2" sides="tb" port="w1"></td></tr><tr><td>X2:2</td><td>TQ</td><td>X3:2</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#00ffff" border="2" sides="tb" port="w2"></td></tr><tr><td>X2:3</td><td>YE</td><td>X3:3</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ffff00" border="2" sides="tb" port="w3"></td></tr><tr><td>X2:4</td><td>VT</td><td>X3:4</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#8000ff" border="2" sides="tb" port="w4"></td></tr><tr><td> </td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style="filled,dashed"]
|
||||
}
|
||||
|
||||
@ -1,271 +1,299 @@
|
||||
<html><body style="font-family:Arial"><h1>Diagram</h1><?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="1502pt" height="160pt"
|
||||
viewBox="0.00 0.00 1502.00 159.50" 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 155.5)">
|
||||
<title>%3</title>
|
||||
<polygon fill="#fffbf8" stroke="none" points="-4,4 -4,-155.5 1498,-155.5 1498,4 -4,4"/>
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="1528pt" height="188pt"
|
||||
viewBox="0.00 0.00 1528.00 188.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 184)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-184 1524,-184 1524,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node"><title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-138.5 214,-138.5 214,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="107" y="-123.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-115.5 214,-115.5 "/>
|
||||
<text text-anchor="middle" x="53" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="106,-92.5 106,-115.5 "/>
|
||||
<text text-anchor="middle" x="136" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="166,-92.5 166,-115.5 "/>
|
||||
<text text-anchor="middle" x="190" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-92.5 214,-92.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-69.5 118,-69.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-46.5 118,-46.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="0,-23.5 118,-23.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="118,-0.5 118,-92.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="118,-69.5 214,-69.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="118,-46.5 214,-46.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="118,-23.5 214,-23.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-14 0,-152 206,-152 206,-14 0,-14"/>
|
||||
<text text-anchor="middle" x="103" y="-136.8" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-129 206,-129 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-106 101,-129 "/>
|
||||
<text text-anchor="middle" x="130" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-106 159,-129 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-106 206,-106 "/>
|
||||
<text text-anchor="middle" x="57" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-83 114,-83 "/>
|
||||
<text text-anchor="middle" x="57" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-60 114,-60 "/>
|
||||
<text text-anchor="middle" x="57" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="0,-37 114,-37 "/>
|
||||
<text text-anchor="middle" x="57" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="114,-14 114,-106 "/>
|
||||
<text text-anchor="middle" x="160" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="114,-83 206,-83 "/>
|
||||
<text text-anchor="middle" x="160" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="114,-60 206,-60 "/>
|
||||
<text text-anchor="middle" x="160" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="114,-37 206,-37 "/>
|
||||
<text text-anchor="middle" x="160" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node4" class="node"><title>W1</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="496,-151.5 358,-151.5 358,-1.5 496,-1.5 496,-151.5"/>
|
||||
<polygon fill="none" stroke="black" points="358,-128.5 358,-151.5 496,-151.5 496,-128.5 358,-128.5"/>
|
||||
<text text-anchor="start" x="415.5" y="-136.3" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="358,-105.5 358,-128.5 382,-128.5 382,-105.5 358,-105.5"/>
|
||||
<text text-anchor="start" x="362" y="-113.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="382,-105.5 382,-128.5 451,-128.5 451,-105.5 382,-105.5"/>
|
||||
<text text-anchor="start" x="386" y="-113.3" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="451,-105.5 451,-128.5 496,-128.5 496,-105.5 451,-105.5"/>
|
||||
<text text-anchor="start" x="455" y="-113.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="367.5" y="-92.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="417.5" y="-92.3" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="456" y="-92.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-84.5 358,-86.5 496,-86.5 496,-84.5 358,-84.5"/>
|
||||
<polygon fill="#ff66cc" stroke="none" points="358,-82.5 358,-84.5 496,-84.5 496,-82.5 358,-82.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-80.5 358,-82.5 496,-82.5 496,-80.5 358,-80.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-67.3" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="417" y="-67.3" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="456" y="-67.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-59.5 358,-61.5 496,-61.5 496,-59.5 358,-59.5"/>
|
||||
<polygon fill="#00ffff" stroke="none" points="358,-57.5 358,-59.5 496,-59.5 496,-57.5 358,-57.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-55.5 358,-57.5 496,-57.5 496,-55.5 358,-55.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-42.3" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="418" y="-42.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="456" y="-42.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-34.5 358,-36.5 496,-36.5 496,-34.5 358,-34.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="358,-32.5 358,-34.5 496,-34.5 496,-32.5 358,-32.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-30.5 358,-32.5 496,-32.5 496,-30.5 358,-30.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-17.3" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="418" y="-17.3" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="456" y="-17.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-9.5 358,-11.5 496,-11.5 496,-9.5 358,-9.5"/>
|
||||
<polygon fill="#8000ff" stroke="none" points="358,-7.5 358,-9.5 496,-9.5 496,-7.5 358,-7.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-5.5 358,-7.5 496,-7.5 496,-5.5 358,-5.5"/>
|
||||
<g id="node4" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="513,-180 350,-180 350,0 513,0 513,-180"/>
|
||||
<polygon fill="none" stroke="black" points="350.5,-157 350.5,-180 513.5,-180 513.5,-157 350.5,-157"/>
|
||||
<text text-anchor="start" x="421" y="-164.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350.5,-134 350.5,-157 380.5,-157 380.5,-134 350.5,-134"/>
|
||||
<text text-anchor="start" x="354.5" y="-141.8" font-family="arial" font-size="14.00">I2C</text>
|
||||
<polygon fill="none" stroke="black" points="380.5,-134 380.5,-157 403.5,-157 403.5,-134 380.5,-134"/>
|
||||
<text text-anchor="start" x="384.5" y="-141.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="403.5,-134 403.5,-157 470.5,-157 470.5,-134 403.5,-134"/>
|
||||
<text text-anchor="start" x="407.5" y="-141.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="470.5,-134 470.5,-157 513.5,-157 513.5,-134 470.5,-134"/>
|
||||
<text text-anchor="start" x="474.5" y="-141.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="430" y="-122.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="365" y="-105.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="422.5" y="-105.8" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="471" y="-105.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#ff66cc" stroke="transparent" points="350.5,-94 350.5,-100 513.5,-100 513.5,-94 350.5,-94"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-95 512.5,-95 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-99 351.5,-99 "/>
|
||||
<text text-anchor="start" x="365" y="-80.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="422" y="-80.8" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="471" y="-80.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#00ffff" stroke="transparent" stroke-width="2" points="350.5,-69 350.5,-75 513.5,-75 513.5,-69 350.5,-69"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-70 512.5,-70 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-74 351.5,-74 "/>
|
||||
<text text-anchor="start" x="365" y="-55.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="422.5" y="-55.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="471" y="-55.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350.5,-44 350.5,-50 513.5,-50 513.5,-44 350.5,-44"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-45 512.5,-45 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-49 351.5,-49 "/>
|
||||
<text text-anchor="start" x="365" y="-30.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="423" y="-30.8" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="471" y="-30.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#8000ff" stroke="transparent" stroke-width="2" points="350.5,-19 350.5,-25 513.5,-25 513.5,-19 350.5,-19"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-20 512.5,-20 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-24 351.5,-24 "/>
|
||||
<text text-anchor="start" x="377" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge"><title>X1:p1r:e--W1:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-79.5C278.254,-79.5155 294.242,-81.5155 358,-81.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M214,-81.5C278.006,-81.5 293.994,-83.5 358,-83.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-83.5C277.758,-83.4845 293.746,-85.4845 358,-85.5"/>
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-93C270.25,-93.02 286.24,-95.02 350,-95"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M206,-95C270.01,-95 285.99,-97 350,-97"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-97C269.76,-96.98 285.75,-98.98 350,-99"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge"><title>X1:p2r:e--W1:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-55.5C278.126,-55.5039 294.123,-56.5039 358,-56.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M214,-57.5C278.002,-57.5 293.998,-58.5 358,-58.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-59.5C277.877,-59.4961 293.874,-60.4961 358,-60.5"/>
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-69C270.13,-69 286.12,-70 350,-70"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M206,-71C270,-71 286,-72 350,-72"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-73C269.88,-73 285.87,-74 350,-74"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge"><title>X1:p3r:e--W1:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-32.5C277.877,-32.5039 293.874,-31.5039 358,-31.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M214,-34.5C278.002,-34.5 293.998,-33.5 358,-33.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-36.5C278.126,-36.4961 294.123,-35.4961 358,-35.5"/>
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-46C269.88,-46 285.87,-45 350,-45"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-48C270,-48 286,-47 350,-47"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-50C270.13,-50 286.12,-49 350,-49"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge"><title>X1:p4r:e--W1:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-9.5C277.645,-9.53437 293.617,-6.53437 358,-6.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M214,-11.5C278.014,-11.5 293.986,-8.5 358,-8.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-13.5C278.383,-13.4656 294.355,-10.4656 358,-10.5"/>
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-23C269.64,-23.03 285.62,-20.03 350,-20"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M206,-25C270.01,-25 285.99,-22 350,-22"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-27C270.38,-26.97 286.36,-23.97 350,-24"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node"><title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="640,-0.5 640,-138.5 854,-138.5 854,-0.5 640,-0.5"/>
|
||||
<text text-anchor="middle" x="747" y="-123.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="640,-115.5 854,-115.5 "/>
|
||||
<text text-anchor="middle" x="693" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="746,-92.5 746,-115.5 "/>
|
||||
<text text-anchor="middle" x="776" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="806,-92.5 806,-115.5 "/>
|
||||
<text text-anchor="middle" x="830" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="640,-92.5 854,-92.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="640,-69.5 703,-69.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="640,-46.5 703,-46.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="640,-23.5 703,-23.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="703,-0.5 703,-92.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="703,-69.5 790,-69.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="703,-46.5 790,-46.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="703,-23.5 790,-23.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="790,-0.5 790,-92.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="790,-69.5 854,-69.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="790,-46.5 854,-46.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="790,-23.5 854,-23.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="657,-14 657,-152 863,-152 863,-14 657,-14"/>
|
||||
<text text-anchor="middle" x="760" y="-136.8" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="657,-129 863,-129 "/>
|
||||
<text text-anchor="middle" x="707.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="758,-106 758,-129 "/>
|
||||
<text text-anchor="middle" x="787" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="816,-106 816,-129 "/>
|
||||
<text text-anchor="middle" x="839.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="657,-106 863,-106 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="657,-83 718,-83 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="657,-60 718,-60 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="657,-37 718,-37 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="718,-14 718,-106 "/>
|
||||
<text text-anchor="middle" x="760" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="718,-83 802,-83 "/>
|
||||
<text text-anchor="middle" x="760" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="718,-60 802,-60 "/>
|
||||
<text text-anchor="middle" x="760" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="718,-37 802,-37 "/>
|
||||
<text text-anchor="middle" x="760" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="802,-14 802,-106 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="802,-83 863,-83 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="802,-60 863,-60 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="802,-37 863,-37 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W2 -->
|
||||
<g id="node5" class="node"><title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="1136,-151.5 998,-151.5 998,-1.5 1136,-1.5 1136,-151.5"/>
|
||||
<polygon fill="none" stroke="black" points="998,-128.5 998,-151.5 1136,-151.5 1136,-128.5 998,-128.5"/>
|
||||
<text text-anchor="start" x="1055.5" y="-136.3" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="998,-105.5 998,-128.5 1022,-128.5 1022,-105.5 998,-105.5"/>
|
||||
<text text-anchor="start" x="1002" y="-113.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="1022,-105.5 1022,-128.5 1091,-128.5 1091,-105.5 1022,-105.5"/>
|
||||
<text text-anchor="start" x="1026" y="-113.3" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="1091,-105.5 1091,-128.5 1136,-128.5 1136,-105.5 1091,-105.5"/>
|
||||
<text text-anchor="start" x="1095" y="-113.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="1007.5" y="-92.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<text text-anchor="start" x="1057.5" y="-92.3" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="1096" y="-92.3" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-84.5 998,-86.5 1136,-86.5 1136,-84.5 998,-84.5"/>
|
||||
<polygon fill="#ff66cc" stroke="none" points="998,-82.5 998,-84.5 1136,-84.5 1136,-82.5 998,-82.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-80.5 998,-82.5 1136,-82.5 1136,-80.5 998,-80.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-67.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<text text-anchor="start" x="1057" y="-67.3" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="1096" y="-67.3" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-59.5 998,-61.5 1136,-61.5 1136,-59.5 998,-59.5"/>
|
||||
<polygon fill="#00ffff" stroke="none" points="998,-57.5 998,-59.5 1136,-59.5 1136,-57.5 998,-57.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-55.5 998,-57.5 1136,-57.5 1136,-55.5 998,-55.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-42.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<text text-anchor="start" x="1058" y="-42.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="1096" y="-42.3" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-34.5 998,-36.5 1136,-36.5 1136,-34.5 998,-34.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="998,-32.5 998,-34.5 1136,-34.5 1136,-32.5 998,-32.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-30.5 998,-32.5 1136,-32.5 1136,-30.5 998,-30.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-17.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<text text-anchor="start" x="1058" y="-17.3" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="1096" y="-17.3" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-9.5 998,-11.5 1136,-11.5 1136,-9.5 998,-9.5"/>
|
||||
<polygon fill="#8000ff" stroke="none" points="998,-7.5 998,-9.5 1136,-9.5 1136,-7.5 998,-7.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-5.5 998,-7.5 1136,-7.5 1136,-5.5 998,-5.5"/>
|
||||
<g id="node5" class="node">
|
||||
<title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="1170,-180 1007,-180 1007,0 1170,0 1170,-180"/>
|
||||
<polygon fill="none" stroke="black" points="1007.5,-157 1007.5,-180 1170.5,-180 1170.5,-157 1007.5,-157"/>
|
||||
<text text-anchor="start" x="1078" y="-164.8" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="1007.5,-134 1007.5,-157 1037.5,-157 1037.5,-134 1007.5,-134"/>
|
||||
<text text-anchor="start" x="1011.5" y="-141.8" font-family="arial" font-size="14.00">I2C</text>
|
||||
<polygon fill="none" stroke="black" points="1037.5,-134 1037.5,-157 1060.5,-157 1060.5,-134 1037.5,-134"/>
|
||||
<text text-anchor="start" x="1041.5" y="-141.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="1060.5,-134 1060.5,-157 1127.5,-157 1127.5,-134 1060.5,-134"/>
|
||||
<text text-anchor="start" x="1064.5" y="-141.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="1127.5,-134 1127.5,-157 1170.5,-157 1170.5,-134 1127.5,-134"/>
|
||||
<text text-anchor="start" x="1131.5" y="-141.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="1087" y="-122.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="1022" y="-105.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<text text-anchor="start" x="1079.5" y="-105.8" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="1128" y="-105.8" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#ff66cc" stroke="transparent" points="1007.5,-94 1007.5,-100 1170.5,-100 1170.5,-94 1007.5,-94"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-95 1169.5,-95 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-99 1008.5,-99 "/>
|
||||
<text text-anchor="start" x="1022" y="-80.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<text text-anchor="start" x="1079" y="-80.8" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="1128" y="-80.8" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#00ffff" stroke="transparent" stroke-width="2" points="1007.5,-69 1007.5,-75 1170.5,-75 1170.5,-69 1007.5,-69"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-70 1169.5,-70 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-74 1008.5,-74 "/>
|
||||
<text text-anchor="start" x="1022" y="-55.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<text text-anchor="start" x="1079.5" y="-55.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="1128" y="-55.8" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="1007.5,-44 1007.5,-50 1170.5,-50 1170.5,-44 1007.5,-44"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-45 1169.5,-45 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-49 1008.5,-49 "/>
|
||||
<text text-anchor="start" x="1022" y="-30.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<text text-anchor="start" x="1080" y="-30.8" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="1128" y="-30.8" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#8000ff" stroke="transparent" stroke-width="2" points="1007.5,-19 1007.5,-25 1170.5,-25 1170.5,-19 1007.5,-19"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-20 1169.5,-20 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-24 1008.5,-24 "/>
|
||||
<text text-anchor="start" x="1034" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge9" class="edge"><title>X2:p1r:e--W2:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-79.5C918.254,-79.5155 934.242,-81.5155 998,-81.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M854,-81.5C918.006,-81.5 933.994,-83.5 998,-83.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-83.5C917.758,-83.4845 933.746,-85.4845 998,-85.5"/>
|
||||
<g id="edge9" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-93C927.25,-93.02 943.24,-95.02 1007,-95"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M863,-95C927.01,-95 942.99,-97 1007,-97"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-97C926.76,-96.98 942.75,-98.98 1007,-99"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge11" class="edge"><title>X2:p2r:e--W2:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-55.5C918.126,-55.5039 934.123,-56.5039 998,-56.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M854,-57.5C918.002,-57.5 933.998,-58.5 998,-58.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-59.5C917.877,-59.4961 933.874,-60.4961 998,-60.5"/>
|
||||
<g id="edge11" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-69C927.13,-69 943.12,-70 1007,-70"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M863,-71C927,-71 943,-72 1007,-72"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-73C926.88,-73 942.87,-74 1007,-74"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge13" class="edge"><title>X2:p3r:e--W2:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-32.5C917.877,-32.5039 933.874,-31.5039 998,-31.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M854,-34.5C918.002,-34.5 933.998,-33.5 998,-33.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-36.5C918.126,-36.4961 934.123,-35.4961 998,-35.5"/>
|
||||
<g id="edge13" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-46C926.88,-46 942.87,-45 1007,-45"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M863,-48C927,-48 943,-47 1007,-47"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-50C927.13,-50 943.12,-49 1007,-49"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge15" class="edge"><title>X2:p4r:e--W2:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-9.5C917.645,-9.53437 933.617,-6.53437 998,-6.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M854,-11.5C918.014,-11.5 933.986,-8.5 998,-8.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-13.5C918.383,-13.4656 934.355,-10.4656 998,-10.5"/>
|
||||
<g id="edge15" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-23C926.64,-23.03 942.62,-20.03 1007,-20"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M863,-25C927.01,-25 942.99,-22 1007,-22"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-27C927.38,-26.97 943.36,-23.97 1007,-24"/>
|
||||
</g>
|
||||
<!-- X3 -->
|
||||
<g id="node3" class="node"><title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="1280,-0.5 1280,-138.5 1494,-138.5 1494,-0.5 1280,-0.5"/>
|
||||
<text text-anchor="middle" x="1387" y="-123.3" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-115.5 1494,-115.5 "/>
|
||||
<text text-anchor="middle" x="1333" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="1386,-92.5 1386,-115.5 "/>
|
||||
<text text-anchor="middle" x="1416" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="1446,-92.5 1446,-115.5 "/>
|
||||
<text text-anchor="middle" x="1470" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-92.5 1494,-92.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-69.5 1375,-69.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-46.5 1375,-46.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-23.5 1375,-23.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-0.5 1375,-92.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-69.5 1494,-69.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-46.5 1494,-46.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-23.5 1494,-23.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<g id="node3" class="node">
|
||||
<title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="1314,-14 1314,-152 1520,-152 1520,-14 1314,-14"/>
|
||||
<text text-anchor="middle" x="1417" y="-136.8" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-129 1520,-129 "/>
|
||||
<text text-anchor="middle" x="1364.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="1415,-106 1415,-129 "/>
|
||||
<text text-anchor="middle" x="1444" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="1473,-106 1473,-129 "/>
|
||||
<text text-anchor="middle" x="1496.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-106 1520,-106 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-83 1405,-83 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-60 1405,-60 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-37 1405,-37 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-14 1405,-106 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-83 1520,-83 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-60 1520,-60 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-37 1520,-37 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge"><title>W1:w1:e--X2:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-81.5C559.758,-81.5155 575.746,-79.5155 640,-79.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M496,-83.5C560.006,-83.5 575.994,-81.5 640,-81.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-85.5C560.254,-85.4845 576.242,-83.4845 640,-83.5"/>
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-95C576.76,-95.02 592.75,-93.02 657,-93"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-97C577.01,-97 592.99,-95 657,-95"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-99C577.25,-98.98 593.24,-96.98 657,-97"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge"><title>W1:w2:e--X2:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-56.5C559.877,-56.5039 575.874,-55.5039 640,-55.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M496,-58.5C560.002,-58.5 575.998,-57.5 640,-57.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-60.5C560.126,-60.4961 576.123,-59.4961 640,-59.5"/>
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-70C576.88,-70 592.87,-69 657,-69"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-72C577,-72 593,-71 657,-71"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-74C577.13,-74 593.12,-73 657,-73"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge"><title>W1:w3:e--X2:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-31.5C560.126,-31.5039 576.123,-32.5039 640,-32.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M496,-33.5C560.002,-33.5 575.998,-34.5 640,-34.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-35.5C559.877,-35.4961 575.874,-36.4961 640,-36.5"/>
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-45C577.13,-45 593.12,-46 657,-46"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-47C577,-47 593,-48 657,-48"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-49C576.88,-49 592.87,-50 657,-50"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge"><title>W1:w4:e--X2:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-6.5C560.383,-6.53437 576.355,-9.53437 640,-9.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M496,-8.5C560.014,-8.5 575.986,-11.5 640,-11.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-10.5C559.645,-10.4656 575.617,-13.4656 640,-13.5"/>
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-20C577.38,-20.03 593.36,-23.03 657,-23"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-22C577.01,-22 592.99,-25 657,-25"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-24C576.64,-23.97 592.62,-26.97 657,-27"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge10" class="edge"><title>W2:w1:e--X3:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-81.5C1199.76,-81.5155 1215.75,-79.5155 1280,-79.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1136,-83.5C1200.01,-83.5 1215.99,-81.5 1280,-81.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-85.5C1200.25,-85.4845 1216.24,-83.4845 1280,-83.5"/>
|
||||
<g id="edge10" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-95C1233.76,-95.02 1249.75,-93.02 1314,-93"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1170,-97C1234.01,-97 1249.99,-95 1314,-95"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-99C1234.25,-98.98 1250.24,-96.98 1314,-97"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge12" class="edge"><title>W2:w2:e--X3:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-56.5C1199.88,-56.5039 1215.87,-55.5039 1280,-55.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1136,-58.5C1200,-58.5 1216,-57.5 1280,-57.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-60.5C1200.13,-60.4961 1216.12,-59.4961 1280,-59.5"/>
|
||||
<g id="edge12" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-70C1233.88,-70 1249.87,-69 1314,-69"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1170,-72C1234,-72 1250,-71 1314,-71"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-74C1234.13,-74 1250.12,-73 1314,-73"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge14" class="edge"><title>W2:w3:e--X3:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-31.5C1200.13,-31.5039 1216.12,-32.5039 1280,-32.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1136,-33.5C1200,-33.5 1216,-34.5 1280,-34.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-35.5C1199.88,-35.4961 1215.87,-36.4961 1280,-36.5"/>
|
||||
<g id="edge14" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-45C1234.13,-45 1250.12,-46 1314,-46"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1170,-47C1234,-47 1250,-48 1314,-48"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-49C1233.88,-49 1249.87,-50 1314,-50"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge16" class="edge"><title>W2:w4:e--X3:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-6.5C1200.38,-6.53437 1216.36,-9.53437 1280,-9.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1136,-8.5C1200.01,-8.5 1215.99,-11.5 1280,-11.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-10.5C1199.64,-10.4656 1215.62,-13.4656 1280,-13.5"/>
|
||||
<g id="edge16" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-20C1234.38,-20.03 1250.36,-23.03 1314,-23"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1170,-22C1234.01,-22 1249.99,-25 1314,-25"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-24C1233.64,-23.97 1249.62,-26.97 1314,-27"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">3</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X2, X3</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², PK</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², TQ</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², VT</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr></table></body></html>
|
||||
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">3</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X2, X3</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², PK</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², TQ</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², VT</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">0.4</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1, W2</td></tr></table></body></html>
|
||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
@ -1,270 +1,298 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="1502pt" height="160pt"
|
||||
viewBox="0.00 0.00 1502.00 159.50" 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 155.5)">
|
||||
<title>%3</title>
|
||||
<polygon fill="#fffbf8" stroke="none" points="-4,4 -4,-155.5 1498,-155.5 1498,4 -4,4"/>
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="1528pt" height="188pt"
|
||||
viewBox="0.00 0.00 1528.00 188.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 184)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-184 1524,-184 1524,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node"><title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-0.5 0,-138.5 214,-138.5 214,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="107" y="-123.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-115.5 214,-115.5 "/>
|
||||
<text text-anchor="middle" x="53" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="106,-92.5 106,-115.5 "/>
|
||||
<text text-anchor="middle" x="136" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="166,-92.5 166,-115.5 "/>
|
||||
<text text-anchor="middle" x="190" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-92.5 214,-92.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-69.5 118,-69.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-46.5 118,-46.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="0,-23.5 118,-23.5 "/>
|
||||
<text text-anchor="middle" x="59" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="118,-0.5 118,-92.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="118,-69.5 214,-69.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="118,-46.5 214,-46.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="118,-23.5 214,-23.5 "/>
|
||||
<text text-anchor="middle" x="166" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-14 0,-152 206,-152 206,-14 0,-14"/>
|
||||
<text text-anchor="middle" x="103" y="-136.8" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-129 206,-129 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-106 101,-129 "/>
|
||||
<text text-anchor="middle" x="130" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-106 159,-129 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-106 206,-106 "/>
|
||||
<text text-anchor="middle" x="57" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="0,-83 114,-83 "/>
|
||||
<text text-anchor="middle" x="57" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="0,-60 114,-60 "/>
|
||||
<text text-anchor="middle" x="57" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="0,-37 114,-37 "/>
|
||||
<text text-anchor="middle" x="57" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="114,-14 114,-106 "/>
|
||||
<text text-anchor="middle" x="160" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="114,-83 206,-83 "/>
|
||||
<text text-anchor="middle" x="160" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="114,-60 206,-60 "/>
|
||||
<text text-anchor="middle" x="160" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="114,-37 206,-37 "/>
|
||||
<text text-anchor="middle" x="160" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node4" class="node"><title>W1</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="496,-151.5 358,-151.5 358,-1.5 496,-1.5 496,-151.5"/>
|
||||
<polygon fill="none" stroke="black" points="358,-128.5 358,-151.5 496,-151.5 496,-128.5 358,-128.5"/>
|
||||
<text text-anchor="start" x="415.5" y="-136.3" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="358,-105.5 358,-128.5 382,-128.5 382,-105.5 358,-105.5"/>
|
||||
<text text-anchor="start" x="362" y="-113.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="382,-105.5 382,-128.5 451,-128.5 451,-105.5 382,-105.5"/>
|
||||
<text text-anchor="start" x="386" y="-113.3" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="451,-105.5 451,-128.5 496,-128.5 496,-105.5 451,-105.5"/>
|
||||
<text text-anchor="start" x="455" y="-113.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="367.5" y="-92.3" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="417.5" y="-92.3" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="456" y="-92.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-84.5 358,-86.5 496,-86.5 496,-84.5 358,-84.5"/>
|
||||
<polygon fill="#ff66cc" stroke="none" points="358,-82.5 358,-84.5 496,-84.5 496,-82.5 358,-82.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-80.5 358,-82.5 496,-82.5 496,-80.5 358,-80.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-67.3" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="417" y="-67.3" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="456" y="-67.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-59.5 358,-61.5 496,-61.5 496,-59.5 358,-59.5"/>
|
||||
<polygon fill="#00ffff" stroke="none" points="358,-57.5 358,-59.5 496,-59.5 496,-57.5 358,-57.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-55.5 358,-57.5 496,-57.5 496,-55.5 358,-55.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-42.3" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="418" y="-42.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="456" y="-42.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-34.5 358,-36.5 496,-36.5 496,-34.5 358,-34.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="358,-32.5 358,-34.5 496,-34.5 496,-32.5 358,-32.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-30.5 358,-32.5 496,-32.5 496,-30.5 358,-30.5"/>
|
||||
<text text-anchor="start" x="367.5" y="-17.3" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="418" y="-17.3" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="456" y="-17.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="358,-9.5 358,-11.5 496,-11.5 496,-9.5 358,-9.5"/>
|
||||
<polygon fill="#8000ff" stroke="none" points="358,-7.5 358,-9.5 496,-9.5 496,-7.5 358,-7.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="358,-5.5 358,-7.5 496,-7.5 496,-5.5 358,-5.5"/>
|
||||
<g id="node4" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="513,-180 350,-180 350,0 513,0 513,-180"/>
|
||||
<polygon fill="none" stroke="black" points="350.5,-157 350.5,-180 513.5,-180 513.5,-157 350.5,-157"/>
|
||||
<text text-anchor="start" x="421" y="-164.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350.5,-134 350.5,-157 380.5,-157 380.5,-134 350.5,-134"/>
|
||||
<text text-anchor="start" x="354.5" y="-141.8" font-family="arial" font-size="14.00">I2C</text>
|
||||
<polygon fill="none" stroke="black" points="380.5,-134 380.5,-157 403.5,-157 403.5,-134 380.5,-134"/>
|
||||
<text text-anchor="start" x="384.5" y="-141.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="403.5,-134 403.5,-157 470.5,-157 470.5,-134 403.5,-134"/>
|
||||
<text text-anchor="start" x="407.5" y="-141.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="470.5,-134 470.5,-157 513.5,-157 513.5,-134 470.5,-134"/>
|
||||
<text text-anchor="start" x="474.5" y="-141.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="430" y="-122.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="365" y="-105.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="422.5" y="-105.8" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="471" y="-105.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#ff66cc" stroke="transparent" points="350.5,-94 350.5,-100 513.5,-100 513.5,-94 350.5,-94"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-95 512.5,-95 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-99 351.5,-99 "/>
|
||||
<text text-anchor="start" x="365" y="-80.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="422" y="-80.8" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="471" y="-80.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#00ffff" stroke="transparent" stroke-width="2" points="350.5,-69 350.5,-75 513.5,-75 513.5,-69 350.5,-69"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-70 512.5,-70 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-74 351.5,-74 "/>
|
||||
<text text-anchor="start" x="365" y="-55.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="422.5" y="-55.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="471" y="-55.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350.5,-44 350.5,-50 513.5,-50 513.5,-44 350.5,-44"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-45 512.5,-45 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-49 351.5,-49 "/>
|
||||
<text text-anchor="start" x="365" y="-30.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="423" y="-30.8" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="471" y="-30.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#8000ff" stroke="transparent" stroke-width="2" points="350.5,-19 350.5,-25 513.5,-25 513.5,-19 350.5,-19"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351.5,-20 512.5,-20 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="512.5,-24 351.5,-24 "/>
|
||||
<text text-anchor="start" x="377" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge"><title>X1:p1r:e--W1:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-79.5C278.254,-79.5155 294.242,-81.5155 358,-81.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M214,-81.5C278.006,-81.5 293.994,-83.5 358,-83.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-83.5C277.758,-83.4845 293.746,-85.4845 358,-85.5"/>
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-93C270.25,-93.02 286.24,-95.02 350,-95"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M206,-95C270.01,-95 285.99,-97 350,-97"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-97C269.76,-96.98 285.75,-98.98 350,-99"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge"><title>X1:p2r:e--W1:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-55.5C278.126,-55.5039 294.123,-56.5039 358,-56.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M214,-57.5C278.002,-57.5 293.998,-58.5 358,-58.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-59.5C277.877,-59.4961 293.874,-60.4961 358,-60.5"/>
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-69C270.13,-69 286.12,-70 350,-70"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M206,-71C270,-71 286,-72 350,-72"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-73C269.88,-73 285.87,-74 350,-74"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge"><title>X1:p3r:e--W1:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-32.5C277.877,-32.5039 293.874,-31.5039 358,-31.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M214,-34.5C278.002,-34.5 293.998,-33.5 358,-33.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-36.5C278.126,-36.4961 294.123,-35.4961 358,-35.5"/>
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-46C269.88,-46 285.87,-45 350,-45"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-48C270,-48 286,-47 350,-47"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-50C270.13,-50 286.12,-49 350,-49"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge"><title>X1:p4r:e--W1:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-9.5C277.645,-9.53437 293.617,-6.53437 358,-6.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M214,-11.5C278.014,-11.5 293.986,-8.5 358,-8.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M214,-13.5C278.383,-13.4656 294.355,-10.4656 358,-10.5"/>
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-23C269.64,-23.03 285.62,-20.03 350,-20"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M206,-25C270.01,-25 285.99,-22 350,-22"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-27C270.38,-26.97 286.36,-23.97 350,-24"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node"><title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="640,-0.5 640,-138.5 854,-138.5 854,-0.5 640,-0.5"/>
|
||||
<text text-anchor="middle" x="747" y="-123.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="640,-115.5 854,-115.5 "/>
|
||||
<text text-anchor="middle" x="693" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="746,-92.5 746,-115.5 "/>
|
||||
<text text-anchor="middle" x="776" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="806,-92.5 806,-115.5 "/>
|
||||
<text text-anchor="middle" x="830" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="640,-92.5 854,-92.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="640,-69.5 703,-69.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="640,-46.5 703,-46.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="640,-23.5 703,-23.5 "/>
|
||||
<text text-anchor="middle" x="671.5" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="703,-0.5 703,-92.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="703,-69.5 790,-69.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="703,-46.5 790,-46.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="703,-23.5 790,-23.5 "/>
|
||||
<text text-anchor="middle" x="746.5" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="790,-0.5 790,-92.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="790,-69.5 854,-69.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="790,-46.5 854,-46.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="790,-23.5 854,-23.5 "/>
|
||||
<text text-anchor="middle" x="822" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="657,-14 657,-152 863,-152 863,-14 657,-14"/>
|
||||
<text text-anchor="middle" x="760" y="-136.8" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="657,-129 863,-129 "/>
|
||||
<text text-anchor="middle" x="707.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="758,-106 758,-129 "/>
|
||||
<text text-anchor="middle" x="787" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="816,-106 816,-129 "/>
|
||||
<text text-anchor="middle" x="839.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="657,-106 863,-106 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="657,-83 718,-83 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="657,-60 718,-60 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="657,-37 718,-37 "/>
|
||||
<text text-anchor="middle" x="687.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="718,-14 718,-106 "/>
|
||||
<text text-anchor="middle" x="760" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="718,-83 802,-83 "/>
|
||||
<text text-anchor="middle" x="760" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="718,-60 802,-60 "/>
|
||||
<text text-anchor="middle" x="760" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="718,-37 802,-37 "/>
|
||||
<text text-anchor="middle" x="760" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
<polyline fill="none" stroke="black" points="802,-14 802,-106 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="802,-83 863,-83 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="802,-60 863,-60 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="802,-37 863,-37 "/>
|
||||
<text text-anchor="middle" x="832.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W2 -->
|
||||
<g id="node5" class="node"><title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="1136,-151.5 998,-151.5 998,-1.5 1136,-1.5 1136,-151.5"/>
|
||||
<polygon fill="none" stroke="black" points="998,-128.5 998,-151.5 1136,-151.5 1136,-128.5 998,-128.5"/>
|
||||
<text text-anchor="start" x="1055.5" y="-136.3" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="998,-105.5 998,-128.5 1022,-128.5 1022,-105.5 998,-105.5"/>
|
||||
<text text-anchor="start" x="1002" y="-113.3" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="1022,-105.5 1022,-128.5 1091,-128.5 1091,-105.5 1022,-105.5"/>
|
||||
<text text-anchor="start" x="1026" y="-113.3" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="1091,-105.5 1091,-128.5 1136,-128.5 1136,-105.5 1091,-105.5"/>
|
||||
<text text-anchor="start" x="1095" y="-113.3" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="1007.5" y="-92.3" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<text text-anchor="start" x="1057.5" y="-92.3" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="1096" y="-92.3" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-84.5 998,-86.5 1136,-86.5 1136,-84.5 998,-84.5"/>
|
||||
<polygon fill="#ff66cc" stroke="none" points="998,-82.5 998,-84.5 1136,-84.5 1136,-82.5 998,-82.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-80.5 998,-82.5 1136,-82.5 1136,-80.5 998,-80.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-67.3" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<text text-anchor="start" x="1057" y="-67.3" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="1096" y="-67.3" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-59.5 998,-61.5 1136,-61.5 1136,-59.5 998,-59.5"/>
|
||||
<polygon fill="#00ffff" stroke="none" points="998,-57.5 998,-59.5 1136,-59.5 1136,-57.5 998,-57.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-55.5 998,-57.5 1136,-57.5 1136,-55.5 998,-55.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-42.3" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<text text-anchor="start" x="1058" y="-42.3" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="1096" y="-42.3" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-34.5 998,-36.5 1136,-36.5 1136,-34.5 998,-34.5"/>
|
||||
<polygon fill="#ffff00" stroke="none" points="998,-32.5 998,-34.5 1136,-34.5 1136,-32.5 998,-32.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-30.5 998,-32.5 1136,-32.5 1136,-30.5 998,-30.5"/>
|
||||
<text text-anchor="start" x="1007.5" y="-17.3" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<text text-anchor="start" x="1058" y="-17.3" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="1096" y="-17.3" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#000000" stroke="none" points="998,-9.5 998,-11.5 1136,-11.5 1136,-9.5 998,-9.5"/>
|
||||
<polygon fill="#8000ff" stroke="none" points="998,-7.5 998,-9.5 1136,-9.5 1136,-7.5 998,-7.5"/>
|
||||
<polygon fill="#000000" stroke="none" points="998,-5.5 998,-7.5 1136,-7.5 1136,-5.5 998,-5.5"/>
|
||||
<g id="node5" class="node">
|
||||
<title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="1170,-180 1007,-180 1007,0 1170,0 1170,-180"/>
|
||||
<polygon fill="none" stroke="black" points="1007.5,-157 1007.5,-180 1170.5,-180 1170.5,-157 1007.5,-157"/>
|
||||
<text text-anchor="start" x="1078" y="-164.8" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="1007.5,-134 1007.5,-157 1037.5,-157 1037.5,-134 1007.5,-134"/>
|
||||
<text text-anchor="start" x="1011.5" y="-141.8" font-family="arial" font-size="14.00">I2C</text>
|
||||
<polygon fill="none" stroke="black" points="1037.5,-134 1037.5,-157 1060.5,-157 1060.5,-134 1037.5,-134"/>
|
||||
<text text-anchor="start" x="1041.5" y="-141.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="1060.5,-134 1060.5,-157 1127.5,-157 1127.5,-134 1060.5,-134"/>
|
||||
<text text-anchor="start" x="1064.5" y="-141.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="1127.5,-134 1127.5,-157 1170.5,-157 1170.5,-134 1127.5,-134"/>
|
||||
<text text-anchor="start" x="1131.5" y="-141.8" font-family="arial" font-size="14.00">0.2 m</text>
|
||||
<text text-anchor="start" x="1087" y="-122.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="1022" y="-105.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<text text-anchor="start" x="1079.5" y="-105.8" font-family="arial" font-size="14.00">PK</text>
|
||||
<text text-anchor="start" x="1128" y="-105.8" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#ff66cc" stroke="transparent" points="1007.5,-94 1007.5,-100 1170.5,-100 1170.5,-94 1007.5,-94"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-95 1169.5,-95 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-99 1008.5,-99 "/>
|
||||
<text text-anchor="start" x="1022" y="-80.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<text text-anchor="start" x="1079" y="-80.8" font-family="arial" font-size="14.00">TQ</text>
|
||||
<text text-anchor="start" x="1128" y="-80.8" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#00ffff" stroke="transparent" stroke-width="2" points="1007.5,-69 1007.5,-75 1170.5,-75 1170.5,-69 1007.5,-69"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-70 1169.5,-70 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-74 1008.5,-74 "/>
|
||||
<text text-anchor="start" x="1022" y="-55.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<text text-anchor="start" x="1079.5" y="-55.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="1128" y="-55.8" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="1007.5,-44 1007.5,-50 1170.5,-50 1170.5,-44 1007.5,-44"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-45 1169.5,-45 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-49 1008.5,-49 "/>
|
||||
<text text-anchor="start" x="1022" y="-30.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<text text-anchor="start" x="1080" y="-30.8" font-family="arial" font-size="14.00">VT</text>
|
||||
<text text-anchor="start" x="1128" y="-30.8" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#8000ff" stroke="transparent" stroke-width="2" points="1007.5,-19 1007.5,-25 1170.5,-25 1170.5,-19 1007.5,-19"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1008.5,-20 1169.5,-20 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="1169.5,-24 1008.5,-24 "/>
|
||||
<text text-anchor="start" x="1034" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge9" class="edge"><title>X2:p1r:e--W2:w1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-79.5C918.254,-79.5155 934.242,-81.5155 998,-81.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M854,-81.5C918.006,-81.5 933.994,-83.5 998,-83.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-83.5C917.758,-83.4845 933.746,-85.4845 998,-85.5"/>
|
||||
<g id="edge9" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-93C927.25,-93.02 943.24,-95.02 1007,-95"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M863,-95C927.01,-95 942.99,-97 1007,-97"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-97C926.76,-96.98 942.75,-98.98 1007,-99"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge11" class="edge"><title>X2:p2r:e--W2:w2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-55.5C918.126,-55.5039 934.123,-56.5039 998,-56.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M854,-57.5C918.002,-57.5 933.998,-58.5 998,-58.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-59.5C917.877,-59.4961 933.874,-60.4961 998,-60.5"/>
|
||||
<g id="edge11" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-69C927.13,-69 943.12,-70 1007,-70"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M863,-71C927,-71 943,-72 1007,-72"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-73C926.88,-73 942.87,-74 1007,-74"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge13" class="edge"><title>X2:p3r:e--W2:w3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-32.5C917.877,-32.5039 933.874,-31.5039 998,-31.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M854,-34.5C918.002,-34.5 933.998,-33.5 998,-33.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-36.5C918.126,-36.4961 934.123,-35.4961 998,-35.5"/>
|
||||
<g id="edge13" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-46C926.88,-46 942.87,-45 1007,-45"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M863,-48C927,-48 943,-47 1007,-47"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-50C927.13,-50 943.12,-49 1007,-49"/>
|
||||
</g>
|
||||
<!-- X2--W2 -->
|
||||
<g id="edge15" class="edge"><title>X2:p4r:e--W2:w4:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-9.5C917.645,-9.53437 933.617,-6.53437 998,-6.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M854,-11.5C918.014,-11.5 933.986,-8.5 998,-8.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M854,-13.5C918.383,-13.4656 934.355,-10.4656 998,-10.5"/>
|
||||
<g id="edge15" class="edge">
|
||||
<title>X2:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-23C926.64,-23.03 942.62,-20.03 1007,-20"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M863,-25C927.01,-25 942.99,-22 1007,-22"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M863,-27C927.38,-26.97 943.36,-23.97 1007,-24"/>
|
||||
</g>
|
||||
<!-- X3 -->
|
||||
<g id="node3" class="node"><title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="1280,-0.5 1280,-138.5 1494,-138.5 1494,-0.5 1280,-0.5"/>
|
||||
<text text-anchor="middle" x="1387" y="-123.3" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-115.5 1494,-115.5 "/>
|
||||
<text text-anchor="middle" x="1333" y="-100.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="1386,-92.5 1386,-115.5 "/>
|
||||
<text text-anchor="middle" x="1416" y="-100.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="1446,-92.5 1446,-115.5 "/>
|
||||
<text text-anchor="middle" x="1470" y="-100.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-92.5 1494,-92.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-77.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-69.5 1375,-69.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-54.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-46.5 1375,-46.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-31.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="1280,-23.5 1375,-23.5 "/>
|
||||
<text text-anchor="middle" x="1327.5" y="-8.3" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-0.5 1375,-92.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-77.3" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-69.5 1494,-69.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-54.3" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-46.5 1494,-46.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-31.3" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="1375,-23.5 1494,-23.5 "/>
|
||||
<text text-anchor="middle" x="1434.5" y="-8.3" font-family="arial" font-size="14.00">SDA</text>
|
||||
<g id="node3" class="node">
|
||||
<title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="1314,-14 1314,-152 1520,-152 1520,-14 1314,-14"/>
|
||||
<text text-anchor="middle" x="1417" y="-136.8" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-129 1520,-129 "/>
|
||||
<text text-anchor="middle" x="1364.5" y="-113.8" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="1415,-106 1415,-129 "/>
|
||||
<text text-anchor="middle" x="1444" y="-113.8" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="1473,-106 1473,-129 "/>
|
||||
<text text-anchor="middle" x="1496.5" y="-113.8" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-106 1520,-106 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-90.8" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-83 1405,-83 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-67.8" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-60 1405,-60 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-44.8" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="1314,-37 1405,-37 "/>
|
||||
<text text-anchor="middle" x="1359.5" y="-21.8" font-family="arial" font-size="14.00">4</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-14 1405,-106 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-90.8" font-family="arial" font-size="14.00">GND</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-83 1520,-83 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-67.8" font-family="arial" font-size="14.00">VCC</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-60 1520,-60 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-44.8" font-family="arial" font-size="14.00">SCL</text>
|
||||
<polyline fill="none" stroke="black" points="1405,-37 1520,-37 "/>
|
||||
<text text-anchor="middle" x="1462.5" y="-21.8" font-family="arial" font-size="14.00">SDA</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge"><title>W1:w1:e--X2:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-81.5C559.758,-81.5155 575.746,-79.5155 640,-79.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M496,-83.5C560.006,-83.5 575.994,-81.5 640,-81.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-85.5C560.254,-85.4845 576.242,-83.4845 640,-83.5"/>
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-95C576.76,-95.02 592.75,-93.02 657,-93"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M513,-97C577.01,-97 592.99,-95 657,-95"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-99C577.25,-98.98 593.24,-96.98 657,-97"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge"><title>W1:w2:e--X2:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-56.5C559.877,-56.5039 575.874,-55.5039 640,-55.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M496,-58.5C560.002,-58.5 575.998,-57.5 640,-57.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-60.5C560.126,-60.4961 576.123,-59.4961 640,-59.5"/>
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-70C576.88,-70 592.87,-69 657,-69"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M513,-72C577,-72 593,-71 657,-71"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-74C577.13,-74 593.12,-73 657,-73"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge"><title>W1:w3:e--X2:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-31.5C560.126,-31.5039 576.123,-32.5039 640,-32.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M496,-33.5C560.002,-33.5 575.998,-34.5 640,-34.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-35.5C559.877,-35.4961 575.874,-36.4961 640,-36.5"/>
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-45C577.13,-45 593.12,-46 657,-46"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M513,-47C577,-47 593,-48 657,-48"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-49C576.88,-49 592.87,-50 657,-50"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge"><title>W1:w4:e--X2:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-6.5C560.383,-6.53437 576.355,-9.53437 640,-9.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M496,-8.5C560.014,-8.5 575.986,-11.5 640,-11.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M496,-10.5C559.645,-10.4656 575.617,-13.4656 640,-13.5"/>
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-20C577.38,-20.03 593.36,-23.03 657,-23"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M513,-22C577.01,-22 592.99,-25 657,-25"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M513,-24C576.64,-23.97 592.62,-26.97 657,-27"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge10" class="edge"><title>W2:w1:e--X3:p1l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-81.5C1199.76,-81.5155 1215.75,-79.5155 1280,-79.5"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1136,-83.5C1200.01,-83.5 1215.99,-81.5 1280,-81.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-85.5C1200.25,-85.4845 1216.24,-83.4845 1280,-83.5"/>
|
||||
<g id="edge10" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-95C1233.76,-95.02 1249.75,-93.02 1314,-93"/>
|
||||
<path fill="none" stroke="#ff66cc" stroke-width="2" d="M1170,-97C1234.01,-97 1249.99,-95 1314,-95"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-99C1234.25,-98.98 1250.24,-96.98 1314,-97"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge12" class="edge"><title>W2:w2:e--X3:p2l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-56.5C1199.88,-56.5039 1215.87,-55.5039 1280,-55.5"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1136,-58.5C1200,-58.5 1216,-57.5 1280,-57.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-60.5C1200.13,-60.4961 1216.12,-59.4961 1280,-59.5"/>
|
||||
<g id="edge12" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-70C1233.88,-70 1249.87,-69 1314,-69"/>
|
||||
<path fill="none" stroke="#00ffff" stroke-width="2" d="M1170,-72C1234,-72 1250,-71 1314,-71"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-74C1234.13,-74 1250.12,-73 1314,-73"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge14" class="edge"><title>W2:w3:e--X3:p3l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-31.5C1200.13,-31.5039 1216.12,-32.5039 1280,-32.5"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1136,-33.5C1200,-33.5 1216,-34.5 1280,-34.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-35.5C1199.88,-35.4961 1215.87,-36.4961 1280,-36.5"/>
|
||||
<g id="edge14" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-45C1234.13,-45 1250.12,-46 1314,-46"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M1170,-47C1234,-47 1250,-48 1314,-48"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-49C1233.88,-49 1249.87,-50 1314,-50"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge16" class="edge"><title>W2:w4:e--X3:p4l:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-6.5C1200.38,-6.53437 1216.36,-9.53437 1280,-9.5"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1136,-8.5C1200.01,-8.5 1215.99,-11.5 1280,-11.5"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1136,-10.5C1199.64,-10.4656 1215.62,-13.4656 1280,-13.5"/>
|
||||
<g id="edge16" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-20C1234.38,-20.03 1250.36,-23.03 1314,-23"/>
|
||||
<path fill="none" stroke="#8000ff" stroke-width="2" d="M1170,-22C1234.01,-22 1249.99,-25 1314,-25"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M1170,-24C1233.64,-23.97 1249.62,-26.97 1314,-27"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@ -9,6 +9,7 @@ templates:
|
||||
length: 0.2
|
||||
colors: [PK, TQ, YE, VT]
|
||||
category: bundle
|
||||
type: I2C
|
||||
|
||||
connectors:
|
||||
X1:
|
||||
|
||||
@ -1 +1,3 @@
|
||||
.
|
||||
graphviz
|
||||
pyyaml
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from typing import Optional, List, Any
|
||||
from typing import Optional, List, Any, Union
|
||||
from dataclasses import dataclass, field
|
||||
from wireviz.wv_helper import int2tuple
|
||||
from wireviz import wv_colors
|
||||
@ -10,6 +10,9 @@ from wireviz import wv_colors
|
||||
@dataclass
|
||||
class Connector:
|
||||
name: str
|
||||
manufacturer: Optional[str] = None
|
||||
manufacturer_part_number: Optional[str] = None
|
||||
internal_part_number: Optional[str] = None
|
||||
category: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
subtype: Optional[str] = None
|
||||
@ -21,11 +24,12 @@ class Connector:
|
||||
show_name: bool = True
|
||||
show_pincount: bool = True
|
||||
hide_disconnected_pins: bool = False
|
||||
autogenerate: bool = False
|
||||
loops: List[Any] = field(default_factory=list)
|
||||
|
||||
def __post_init__(self):
|
||||
self.ports_left = False
|
||||
self.ports_right = False
|
||||
self.loops = []
|
||||
self.visible_pins = {}
|
||||
|
||||
if self.pincount is None:
|
||||
@ -48,11 +52,15 @@ class Connector:
|
||||
if not self.pinout:
|
||||
self.pinout = [''] * self.pincount
|
||||
|
||||
def loop(self, from_pin, to_pin):
|
||||
self.loops.append((from_pin, to_pin))
|
||||
if self.hide_disconnected_pins:
|
||||
self.visible_pins[from_pin] = True
|
||||
self.visible_pins[to_pin] = True
|
||||
if len(self.pinnumbers) != len(set(self.pinnumbers)):
|
||||
raise Exception('Pin numbers are not unique')
|
||||
|
||||
for loop in self.loops:
|
||||
# TODO: check that pins to connect actually exist
|
||||
# TODO: allow using pin labels in addition to pin numbers, just like when defining regular connections
|
||||
# TODO: include properties of wire used to create the loop
|
||||
if len(loop) != 2:
|
||||
raise Exception('Loops must be between exactly two pins!')
|
||||
|
||||
def activate_pin(self, pin):
|
||||
self.visible_pins[pin] = True
|
||||
@ -61,6 +69,9 @@ class Connector:
|
||||
@dataclass
|
||||
class Cable:
|
||||
name: str
|
||||
manufacturer: Optional[Union[str, List[str]]] = None
|
||||
manufacturer_part_number: Optional[Union[str, List[str]]] = None
|
||||
internal_part_number: Optional[Union[str, List[str]]] = None
|
||||
category: Optional[str] = None
|
||||
type: Optional[str] = None
|
||||
gauge: Optional[float] = None
|
||||
@ -118,6 +129,16 @@ class Cable:
|
||||
raise Exception('Unknown number of wires. Must specify wirecount or colors (implicit length)')
|
||||
self.wirecount = len(self.colors)
|
||||
|
||||
# if lists of part numbers are provided check this is a bundle and that it matches the wirecount.
|
||||
for idfield in [self.manufacturer, self.manufacturer_part_number, self.internal_part_number]:
|
||||
if isinstance(idfield, list):
|
||||
if self.category == "bundle":
|
||||
# check the length
|
||||
if len(idfield) != self.wirecount:
|
||||
raise Exception('lists of part data must match wirecount')
|
||||
else:
|
||||
raise Exception('lists of part data are only supported for bundles')
|
||||
|
||||
# for BOM generation
|
||||
self.wirecount_and_shield = (self.wirecount, self.shield)
|
||||
|
||||
|
||||
@ -4,9 +4,12 @@
|
||||
from wireviz.DataClasses import Connector, Cable
|
||||
from graphviz import Graph
|
||||
from wireviz import wv_colors
|
||||
from wireviz.wv_helper import awg_equiv, mm2_equiv, tuplelist2tsv, nested, flatten2d
|
||||
from wireviz.wv_helper import awg_equiv, mm2_equiv, tuplelist2tsv, \
|
||||
nested_html_table, flatten2d, index_if_list, html_line_breaks, \
|
||||
graphviz_line_breaks, remove_line_breaks
|
||||
from collections import Counter
|
||||
from typing import List
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class Harness:
|
||||
@ -15,24 +18,47 @@ class Harness:
|
||||
self.color_mode = 'SHORT'
|
||||
self.connectors = {}
|
||||
self.cables = {}
|
||||
self.additional_bom_items = []
|
||||
|
||||
def add_connector(self, name, *args, **kwargs):
|
||||
def add_connector(self, name: str, *args, **kwargs) -> None:
|
||||
self.connectors[name] = Connector(name, *args, **kwargs)
|
||||
|
||||
def add_cable(self, name, *args, **kwargs):
|
||||
def add_cable(self, name: str, *args, **kwargs) -> None:
|
||||
self.cables[name] = Cable(name, *args, **kwargs)
|
||||
|
||||
def loop(self, connector_name, from_pin, to_pin):
|
||||
self.connectors[connector_name].loop(from_pin, to_pin)
|
||||
def add_bom_item(self, item: dict) -> None:
|
||||
self.additional_bom_items.append(item)
|
||||
|
||||
def connect(self, from_name: str, from_pin: (int, str), via_name: str, via_pin: (int, str), to_name: str, to_pin: (int, str)) -> None:
|
||||
for (name, pin) in zip([from_name, to_name], [from_pin, to_pin]): # check from and to connectors
|
||||
if name is not None and name in self.connectors:
|
||||
connector = self.connectors[name]
|
||||
if pin in connector.pinnumbers and pin in connector.pinout:
|
||||
if connector.pinnumbers.index(pin) == connector.pinout.index(pin):
|
||||
# TODO: Maybe issue a warning? It's not worthy of an exception if it's unambiguous, but maybe risky?
|
||||
pass
|
||||
else:
|
||||
raise Exception(f'{name}:{pin} is defined both in pinout and pinnumbers, for different pins.')
|
||||
if pin in connector.pinout:
|
||||
if connector.pinout.count(pin) > 1:
|
||||
raise Exception(f'{name}:{pin} is defined more than once.')
|
||||
else:
|
||||
index = connector.pinout.index(pin)
|
||||
pin = connector.pinnumbers[index] # map pin name to pin number
|
||||
if name == from_name:
|
||||
from_pin = pin
|
||||
if name == to_name:
|
||||
to_pin = pin
|
||||
if not pin in connector.pinnumbers:
|
||||
raise Exception(f'{name}:{pin} not found.')
|
||||
|
||||
def connect(self, from_name, from_pin, via_name, via_pin, to_name, to_pin):
|
||||
self.cables[via_name].connect(from_name, from_pin, via_pin, to_name, to_pin)
|
||||
if from_name in self.connectors:
|
||||
self.connectors[from_name].activate_pin(from_pin)
|
||||
if to_name in self.connectors:
|
||||
self.connectors[to_name].activate_pin(to_pin)
|
||||
|
||||
def create_graph(self):
|
||||
def create_graph(self) -> Graph:
|
||||
dot = Graph()
|
||||
dot.body.append('// Graph generated by WireViz')
|
||||
dot.body.append('// https://github.com/formatc1702/WireViz')
|
||||
@ -59,43 +85,52 @@ class Harness:
|
||||
|
||||
for key, connector in self.connectors.items():
|
||||
if connector.category == 'ferrule':
|
||||
subtype = f', {connector.subtype}' if connector.subtype else ''
|
||||
color = wv_colors.translate_color(connector.color, self.color_mode) if connector.color else ''
|
||||
infostring = f'{connector.type}{subtype} {color}'
|
||||
infostring_l = infostring if connector.ports_right else ''
|
||||
infostring_r = infostring if connector.ports_left else ''
|
||||
|
||||
colorbar = f'<TD BGCOLOR="{wv_colors.translate_color(connector.color, "HEX")}" BORDER="1" SIDES="LR" WIDTH="4"></TD>' if connector.color else ''
|
||||
dot.node(key, shape='none',
|
||||
style='filled',
|
||||
margin='0',
|
||||
orientation='0' if connector.ports_left else '180',
|
||||
label='''<
|
||||
rows = [[connector.manufacturer,
|
||||
f'MPN: {connector.manufacturer_part_number}' if connector.manufacturer_part_number else None,
|
||||
f'IPN: {connector.internal_part_number}' if connector.internal_part_number else None],
|
||||
[html_line_breaks(connector.type), html_line_breaks(connector.subtype), wv_colors.translate_color(connector.color, "HEX"), '<!-- colorbar -->' if connector.color else None],
|
||||
[html_line_breaks(connector.notes)]]
|
||||
html = nested_html_table(rows)
|
||||
|
||||
<TABLE BORDER="1" CELLBORDER="0" CELLSPACING="0" CELLPADDING="2"><TR>
|
||||
<TD PORT="p1l"> {infostring_l} </TD>
|
||||
{colorbar}
|
||||
<TD PORT="p1r"> {infostring_r} </TD>
|
||||
</TR></TABLE>
|
||||
if connector.color: # add color bar next to color info, if present
|
||||
colorbar = f' bgcolor="{wv_colors.translate_color(connector.color, "HEX")}" width="4"></td>' # leave out '<td' from string to preserve any existing attributes of the <td> tag
|
||||
html = html.replace('><!-- colorbar --></td>', colorbar)
|
||||
|
||||
|
||||
>'''.format(infostring_l=infostring_l, infostring_r=infostring_r, colorbar=colorbar))
|
||||
dot.node(key, label=f'<{html}>', shape='none', margin='0', style='filled', fillcolor='white')
|
||||
|
||||
else: # not a ferrule
|
||||
attributes = [connector.type,
|
||||
connector.subtype,
|
||||
f'{connector.pincount}-pin' if connector.show_pincount else'']
|
||||
pinouts = [[], [], []]
|
||||
|
||||
rows = [[connector.name if connector.show_name else None],
|
||||
[connector.manufacturer,
|
||||
f'MPN: {connector.manufacturer_part_number}' if connector.manufacturer_part_number else None,
|
||||
f'IPN: {connector.internal_part_number}' if connector.internal_part_number else None],
|
||||
[html_line_breaks(connector.type),
|
||||
html_line_breaks(connector.subtype),
|
||||
f'{connector.pincount}-pin' if connector.show_pincount else None],
|
||||
'<!-- connector table -->',
|
||||
[html_line_breaks(connector.notes)]]
|
||||
html = nested_html_table(rows)
|
||||
|
||||
pinouts = []
|
||||
for pinnumber, pinname in zip(connector.pinnumbers, connector.pinout):
|
||||
if connector.hide_disconnected_pins and not connector.visible_pins.get(pinnumber, False):
|
||||
continue
|
||||
pinouts[1].append(pinname)
|
||||
if connector.ports_left:
|
||||
pinouts[0].append(f'<p{pinnumber}l>{pinnumber}')
|
||||
if connector.ports_right:
|
||||
pinouts[2].append(f'<p{pinnumber}r>{pinnumber}')
|
||||
label = [connector.name if connector.show_name else '', attributes, pinouts, connector.notes]
|
||||
dot.node(key, label=nested(label))
|
||||
pinouts.append([f'<td port="p{pinnumber}l">{pinnumber}</td>' if connector.ports_left else None,
|
||||
f'<td>{pinname}</td>' if pinname else '',
|
||||
f'<td port="p{pinnumber}r">{pinnumber}</td>' if connector.ports_right else None])
|
||||
|
||||
pinhtml = '<table border="0" cellspacing="0" cellpadding="3" cellborder="1">'
|
||||
for i, pin in enumerate(pinouts):
|
||||
pinhtml = f'{pinhtml}<tr>'
|
||||
for column in pin:
|
||||
if column is not None:
|
||||
pinhtml = f'{pinhtml}{column}'
|
||||
pinhtml = f'{pinhtml}</tr>'
|
||||
pinhtml = f'{pinhtml}</table>'
|
||||
html = html.replace('<!-- connector table -->', pinhtml)
|
||||
|
||||
dot.node(key, label=f'<{html}>', shape='none', margin='0', style='filled', fillcolor='white')
|
||||
|
||||
if len(connector.loops) > 0:
|
||||
dot.attr('edge', color='#000000:#ffffff:#000000')
|
||||
@ -123,7 +158,13 @@ class Harness:
|
||||
elif cable.gauge_unit.upper() == 'AWG':
|
||||
awg_fmt = f' ({mm2_equiv(cable.gauge)} mm\u00B2)'
|
||||
|
||||
attributes = [f'{len(cable.colors)}x' if cable.show_wirecount else '',
|
||||
identification = [cable.manufacturer if not isinstance(cable.manufacturer, list) else '',
|
||||
f'MPN: {cable.manufacturer_part_number}' if (cable.manufacturer_part_number and not isinstance(cable.manufacturer_part_number, list)) else '',
|
||||
f'IPN: {cable.internal_part_number}' if (cable.internal_part_number and not isinstance(cable.internal_part_number, list)) else '']
|
||||
identification = list(filter(None, identification))
|
||||
|
||||
attributes = [html_line_breaks(cable.type) if cable.type else '',
|
||||
f'{len(cable.colors)}x' if cable.show_wirecount else '',
|
||||
f'{cable.gauge} {cable.gauge_unit}{awg_fmt}' if cable.gauge else '',
|
||||
'+ S' if cable.shield else '',
|
||||
f'{cable.length} m' if cable.length > 0 else '']
|
||||
@ -134,13 +175,20 @@ class Harness:
|
||||
html = f'{html}<table border="0" cellspacing="0" cellpadding="3" cellborder="1">' # name+attributes table
|
||||
if cable.show_name:
|
||||
html = f'{html}<tr><td colspan="{len(attributes)}">{cable.name}</td></tr>'
|
||||
if(len(identification) > 0): # print an identification row if values specified
|
||||
html = f'{html}<tr><td colspan="{len(attributes)}" cellpadding="0"><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>'
|
||||
for attrib in identification[0:-1]:
|
||||
html = f'{html}<td sides="R">{attrib}</td>' # all columns except last have a border on the right (sides="R")
|
||||
if len(identification) > 0:
|
||||
html = f'{html}<td border="0">{identification[-1]}</td>' # last column has no border on the right because the enclosing table borders it
|
||||
html = f'{html}</tr></table></td></tr>' # end identification row
|
||||
html = f'{html}<tr>' # attribute row
|
||||
for attrib in attributes:
|
||||
html = f'{html}<td>{attrib}</td>'
|
||||
html = f'{html}<td balign="left">{attrib}</td>'
|
||||
html = f'{html}</tr>' # attribute row
|
||||
html = f'{html}</table></td></tr>' # name+attributes table
|
||||
|
||||
html = f'{html}<tr><td></td></tr>' # spacer between attributes and wires
|
||||
html = f'{html}<tr><td> </td></tr>' # spacer between attributes and wires
|
||||
|
||||
html = f'{html}<tr><td><table border="0" cellspacing="0" cellborder="0">' # conductor table
|
||||
|
||||
@ -153,29 +201,50 @@ class Harness:
|
||||
for bla in p:
|
||||
html = f'{html}<td>{bla}</td>'
|
||||
html = f'{html}</tr>'
|
||||
#TODO: RESOLVE THIS MESS
|
||||
bgcolor = wv_colors.translate_color(connection, 'hex')
|
||||
bgcolor = bgcolor if bgcolor != '' else '#ffffff'
|
||||
html = f'{html}<tr><td colspan="{len(p)}" cellpadding="0" height="6" bgcolor="{bgcolor}" border="2" sides="tb" port="w{i}"></td></tr>'
|
||||
if(cable.category == 'bundle'): # for bundles individual wires can have part information
|
||||
# create a list of wire parameters
|
||||
wireidentification = []
|
||||
if isinstance(cable.manufacturer, list):
|
||||
wireidentification.append(cable.manufacturer[i - 1])
|
||||
if isinstance(cable.manufacturer_part_number, list):
|
||||
wireidentification.append(f'MPN: {cable.manufacturer_part_number[i - 1]}')
|
||||
if isinstance(cable.internal_part_number, list):
|
||||
wireidentification.append(f'IPN: {cable.internal_part_number[i - 1]}')
|
||||
# print parameters into a table row under the wire
|
||||
if(len(wireidentification) > 0):
|
||||
html = f'{html}<tr><td colspan="{len(p)}"><table border="0" cellspacing="0" cellborder="0"><tr>'
|
||||
for attrib in wireidentification:
|
||||
html = f'{html}<td>{attrib}</td>'
|
||||
html = f'{html}</tr></table></td></tr>'
|
||||
# --------------------
|
||||
bgcolors = ('#000000:' + wv_colors.translate_color(connection, 'hex') + ':#000000').split(':')
|
||||
html = f'{html}<tr><td colspan="{len(p)}" border="0" cellspacing="0" cellpadding="0" port="w{i}" height="{(2 * len(bgcolors))}"><table cellspacing="0" cellborder="0" border = "0">'
|
||||
for j, bgcolor in enumerate(
|
||||
bgcolors[::-1]): # Reverse to match the curved wires when more than 2 colors
|
||||
html = f'{html}<tr><td colspan="{len(p)}" cellpadding="0" height="2" bgcolor="{bgcolor if bgcolor != "" else wv_colors.default_color}" border="0"></td></tr>'
|
||||
html = html + '</table></td></tr>'
|
||||
# END OF MESS
|
||||
if cable.shield:
|
||||
p = ['<!-- s_in -->', 'Shield', '<!-- s_out -->']
|
||||
html = f'{html}<tr><td></td></tr>' # spacer
|
||||
html = f'{html}<tr><td> </td></tr>' # spacer
|
||||
html = f'{html}<tr>'
|
||||
for bla in p:
|
||||
html = html + f'<td>{bla}</td>'
|
||||
html = f'{html}</tr>'
|
||||
html = f'{html}<tr><td colspan="{len(p)}" cellpadding="0" bgcolor="{wv_colors.shield_color}" height="6" border="2" sides="b" port="ws"></td></tr>'
|
||||
|
||||
html = f'{html}<tr><td></td></tr>' # spacer at the end
|
||||
html = f'{html}<tr><td> </td></tr>' # spacer at the end
|
||||
|
||||
html = f'{html}</table>' # conductor table
|
||||
|
||||
html = f'{html}</td></tr>' # main table
|
||||
if cable.notes:
|
||||
html = f'{html}<tr><td cellpadding="3">{cable.notes}</td></tr>' # notes table
|
||||
html = f'{html}<tr><td></td></tr>' # spacer at the end
|
||||
html = f'{html}<tr><td cellpadding="3" balign="left">{html_line_breaks(cable.notes)}</td></tr>' # notes table
|
||||
html = f'{html}<tr><td> </td></tr>' # spacer at the end
|
||||
|
||||
html = f'{html}</table>' # main table
|
||||
|
||||
@ -210,13 +279,31 @@ class Harness:
|
||||
|
||||
return dot
|
||||
|
||||
def output(self, filename, directory='_output', view=False, cleanup=True, fmt='pdf', gen_bom=False):
|
||||
@property
|
||||
def png(self):
|
||||
from io import BytesIO
|
||||
graph = self.create_graph()
|
||||
data = BytesIO()
|
||||
data.write(graph.pipe(format='png'))
|
||||
data.seek(0)
|
||||
return data.read()
|
||||
|
||||
@property
|
||||
def svg(self):
|
||||
from io import BytesIO
|
||||
graph = self.create_graph()
|
||||
data = BytesIO()
|
||||
data.write(graph.pipe(format='svg'))
|
||||
data.seek(0)
|
||||
return data.read()
|
||||
|
||||
def output(self, filename: (str, Path), view: bool = False, cleanup: bool = True, fmt: tuple = ('pdf', )) -> None:
|
||||
# graphical output
|
||||
graph = self.create_graph()
|
||||
for f in fmt:
|
||||
graph.format = f
|
||||
graph.render(filename=filename, directory=directory, view=view, cleanup=cleanup)
|
||||
graph.save(filename=f'{filename}.gv', directory=directory)
|
||||
graph.render(filename=filename, view=view, cleanup=cleanup)
|
||||
graph.save(filename=f'{filename}.gv')
|
||||
# bom output
|
||||
bom_list = self.bom_list()
|
||||
with open(f'{filename}.bom.tsv', 'w') as file:
|
||||
@ -251,80 +338,93 @@ class Harness:
|
||||
bom = []
|
||||
bom_connectors = []
|
||||
bom_cables = []
|
||||
bom_extra = []
|
||||
# connectors
|
||||
types = Counter([(v.type, v.subtype, v.pincount) for v in self.connectors.values()])
|
||||
for maintype in types:
|
||||
items = {k: v for k, v in self.connectors.items() if (v.type, v.subtype, v.pincount) == maintype}
|
||||
connector_group = lambda c: (c.type, c.subtype, c.pincount, c.manufacturer, c.manufacturer_part_number, c.internal_part_number)
|
||||
for group in Counter([connector_group(v) for v in self.connectors.values()]):
|
||||
items = {k: v for k, v in self.connectors.items() if connector_group(v) == group}
|
||||
shared = next(iter(items.values()))
|
||||
designators = list(items.keys())
|
||||
designators.sort()
|
||||
conn_type = f', {shared.type}' if shared.type else ''
|
||||
conn_subtype = f', {shared.subtype}' if shared.subtype else ''
|
||||
conn_type = f', {remove_line_breaks(shared.type)}' if shared.type else ''
|
||||
conn_subtype = f', {remove_line_breaks(shared.subtype)}' if shared.subtype else ''
|
||||
conn_pincount = f', {shared.pincount} pins' if shared.category != 'ferrule' else ''
|
||||
conn_color = f', {shared.color}' if shared.color else ''
|
||||
name = f'Connector{conn_type}{conn_subtype}{conn_pincount}{conn_color}'
|
||||
item = {'item': name, 'qty': len(designators), 'unit': '',
|
||||
'designators': designators if shared.category != 'ferrule' else ''}
|
||||
item = {'item': name, 'qty': len(designators), 'unit': '', 'designators': designators if shared.category != 'ferrule' else '',
|
||||
'manufacturer': shared.manufacturer, 'manufacturer part number': shared.manufacturer_part_number, 'internal part number': shared.internal_part_number}
|
||||
bom_connectors.append(item)
|
||||
bom_connectors = sorted(bom_connectors, key=lambda k: k['item']) # https://stackoverflow.com/a/73050
|
||||
bom.extend(bom_connectors)
|
||||
# cables
|
||||
types = Counter([(v.category, v.gauge, v.gauge_unit, v.wirecount, v.shield) for v in self.cables.values()])
|
||||
for maintype in types:
|
||||
items = {k: v for k, v in self.cables.items() if (
|
||||
v.category, v.gauge, v.gauge_unit, v.wirecount, v.shield) == maintype}
|
||||
# TODO: If category can have other non-empty values than 'bundle', maybe it should be part of item name?
|
||||
# The category needs to be included in cable_group to keep the bundles excluded.
|
||||
cable_group = lambda c: (c.category, c.type, c.gauge, c.gauge_unit, c.wirecount, c.shield, c.manufacturer, c.manufacturer_part_number, c.internal_part_number)
|
||||
for group in Counter([cable_group(v) for v in self.cables.values() if v.category != 'bundle']):
|
||||
items = {k: v for k, v in self.cables.items() if cable_group(v) == group}
|
||||
shared = next(iter(items.values()))
|
||||
if shared.category != 'bundle':
|
||||
designators = list(items.keys())
|
||||
designators.sort()
|
||||
total_length = sum(i.length for i in items.values())
|
||||
gauge_name = f' x {shared.gauge} {shared.gauge_unit}'if shared.gauge else ' wires'
|
||||
cable_type = f', {remove_line_breaks(shared.type)}' if shared.type else ''
|
||||
gauge_name = f' x {shared.gauge} {shared.gauge_unit}' if shared.gauge else ' wires'
|
||||
shield_name = ' shielded' if shared.shield else ''
|
||||
name = f'Cable, {shared.wirecount}{gauge_name}{shield_name}'
|
||||
item = {'item': name, 'qty': round(total_length, 3), 'unit': 'm', 'designators': designators}
|
||||
name = f'Cable{cable_type}, {shared.wirecount}{gauge_name}{shield_name}'
|
||||
item = {'item': name, 'qty': round(total_length, 3), 'unit': 'm', 'designators': designators,
|
||||
'manufacturer': shared.manufacturer, 'manufacturer part number': shared.manufacturer_part_number, 'internal part number': shared.internal_part_number}
|
||||
bom_cables.append(item)
|
||||
# bundles (ignores wirecount)
|
||||
wirelist = []
|
||||
# list all cables again, since bundles are represented as wires internally, with the category='bundle' set
|
||||
types = Counter([(v.category, v.gauge, v.gauge_unit, v.length) for v in self.cables.values()])
|
||||
for maintype in types:
|
||||
items = {k: v for k, v in self.cables.items() if (v.category, v.gauge, v.gauge_unit, v.length) == maintype}
|
||||
shared = next(iter(items.values()))
|
||||
# filter out cables that are not bundles
|
||||
if shared.category == 'bundle':
|
||||
for bundle in items.values():
|
||||
for bundle in self.cables.values():
|
||||
if bundle.category == 'bundle':
|
||||
# add each wire from each bundle to the wirelist
|
||||
for color in bundle.colors:
|
||||
wirelist.append({'gauge': shared.gauge, 'gauge_unit': shared.gauge_unit,
|
||||
'length': shared.length, 'color': color, 'designator': bundle.name})
|
||||
for index, color in enumerate(bundle.colors, 0):
|
||||
wirelist.append({'type': bundle.type, 'gauge': bundle.gauge, 'gauge_unit': bundle.gauge_unit, 'length': bundle.length, 'color': color, 'designator': bundle.name,
|
||||
'manufacturer': index_if_list(bundle.manufacturer, index),
|
||||
'manufacturer part number': index_if_list(bundle.manufacturer_part_number, index),
|
||||
'internal part number': index_if_list(bundle.internal_part_number, index)})
|
||||
# join similar wires from all the bundles to a single BOM item
|
||||
types = Counter([(v['gauge'], v['gauge_unit'], v['color']) for v in wirelist])
|
||||
for maintype in types:
|
||||
items = [v for v in wirelist if (v['gauge'], v['gauge_unit'], v['color']) == maintype]
|
||||
wire_group = lambda w: (w.get('type', None), w['gauge'], w['gauge_unit'], w['color'], w['manufacturer'], w['manufacturer part number'], w['internal part number'])
|
||||
for group in Counter([wire_group(v) for v in wirelist]):
|
||||
items = [v for v in wirelist if wire_group(v) == group]
|
||||
shared = items[0]
|
||||
designators = [i['designator'] for i in items]
|
||||
# remove duplicates
|
||||
designators = list(dict.fromkeys(designators))
|
||||
designators = list(dict.fromkeys(designators)) # remove duplicates
|
||||
designators.sort()
|
||||
total_length = sum(i['length'] for i in items)
|
||||
gauge_name = f', {shared["gauge"]} {shared["gauge_unit"]}' if shared['gauge'] else ''
|
||||
gauge_color = f', {shared["color"]}' if shared['color'] != '' else ''
|
||||
name = f'Wire{gauge_name}{gauge_color}'
|
||||
item = {'item': name, 'qty': round(total_length, 3), 'unit': 'm', 'designators': designators}
|
||||
wire_type = f', {remove_line_breaks(shared["type"])}' if shared.get('type', None) else ''
|
||||
gauge_name = f', {shared["gauge"]} {shared["gauge_unit"]}' if shared.get('gauge', None) else ''
|
||||
gauge_color = f', {shared["color"]}' if 'color' in shared != '' else ''
|
||||
name = f'Wire{wire_type}{gauge_name}{gauge_color}'
|
||||
item = {'item': name, 'qty': round(total_length, 3), 'unit': 'm', 'designators': designators,
|
||||
'manufacturer': shared['manufacturer'], 'manufacturer part number': shared['manufacturer part number'], 'internal part number': shared['internal part number']}
|
||||
bom_cables.append(item)
|
||||
bom_cables = sorted(bom_cables, key=lambda k: k['item']) # https://stackoverflow.com/a/73050
|
||||
bom_cables = sorted(bom_cables, key=lambda k: k['item']) # sort list of dicts by their values (https://stackoverflow.com/a/73050)
|
||||
bom.extend(bom_cables)
|
||||
|
||||
for item in self.additional_bom_items:
|
||||
name = item['description'] if item.get('description', None) else ''
|
||||
if isinstance(item.get('designators', None), List):
|
||||
item['designators'].sort() # sort designators if a list is provided
|
||||
item = {'item': name, 'qty': item.get('qty', None), 'unit': item.get('unit', None), 'designators': item.get('designators', None),
|
||||
'manufacturer': item.get('manufacturer', None), 'manufacturer part number': item.get('manufacturer_part_number', None), 'internal part number': item.get('internal_part_number', None)}
|
||||
bom_extra.append(item)
|
||||
bom_extra = sorted(bom_extra, key=lambda k: k['item'])
|
||||
bom.extend(bom_extra)
|
||||
return bom
|
||||
|
||||
def bom_list(self):
|
||||
bom = self.bom()
|
||||
keys = ['item', 'qty', 'unit', 'designators']
|
||||
keys = ['item', 'qty', 'unit', 'designators'] # these BOM columns will always be included
|
||||
for fieldname in ['manufacturer', 'manufacturer part number', 'internal part number']: # these optional BOM columns will only be included if at least one BOM item actually uses them
|
||||
if any(fieldname in x and x.get(fieldname, None) for x in bom):
|
||||
keys.append(fieldname)
|
||||
bom_list = []
|
||||
bom_list.append([k.capitalize() for k in keys]) # create header row with keys
|
||||
for item in bom:
|
||||
item_list = [item.get(key, '') for key in keys] # fill missing values with blanks
|
||||
for i, subitem in enumerate(item_list):
|
||||
if isinstance(subitem, List): # convert any lists into comma separated strings
|
||||
item_list[i] = ', '.join(subitem)
|
||||
item_list = [', '.join(subitem) if isinstance(subitem, List) else subitem for subitem in item_list] # convert any lists into comma separated strings
|
||||
item_list = ['' if subitem is None else subitem for subitem in item_list] # if a field is missing for some (but not all) BOM items
|
||||
bom_list.append(item_list)
|
||||
return bom_list
|
||||
|
||||
@ -9,8 +9,8 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
from wireviz import wireviz
|
||||
|
||||
demos = 2 # 2
|
||||
examples = 10 # 10
|
||||
tutorials = 7 # 7
|
||||
examples = 10 # 9
|
||||
tutorials = 8 # 7
|
||||
|
||||
if demos:
|
||||
for i in range(1,demos+1):
|
||||
|
||||
@ -3,54 +3,37 @@
|
||||
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from typing import Any, Tuple
|
||||
|
||||
import yaml
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
|
||||
from wireviz.Harness import Harness
|
||||
from wireviz.wv_helper import expand
|
||||
|
||||
|
||||
def parse(yaml_input, file_out=None, generate_bom=False):
|
||||
def parse(yaml_input: str, file_out: (str, Path) = None, return_types: (None, str, Tuple[str]) = None) -> Any:
|
||||
"""
|
||||
Parses yaml input string and does the high-level harness conversion
|
||||
|
||||
:param yaml_input: a string containing the yaml input data
|
||||
:param file_out:
|
||||
:param return_types: if None, then returns None; if the value is a string, then a
|
||||
corresponding data format will be returned; if the value is a tuple of strings,
|
||||
then for every valid format in the `return_types` tuple, another return type
|
||||
will be generated and returned in the same order; currently supports:
|
||||
- "png" - will return the PNG data
|
||||
- "svg" - will return the SVG data
|
||||
- "harness" - will return the `Harness` instance
|
||||
"""
|
||||
|
||||
yaml_data = yaml.safe_load(yaml_input)
|
||||
|
||||
def expand(yaml_data):
|
||||
# yaml_data can be:
|
||||
# - a singleton (normally str or int)
|
||||
# - a list of str or int
|
||||
# if str is of the format '#-#', it is treated as a range (inclusive) and expanded
|
||||
output = []
|
||||
if not isinstance(yaml_data, list):
|
||||
yaml_data = [yaml_data]
|
||||
for e in yaml_data:
|
||||
e = str(e)
|
||||
if '-' in e: # list of pins
|
||||
a, b = tuple(map(int, e.split('-')))
|
||||
if a < b:
|
||||
for x in range(a, b + 1):
|
||||
output.append(x)
|
||||
elif a > b:
|
||||
for x in range(a, b - 1, -1):
|
||||
output.append(x)
|
||||
elif a == b:
|
||||
output.append(a)
|
||||
else:
|
||||
try:
|
||||
x = int(e)
|
||||
except Exception:
|
||||
x = e
|
||||
output.append(x)
|
||||
return output
|
||||
|
||||
def check_designators(what, where):
|
||||
for i, x in enumerate(what):
|
||||
if x not in yaml_data[where[i]]:
|
||||
return False
|
||||
return True
|
||||
|
||||
harness = Harness()
|
||||
|
||||
# add items
|
||||
@ -60,11 +43,12 @@ def parse(yaml_input, file_out=None, generate_bom=False):
|
||||
if sec in yaml_data and type(yaml_data[sec]) == ty:
|
||||
if len(yaml_data[sec]) > 0:
|
||||
if ty == dict:
|
||||
for key, o in yaml_data[sec].items():
|
||||
for key, attribs in yaml_data[sec].items():
|
||||
if sec == 'connectors':
|
||||
harness.add_connector(name=key, **o)
|
||||
if not attribs.get('autogenerate', False):
|
||||
harness.add_connector(name=key, **attribs)
|
||||
elif sec == 'cables':
|
||||
harness.add_cable(name=key, **o)
|
||||
harness.add_cable(name=key, **attribs)
|
||||
elif sec == 'ferrules':
|
||||
pass
|
||||
else:
|
||||
@ -76,113 +60,144 @@ def parse(yaml_input, file_out=None, generate_bom=False):
|
||||
yaml_data[sec] = []
|
||||
|
||||
# add connections
|
||||
ferrule_counter = 0
|
||||
for connections in yaml_data['connections']:
|
||||
if len(connections) == 3: # format: connector -- cable -- connector
|
||||
|
||||
for connection in connections:
|
||||
if len(list(connection.keys())) != 1: # check that each entry in con has only one key, which is the designator
|
||||
raise Exception('Too many keys')
|
||||
def check_designators(what, where): # helper function
|
||||
for i, x in enumerate(what):
|
||||
if x not in yaml_data[where[i]]:
|
||||
return False
|
||||
return True
|
||||
|
||||
from_name = list(connections[0].keys())[0]
|
||||
via_name = list(connections[1].keys())[0]
|
||||
to_name = list(connections[2].keys())[0]
|
||||
autogenerated_ids = {}
|
||||
for connection in yaml_data['connections']:
|
||||
# find first component (potentially nested inside list or dict)
|
||||
first_item = connection[0]
|
||||
if isinstance(first_item, list):
|
||||
first_item = first_item[0]
|
||||
elif isinstance(first_item, dict):
|
||||
first_item = list(first_item.keys())[0]
|
||||
elif isinstance(first_item, str):
|
||||
pass
|
||||
|
||||
if not check_designators([from_name, via_name, to_name], ('connectors', 'cables', 'connectors')):
|
||||
print([from_name, via_name, to_name])
|
||||
raise Exception('Bad connection definition (3)')
|
||||
# check which section the first item belongs to
|
||||
alternating_sections = ['connectors','cables']
|
||||
for index, section in enumerate(alternating_sections):
|
||||
if first_item in yaml_data[section]:
|
||||
expected_index = index
|
||||
break
|
||||
else:
|
||||
raise Exception('First item not found anywhere.')
|
||||
expected_index = 1 - expected_index # flip once since it is flipped back at the *beginning* of every loop
|
||||
|
||||
from_pins = expand(connections[0][from_name])
|
||||
via_pins = expand(connections[1][via_name])
|
||||
to_pins = expand(connections[2][to_name])
|
||||
# check that all iterable items (lists and dicts) are the same length
|
||||
# and that they are alternating between connectors and cables/bundles, starting with either
|
||||
itemcount = None
|
||||
for item in connection:
|
||||
expected_index = 1 - expected_index # make sure items alternate between connectors and cables
|
||||
expected_section = alternating_sections[expected_index]
|
||||
if isinstance(item, list):
|
||||
itemcount_new = len(item)
|
||||
for subitem in item:
|
||||
if not subitem in yaml_data[expected_section]:
|
||||
raise Exception(f'{subitem} is not in {expected_section}')
|
||||
elif isinstance(item, dict):
|
||||
if len(item.keys()) != 1:
|
||||
raise Exception('Dicts may contain only one key here!')
|
||||
itemcount_new = len(expand(list(item.values())[0]))
|
||||
subitem = list(item.keys())[0]
|
||||
if not subitem in yaml_data[expected_section]:
|
||||
raise Exception(f'{subitem} is not in {expected_section}')
|
||||
elif isinstance(item, str):
|
||||
if not item in yaml_data[expected_section]:
|
||||
raise Exception(f'{item} is not in {expected_section}')
|
||||
continue
|
||||
if itemcount is not None and itemcount_new != itemcount:
|
||||
raise Exception('All lists and dict lists must be the same length!')
|
||||
itemcount = itemcount_new
|
||||
if itemcount is None:
|
||||
raise Exception('No item revealed the number of connections to make!')
|
||||
|
||||
if len(from_pins) != len(via_pins) or len(via_pins) != len(to_pins):
|
||||
raise Exception('List length mismatch')
|
||||
# populate connection list
|
||||
connection_list = []
|
||||
for i, item in enumerate(connection):
|
||||
if isinstance(item, str): # one single-pin component was specified
|
||||
sublist = []
|
||||
for i in range(1, itemcount + 1):
|
||||
if yaml_data['connectors'][item].get('autogenerate'):
|
||||
autogenerated_ids[item] = autogenerated_ids.get(item, 0) + 1
|
||||
new_id = f'_{item}_{autogenerated_ids[item]}'
|
||||
harness.add_connector(new_id, **yaml_data['connectors'][item])
|
||||
sublist.append([new_id, 1])
|
||||
else:
|
||||
sublist.append([item, 1])
|
||||
connection_list.append(sublist)
|
||||
elif isinstance(item, list): # a list of single-pin components were specified
|
||||
sublist = []
|
||||
for subitem in item:
|
||||
if yaml_data['connectors'][subitem].get('autogenerate'):
|
||||
autogenerated_ids[subitem] = autogenerated_ids.get(subitem, 0) + 1
|
||||
new_id = f'_{subitem}_{autogenerated_ids[subitem]}'
|
||||
harness.add_connector(new_id, **yaml_data['connectors'][subitem])
|
||||
sublist.append([new_id, 1])
|
||||
else:
|
||||
sublist.append([subitem, 1])
|
||||
connection_list.append(sublist)
|
||||
elif isinstance(item, dict): # a component with multiple pins was specified
|
||||
sublist = []
|
||||
id = list(item.keys())[0]
|
||||
pins = expand(list(item.values())[0])
|
||||
for pin in pins:
|
||||
sublist.append([id, pin])
|
||||
connection_list.append(sublist)
|
||||
else:
|
||||
raise Exception('Unexpected item in connection list')
|
||||
|
||||
for (from_pin, via_pin, to_pin) in zip(from_pins, via_pins, to_pins):
|
||||
# actually connect components using connection list
|
||||
for i, item in enumerate(connection_list):
|
||||
id = item[0][0] # TODO: make more elegant/robust/pythonic
|
||||
if id in harness.cables:
|
||||
for j, con in enumerate(item):
|
||||
if i == 0: # list started with a cable, no connector to join on left side
|
||||
from_name = None
|
||||
from_pin = None
|
||||
else:
|
||||
from_name = connection_list[i-1][j][0]
|
||||
from_pin = connection_list[i-1][j][1]
|
||||
via_name = item[j][0]
|
||||
via_pin = item[j][1]
|
||||
if i == len(connection_list) - 1: # list ends with a cable, no connector to join on right side
|
||||
to_name = None
|
||||
to_pin = None
|
||||
else:
|
||||
to_name = connection_list[i+1][j][0]
|
||||
to_pin = connection_list[i+1][j][1]
|
||||
harness.connect(from_name, from_pin, via_name, via_pin, to_name, to_pin)
|
||||
|
||||
elif len(connections) == 2:
|
||||
if "additional_bom_items" in yaml_data:
|
||||
for line in yaml_data["additional_bom_items"]:
|
||||
harness.add_bom_item(line)
|
||||
|
||||
for connection in connections:
|
||||
if type(connection) is dict:
|
||||
if len(list(connection.keys())) != 1: # check that each entry in con has only one key, which is the designator
|
||||
raise Exception('Too many keys')
|
||||
if file_out is not None:
|
||||
harness.output(filename=file_out, fmt=('png', 'svg'), view=False)
|
||||
|
||||
# hack to make the format for ferrules compatible with the formats for connectors and cables
|
||||
if type(connections[0]) == str:
|
||||
name = connections[0]
|
||||
connections[0] = {}
|
||||
connections[0][name] = name
|
||||
if type(connections[1]) == str:
|
||||
name = connections[1]
|
||||
connections[1] = {}
|
||||
connections[1][name] = name
|
||||
if return_types is not None:
|
||||
returns = []
|
||||
if isinstance(return_types, str): # only one return type speficied
|
||||
return_types = [return_types]
|
||||
|
||||
from_name = list(connections[0].keys())[0]
|
||||
to_name = list(connections[1].keys())[0]
|
||||
return_types = [t.lower() for t in return_types]
|
||||
|
||||
con_cbl = check_designators([from_name, to_name], ('connectors', 'cables'))
|
||||
cbl_con = check_designators([from_name, to_name], ('cables', 'connectors'))
|
||||
con_con = check_designators([from_name, to_name], ('connectors', 'connectors'))
|
||||
for rt in return_types:
|
||||
if rt == 'png':
|
||||
returns.append(harness.png)
|
||||
if rt == 'svg':
|
||||
returns.append(harness.svg)
|
||||
if rt == 'harness':
|
||||
returns.append(harness)
|
||||
|
||||
fer_cbl = check_designators([from_name, to_name], ('ferrules', 'cables'))
|
||||
cbl_fer = check_designators([from_name, to_name], ('cables', 'ferrules'))
|
||||
|
||||
if not con_cbl and not cbl_con and not con_con and not fer_cbl and not cbl_fer:
|
||||
raise Exception('Wrong designators')
|
||||
|
||||
from_pins = expand(connections[0][from_name])
|
||||
to_pins = expand(connections[1][to_name])
|
||||
|
||||
if con_cbl or cbl_con or con_con:
|
||||
if len(from_pins) != len(to_pins):
|
||||
raise Exception('List length mismatch')
|
||||
|
||||
if con_cbl or cbl_con:
|
||||
for (from_pin, to_pin) in zip(from_pins, to_pins):
|
||||
if con_cbl:
|
||||
harness.connect(from_name, from_pin, to_name, to_pin, None, None)
|
||||
else: # cbl_con
|
||||
harness.connect(None, None, from_name, from_pin, to_name, to_pin)
|
||||
elif con_con:
|
||||
cocon_coname = list(connections[0].keys())[0]
|
||||
from_pins = expand(connections[0][from_name])
|
||||
to_pins = expand(connections[1][to_name])
|
||||
|
||||
for (from_pin, to_pin) in zip(from_pins, to_pins):
|
||||
harness.loop(cocon_coname, from_pin, to_pin)
|
||||
if fer_cbl or cbl_fer:
|
||||
from_pins = expand(connections[0][from_name])
|
||||
to_pins = expand(connections[1][to_name])
|
||||
|
||||
if fer_cbl:
|
||||
ferrule_name = from_name
|
||||
cable_name = to_name
|
||||
cable_pins = to_pins
|
||||
else:
|
||||
ferrule_name = to_name
|
||||
cable_name = from_name
|
||||
cable_pins = from_pins
|
||||
|
||||
ferrule_params = yaml_data['ferrules'][ferrule_name]
|
||||
for cable_pin in cable_pins:
|
||||
ferrule_counter = ferrule_counter + 1
|
||||
ferrule_id = f'_F{ferrule_counter}'
|
||||
harness.add_connector(ferrule_id, category='ferrule', **ferrule_params)
|
||||
|
||||
if fer_cbl:
|
||||
harness.connect(ferrule_id, 1, cable_name, cable_pin, None, None)
|
||||
else:
|
||||
harness.connect(None, None, cable_name, cable_pin, ferrule_id, 1)
|
||||
|
||||
else:
|
||||
raise Exception('Wrong number of connection parameters')
|
||||
|
||||
harness.output(filename=file_out, fmt=('png', 'svg'), gen_bom=generate_bom, view=False)
|
||||
return tuple(returns) if len(returns) != 1 else returns[0]
|
||||
|
||||
|
||||
def parse_file(yaml_file, file_out=None, generate_bom=False):
|
||||
def parse_file(yaml_file: str, file_out: (str, Path) = None) -> None:
|
||||
with open(yaml_file, 'r') as file:
|
||||
yaml_input = file.read()
|
||||
|
||||
@ -191,7 +206,7 @@ def parse_file(yaml_file, file_out=None, generate_bom=False):
|
||||
file_out = fn
|
||||
file_out = os.path.abspath(file_out)
|
||||
|
||||
parse(yaml_input, file_out=file_out, generate_bom=generate_bom)
|
||||
parse(yaml_input, file_out=file_out)
|
||||
|
||||
|
||||
def parse_cmdline():
|
||||
@ -232,7 +247,7 @@ def main():
|
||||
file_out = args.output_file
|
||||
file_out = os.path.abspath(file_out)
|
||||
|
||||
parse(yaml_input, file_out=file_out, generate_bom=args.generate_bom)
|
||||
parse(yaml_input, file_out=file_out)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@ -30,19 +30,52 @@ def awg_equiv(mm2):
|
||||
def mm2_equiv(awg):
|
||||
return mm2_equiv_table.get(str(awg), 'Unknown')
|
||||
|
||||
def nested(inp):
|
||||
l = []
|
||||
for x in inp:
|
||||
if isinstance(x, list):
|
||||
if len(x) > 0:
|
||||
n = nested(x)
|
||||
if n != '':
|
||||
l.append('{' + n + '}')
|
||||
def nested_html_table(rows):
|
||||
# input: list, each item may be scalar or list
|
||||
# output: a parent table with one child table per parent item that is list, and one cell per parent item that is scalar
|
||||
# purpose: create the appearance of one table, where cell widths are independent between rows
|
||||
html = '<table border="0" cellspacing="0" cellpadding="0">'
|
||||
for row in rows:
|
||||
if isinstance(row, List):
|
||||
if len(row) > 0 and any(row):
|
||||
html = f'{html}<tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr>'
|
||||
for cell in row:
|
||||
if cell is not None:
|
||||
html = f'{html}<td balign="left">{cell}</td>'
|
||||
html = f'{html}</tr></table></td></tr>'
|
||||
elif row is not None:
|
||||
html = f'{html}<tr><td>{row}</td></tr>'
|
||||
html = f'{html}</table>'
|
||||
return html
|
||||
|
||||
|
||||
def expand(yaml_data):
|
||||
# yaml_data can be:
|
||||
# - a singleton (normally str or int)
|
||||
# - a list of str or int
|
||||
# if str is of the format '#-#', it is treated as a range (inclusive) and expanded
|
||||
output = []
|
||||
if not isinstance(yaml_data, list):
|
||||
yaml_data = [yaml_data]
|
||||
for e in yaml_data:
|
||||
e = str(e)
|
||||
if '-' in e: # list of pins
|
||||
a, b = tuple(map(int, e.split('-')))
|
||||
if a < b:
|
||||
for x in range(a, b + 1):
|
||||
output.append(x)
|
||||
elif a > b:
|
||||
for x in range(a, b - 1, -1):
|
||||
output.append(x)
|
||||
elif a == b:
|
||||
output.append(a)
|
||||
else:
|
||||
if x is not None:
|
||||
if x != '':
|
||||
l.append(str(x))
|
||||
return '|'.join(l)
|
||||
try:
|
||||
x = int(e)
|
||||
except Exception:
|
||||
x = e
|
||||
output.append(x)
|
||||
return output
|
||||
|
||||
|
||||
def int2tuple(inp):
|
||||
@ -65,3 +98,16 @@ def tuplelist2tsv(inp, header=None):
|
||||
for row in inp:
|
||||
output = output + '\t'.join(str(item) for item in row) + '\n'
|
||||
return output
|
||||
|
||||
# Return the value indexed if it is a list, or simply the value otherwise.
|
||||
def index_if_list(value, index):
|
||||
return value[index] if isinstance(value, list) else value
|
||||
|
||||
def html_line_breaks(inp):
|
||||
return inp.replace('\n', '<br />') if isinstance(inp, str) else inp
|
||||
|
||||
def graphviz_line_breaks(inp):
|
||||
return inp.replace('\n', '\\n') if isinstance(inp, str) else inp # \n generates centered new lines. http://www.graphviz.org/doc/info/attrs.html#k:escString
|
||||
|
||||
def remove_line_breaks(inp):
|
||||
return inp.replace('\n', ' ').rstrip() if isinstance(inp, str) else inp
|
||||
|
||||
@ -203,9 +203,9 @@ connectors:
|
||||
pinout: [+12V, GND, GND, +5V]
|
||||
type: Molex 8981
|
||||
subtype: female
|
||||
|
||||
ferrules: # ferrules
|
||||
F1:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Ferrule, crimp
|
||||
subtype: 0.5 mm²
|
||||
color: OG # optional color
|
||||
@ -253,9 +253,9 @@ connectors:
|
||||
type: Ferrule, crimp
|
||||
subtype: 1.0 mm²
|
||||
color: YE
|
||||
|
||||
ferrules: # ferrules
|
||||
F_05:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Ferrule, crimp
|
||||
subtype: 0.5 mm²
|
||||
color: OG # optional color
|
||||
@ -361,3 +361,63 @@ Output:
|
||||
[Bill of Materials](tutorial07.bom.tsv)
|
||||
|
||||
|
||||
## 8 - Part numbers
|
||||
|
||||
* Part number information can be added to parts
|
||||
* Only provided fields will be added to the diagram and bom
|
||||
* Bundles can have part information specified by wire
|
||||
|
||||
[Source](tutorial08.yml):
|
||||
|
||||
```yaml
|
||||
connectors:
|
||||
X1: &template1 # define a template for later use
|
||||
type: Molex KK 254
|
||||
pincount: 4
|
||||
subtype: female
|
||||
manufacturer: Molex
|
||||
manufacturer_part_number: 22013047
|
||||
X2:
|
||||
<<: *template1 # reuse template
|
||||
internal_part_number: CON4
|
||||
X3:
|
||||
<<: *template1 # reuse template
|
||||
|
||||
cables:
|
||||
W1:
|
||||
wirecount: 4
|
||||
length: 1
|
||||
gauge: 0.25 mm2
|
||||
color_code: IEC
|
||||
manufacturer: CablesCo
|
||||
manufacturer_part_number: ABC123
|
||||
internal_part_number: CAB1
|
||||
W2:
|
||||
category: bundle
|
||||
length: 1
|
||||
gauge: 0.25 mm2
|
||||
colors: [YE, BK, BK, RD]
|
||||
manufacturer: [WiresCo,WiresCo,WiresCo,WiresCo]
|
||||
manufacturer_part_number: [W1-YE,W1-BK,W1-BK,W1-RD]
|
||||
internal_part_number: [WIRE1,WIRE2,WIRE2,WIRE3]
|
||||
|
||||
|
||||
connections:
|
||||
-
|
||||
- X1: [1-4]
|
||||
- W1: [1-4]
|
||||
- X2: [1-4]
|
||||
-
|
||||
- X1: [1-4]
|
||||
- W2: [1-4]
|
||||
- X3: [1-4]
|
||||
```
|
||||
|
||||
|
||||
Output:
|
||||
|
||||

|
||||
|
||||
[Bill of Materials](tutorial08.bom.tsv)
|
||||
|
||||
|
||||
|
||||
@ -3,9 +3,9 @@ connectors:
|
||||
pinout: [+12V, GND, GND, +5V]
|
||||
type: Molex 8981
|
||||
subtype: female
|
||||
|
||||
ferrules: # ferrules
|
||||
F1:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Ferrule, crimp
|
||||
subtype: 0.5 mm²
|
||||
color: OG # optional color
|
||||
|
||||
@ -8,9 +8,9 @@ connectors:
|
||||
type: Ferrule, crimp
|
||||
subtype: 1.0 mm²
|
||||
color: YE
|
||||
|
||||
ferrules: # ferrules
|
||||
F_05:
|
||||
category: ferrule
|
||||
autogenerate: true
|
||||
type: Ferrule, crimp
|
||||
subtype: 0.5 mm²
|
||||
color: OG # optional color
|
||||
|
||||
7
tutorial/tutorial08.bom.tsv
Normal file
@ -0,0 +1,7 @@
|
||||
Item Qty Unit Designators Manufacturer Manufacturer part number Internal part number
|
||||
Connector, Molex KK 254, female, 4 pins 2 X1, X3 Molex 22013047
|
||||
Connector, Molex KK 254, female, 4 pins 1 X2 Molex 22013047 CON4
|
||||
Cable, 4 x 0.25 mm² 1 m W1 CablesCo ABC123 CAB1
|
||||
Wire, 0.25 mm², BK 2 m W2 WiresCo W1-BK WIRE2
|
||||
Wire, 0.25 mm², RD 1 m W2 WiresCo W1-RD WIRE3
|
||||
Wire, 0.25 mm², YE 1 m W2 WiresCo W1-YE WIRE1
|
||||
|
36
tutorial/tutorial08.gv
Normal file
@ -0,0 +1,36 @@
|
||||
graph {
|
||||
// Graph generated by WireViz
|
||||
// https://github.com/formatc1702/WireViz
|
||||
graph [bgcolor=white fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
|
||||
node [fillcolor=white fontname=arial shape=record style=filled]
|
||||
edge [fontname=arial style=bold]
|
||||
X1 [label="X1|{Molex|MPN: 22013047}|{Molex KK 254|female|4-pin}|{{<p1r>1|<p2r>2|<p3r>3|<p4r>4}}"]
|
||||
X2 [label="X2|{Molex|MPN: 22013047|IPN: CON4}|{Molex KK 254|female|4-pin}|{{<p1l>1|<p2l>2|<p3l>3|<p4l>4}}"]
|
||||
X3 [label="X3|{Molex|MPN: 22013047}|{Molex KK 254|female|4-pin}|{{<p1l>1|<p2l>2|<p3l>3|<p4l>4}}"]
|
||||
edge [color="#000000:#666600:#000000"]
|
||||
X1:p1r:e -- W1:w1:w
|
||||
W1:w1:e -- X2:p1l:w
|
||||
edge [color="#000000:#ff0000:#000000"]
|
||||
X1:p2r:e -- W1:w2:w
|
||||
W1:w2:e -- X2:p2l:w
|
||||
edge [color="#000000:#ff8000:#000000"]
|
||||
X1:p3r:e -- W1:w3:w
|
||||
W1:w3:e -- X2:p3l:w
|
||||
edge [color="#000000:#ffff00:#000000"]
|
||||
X1:p4r:e -- W1:w4:w
|
||||
W1:w4:e -- X2:p4l:w
|
||||
W1 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="3">W1</td></tr><tr><td colspan="3" cellpadding="0"><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td sides="R">CablesCo</td><td sides="R">MPN: ABC123</td><td border="0">IPN: CAB1</td></tr></table></td></tr><tr><td>4x</td><td>0.25 mm²</td><td>1 m</td></tr></table></td></tr><tr><td> </td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>BN</td><td>X2:1</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#666600" border="2" sides="tb" port="w1"></td></tr><tr><td>X1:2</td><td>RD</td><td>X2:2</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff0000" border="2" sides="tb" port="w2"></td></tr><tr><td>X1:3</td><td>OG</td><td>X2:3</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff8000" border="2" sides="tb" port="w3"></td></tr><tr><td>X1:4</td><td>YE</td><td>X2:4</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ffff00" border="2" sides="tb" port="w4"></td></tr><tr><td> </td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style=""]
|
||||
edge [color="#000000:#ffff00:#000000"]
|
||||
X1:p1r:e -- W2:w1:w
|
||||
W2:w1:e -- X3:p1l:w
|
||||
edge [color="#000000:#000000:#000000"]
|
||||
X1:p2r:e -- W2:w2:w
|
||||
W2:w2:e -- X3:p2l:w
|
||||
edge [color="#000000:#000000:#000000"]
|
||||
X1:p3r:e -- W2:w3:w
|
||||
W2:w3:e -- X3:p3l:w
|
||||
edge [color="#000000:#ff0000:#000000"]
|
||||
X1:p4r:e -- W2:w4:w
|
||||
W2:w4:e -- X3:p4l:w
|
||||
W2 [label=<<table border="0" cellspacing="0" cellpadding="0"><tr><td><table border="0" cellspacing="0" cellpadding="3" cellborder="1"><tr><td colspan="3">W2</td></tr><tr><td>4x</td><td>0.25 mm²</td><td>1 m</td></tr></table></td></tr><tr><td> </td></tr><tr><td><table border="0" cellspacing="0" cellborder="0"><tr><td>X1:1</td><td>YE</td><td>X3:1</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ffff00" border="2" sides="tb" port="w1"></td></tr><tr><td colspan="3"><table border="0" cellspacing="0" cellborder="0"><tr><td>WiresCo</td><td>MPN: W1-YE</td><td>IPN: WIRE1</td></tr></table></td></tr><tr><td>X1:2</td><td>BK</td><td>X3:2</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#000000" border="2" sides="tb" port="w2"></td></tr><tr><td colspan="3"><table border="0" cellspacing="0" cellborder="0"><tr><td>WiresCo</td><td>MPN: W1-BK</td><td>IPN: WIRE2</td></tr></table></td></tr><tr><td>X1:3</td><td>BK</td><td>X3:3</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#000000" border="2" sides="tb" port="w3"></td></tr><tr><td colspan="3"><table border="0" cellspacing="0" cellborder="0"><tr><td>WiresCo</td><td>MPN: W1-BK</td><td>IPN: WIRE2</td></tr></table></td></tr><tr><td>X1:4</td><td>RD</td><td>X3:4</td></tr><tr><td colspan="3" cellpadding="0" height="6" bgcolor="#ff0000" border="2" sides="tb" port="w4"></td></tr><tr><td colspan="3"><table border="0" cellspacing="0" cellborder="0"><tr><td>WiresCo</td><td>MPN: W1-RD</td><td>IPN: WIRE3</td></tr></table></td></tr><tr><td> </td></tr></table></td></tr></table>> fillcolor=white margin=0 shape=box style="filled,dashed"]
|
||||
}
|
||||
295
tutorial/tutorial08.html
Normal file
@ -0,0 +1,295 @@
|
||||
<html><body style="font-family:Arial"><h1>Diagram</h1><?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="993pt" height="510pt"
|
||||
viewBox="0.00 0.00 993.00 509.50" 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 505.5)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-505.5 989,-505.5 989,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-207.5 0,-368.5 206,-368.5 206,-207.5 0,-207.5"/>
|
||||
<text text-anchor="middle" x="103" y="-353.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-345.5 206,-345.5 "/>
|
||||
<text text-anchor="middle" x="36" y="-330.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="72,-322.5 72,-345.5 "/>
|
||||
<text text-anchor="middle" x="139" y="-330.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="0,-322.5 206,-322.5 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-307.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-299.5 101,-322.5 "/>
|
||||
<text text-anchor="middle" x="130" y="-307.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-299.5 159,-322.5 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-307.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-299.5 206,-299.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-284.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-276.5 206,-276.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-261.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="0,-253.5 206,-253.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-238.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="0,-230.5 206,-230.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-215.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="588,-501.5 350,-501.5 350,-296.5 588,-296.5 588,-501.5"/>
|
||||
<polygon fill="none" stroke="black" points="350,-478 350,-501 588,-501 588,-478 350,-478"/>
|
||||
<text text-anchor="start" x="458" y="-485.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350,-453 350,-478 588,-478 588,-453 350,-453"/>
|
||||
<polyline fill="none" stroke="black" points="419,-454 419,-477 "/>
|
||||
<text text-anchor="start" x="355" y="-461.8" font-family="arial" font-size="14.00">CablesCo</text>
|
||||
<polyline fill="none" stroke="black" points="515,-454 515,-477 "/>
|
||||
<text text-anchor="start" x="423" y="-461.8" font-family="arial" font-size="14.00">MPN: ABC123</text>
|
||||
<text text-anchor="start" x="518" y="-461.8" font-family="arial" font-size="14.00">IPN: CAB1</text>
|
||||
<polygon fill="none" stroke="black" points="350,-430 350,-453 431,-453 431,-430 350,-430"/>
|
||||
<text text-anchor="start" x="383" y="-437.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="431,-430 431,-453 527,-453 527,-430 431,-430"/>
|
||||
<text text-anchor="start" x="449.5" y="-437.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="527,-430 527,-453 588,-453 588,-430 527,-430"/>
|
||||
<text text-anchor="start" x="545.5" y="-437.8" font-family="arial" font-size="14.00">1 m</text>
|
||||
<text text-anchor="start" x="467" y="-418.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="376.5" y="-401.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="459.5" y="-401.8" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="533.5" y="-401.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#666600" stroke="transparent" points="350,-390 350,-396 588,-396 588,-390 350,-390"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-391 587,-391 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-395 351,-395 "/>
|
||||
<text text-anchor="start" x="376.5" y="-376.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="459" y="-376.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="533.5" y="-376.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" stroke-width="2" points="350,-365 350,-371 588,-371 588,-365 350,-365"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-366 587,-366 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-370 351,-370 "/>
|
||||
<text text-anchor="start" x="376.5" y="-351.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="457.5" y="-351.8" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="533.5" y="-351.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ff8000" stroke="transparent" stroke-width="2" points="350,-340 350,-346 588,-346 588,-340 350,-340"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-341 587,-341 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-345 351,-345 "/>
|
||||
<text text-anchor="start" x="376.5" y="-326.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="459.5" y="-326.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="533.5" y="-326.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350,-315 350,-321 588,-321 588,-315 350,-315"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-316 587,-316 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-320 351,-320 "/>
|
||||
<text text-anchor="start" x="388.5" y="-301.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-286C287.19,-288.27 272.77,-393.27 350,-391"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M206,-288C285.21,-288 270.79,-393 350,-393"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-290C283.23,-287.73 268.81,-392.73 350,-395"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-263C286.67,-265.26 273.3,-368.26 350,-366"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-265C284.69,-265 271.31,-368 350,-368"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-267C282.7,-264.74 269.33,-367.74 350,-370"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-240C286.16,-242.24 273.81,-343.24 350,-341"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M206,-242C284.17,-242 271.83,-343 350,-343"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-244C282.19,-241.76 269.84,-342.76 350,-345"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-217C285.65,-219.23 274.32,-318.23 350,-316"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-219C283.67,-219 272.33,-318 350,-318"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-221C281.68,-218.77 270.35,-317.77 350,-320"/>
|
||||
</g>
|
||||
<!-- W2 -->
|
||||
<g id="node5" class="node">
|
||||
<title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="582.5,-272 355.5,-272 355.5,0 582.5,0 582.5,-272"/>
|
||||
<polygon fill="none" stroke="black" points="356,-249 356,-272 583,-272 583,-249 356,-249"/>
|
||||
<text text-anchor="start" x="458.5" y="-256.8" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="356,-226 356,-249 414,-249 414,-226 356,-226"/>
|
||||
<text text-anchor="start" x="377.5" y="-233.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="414,-226 414,-249 516,-249 516,-226 414,-226"/>
|
||||
<text text-anchor="start" x="435.5" y="-233.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="516,-226 516,-249 583,-249 583,-226 516,-226"/>
|
||||
<text text-anchor="start" x="537.5" y="-233.8" font-family="arial" font-size="14.00">1 m</text>
|
||||
<text text-anchor="start" x="467.5" y="-214.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="392.5" y="-197.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="477" y="-197.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="535.5" y="-197.8" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" points="356,-186 356,-192 583,-192 583,-186 356,-186"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-187 582,-187 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-191 357,-191 "/>
|
||||
<text text-anchor="start" x="360.5" y="-170.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-170.8" font-family="arial" font-size="14.00">MPN: W1-YE</text>
|
||||
<text text-anchor="start" x="505" y="-170.8" font-family="arial" font-size="14.00">IPN: WIRE1</text>
|
||||
<text text-anchor="start" x="392.5" y="-149.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="477" y="-149.8" font-family="arial" font-size="14.00">BK</text>
|
||||
<text text-anchor="start" x="535.5" y="-149.8" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#000000" stroke="transparent" points="356,-138 356,-144 583,-144 583,-138 356,-138"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-139 582,-139 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-143 357,-143 "/>
|
||||
<text text-anchor="start" x="360.5" y="-122.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-122.8" font-family="arial" font-size="14.00">MPN: W1-BK</text>
|
||||
<text text-anchor="start" x="505" y="-122.8" font-family="arial" font-size="14.00">IPN: WIRE2</text>
|
||||
<text text-anchor="start" x="392.5" y="-101.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="477" y="-101.8" font-family="arial" font-size="14.00">BK</text>
|
||||
<text text-anchor="start" x="535.5" y="-101.8" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#000000" stroke="transparent" points="356,-90 356,-96 583,-96 583,-90 356,-90"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-91 582,-91 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-95 357,-95 "/>
|
||||
<text text-anchor="start" x="360.5" y="-74.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-74.8" font-family="arial" font-size="14.00">MPN: W1-BK</text>
|
||||
<text text-anchor="start" x="505" y="-74.8" font-family="arial" font-size="14.00">IPN: WIRE2</text>
|
||||
<text text-anchor="start" x="392.5" y="-53.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="476.5" y="-53.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="535.5" y="-53.8" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" points="356,-42 356,-48 583,-48 583,-42 356,-42"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-43 582,-43 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-47 357,-47 "/>
|
||||
<text text-anchor="start" x="360" y="-26.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="417" y="-26.8" font-family="arial" font-size="14.00">MPN: W1-RD</text>
|
||||
<text text-anchor="start" x="505" y="-26.8" font-family="arial" font-size="14.00">IPN: WIRE3</text>
|
||||
<text text-anchor="start" x="404.5" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-286C283.52,-288.2 273.5,-189.2 355,-187"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-288C285.51,-288 275.49,-189 355,-189"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-290C287.5,-287.8 277.48,-188.8 355,-191"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-263C290.19,-265.37 266.88,-141.37 355,-139"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-265C292.15,-265 268.85,-141 355,-141"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-267C294.12,-264.63 270.81,-140.63 355,-143"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-240C297.72,-242.5 259.41,-93.5 355,-91"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-242C299.65,-242 261.35,-93 355,-93"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-244C301.59,-241.5 263.28,-92.5 355,-95"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-217C305.9,-219.6 251.28,-45.6 355,-43"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-219C307.81,-219 253.19,-45 355,-45"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-221C309.72,-218.4 255.1,-44.4 355,-47"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="732,-309.5 732,-470.5 985,-470.5 985,-309.5 732,-309.5"/>
|
||||
<text text-anchor="middle" x="858.5" y="-455.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="732,-447.5 985,-447.5 "/>
|
||||
<text text-anchor="middle" x="758.5" y="-432.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="785,-424.5 785,-447.5 "/>
|
||||
<text text-anchor="middle" x="842.5" y="-432.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="900,-424.5 900,-447.5 "/>
|
||||
<text text-anchor="middle" x="942.5" y="-432.3" font-family="arial" font-size="14.00">IPN: CON4</text>
|
||||
<polyline fill="none" stroke="black" points="732,-424.5 985,-424.5 "/>
|
||||
<text text-anchor="middle" x="790" y="-409.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="848,-401.5 848,-424.5 "/>
|
||||
<text text-anchor="middle" x="885" y="-409.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="922,-401.5 922,-424.5 "/>
|
||||
<text text-anchor="middle" x="953.5" y="-409.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="732,-401.5 985,-401.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-386.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="732,-378.5 985,-378.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-363.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="732,-355.5 985,-355.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-340.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="732,-332.5 985,-332.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-317.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- X3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="755.5,-71.5 755.5,-232.5 961.5,-232.5 961.5,-71.5 755.5,-71.5"/>
|
||||
<text text-anchor="middle" x="858.5" y="-217.3" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-209.5 961.5,-209.5 "/>
|
||||
<text text-anchor="middle" x="791.5" y="-194.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="827.5,-186.5 827.5,-209.5 "/>
|
||||
<text text-anchor="middle" x="894.5" y="-194.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-186.5 961.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="806" y="-171.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="856.5,-163.5 856.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="885.5" y="-171.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="914.5,-163.5 914.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="938" y="-171.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-163.5 961.5,-163.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-148.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-140.5 961.5,-140.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-125.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-117.5 961.5,-117.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-102.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-94.5 961.5,-94.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-79.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-391C651.64,-391.03 667.62,-388.03 732,-388"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M588,-393C652.01,-393 667.99,-390 732,-390"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-395C652.38,-394.97 668.36,-391.97 732,-392"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-366C651.88,-366 667.87,-365 732,-365"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M588,-368C652,-368 668,-367 732,-367"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-370C652.13,-370 668.12,-369 732,-369"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-341C652.13,-341 668.12,-342 732,-342"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M588,-343C652,-343 668,-344 732,-344"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-345C651.88,-345 667.87,-346 732,-346"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-316C652.38,-316.03 668.36,-319.03 732,-319"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M588,-318C652.01,-318 667.99,-321 732,-321"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-320C651.64,-319.97 667.62,-322.97 732,-323"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-187C659.7,-188.23 675.11,-151.23 754.5,-150"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M584,-189C661.54,-189 676.96,-152 754.5,-152"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-191C663.39,-189.77 678.8,-152.77 754.5,-154"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-139C658.88,-139.32 677.45,-127.32 754.5,-127"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-141C659.97,-141 678.53,-129 754.5,-129"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-143C661.05,-142.68 679.62,-130.68 754.5,-131"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-91C661.15,-91.36 679.65,-104.36 754.5,-104"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-93C660,-93 678.5,-106 754.5,-106"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-95C658.85,-94.64 677.35,-107.64 754.5,-108"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-43C663.49,-44.26 678.72,-82.26 754.5,-81"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M584,-45C661.64,-45 676.86,-83 754.5,-83"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-47C659.78,-45.74 675.01,-83.74 754.5,-85"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer part number</th><th align="left" style="border:1px solid #000000; padding: 8px">Internal part number</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X3</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X2</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px">CON4</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Cable, 4 x 0.25 mm²</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px">CablesCo</td><td style="border:1px solid #000000; padding: 4px">ABC123</td><td style="border:1px solid #000000; padding: 4px">CAB1</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², BK</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-BK</td><td style="border:1px solid #000000; padding: 4px">WIRE2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², RD</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-RD</td><td style="border:1px solid #000000; padding: 4px">WIRE3</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-YE</td><td style="border:1px solid #000000; padding: 4px">WIRE1</td></tr></table></body></html>
|
||||
5
tutorial/tutorial08.md
Normal file
@ -0,0 +1,5 @@
|
||||
## Part numbers
|
||||
|
||||
* Part number information can be added to parts
|
||||
* Only provided fields will be added to the diagram and bom
|
||||
* Bundles can have part information specified by wire
|
||||
BIN
tutorial/tutorial08.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
294
tutorial/tutorial08.svg
Normal file
@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Pages: 1 -->
|
||||
<svg width="993pt" height="510pt"
|
||||
viewBox="0.00 0.00 993.00 509.50" 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 505.5)">
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-505.5 989,-505.5 989,4 -4,4"/>
|
||||
<!-- X1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>X1</title>
|
||||
<polygon fill="white" stroke="black" points="0,-207.5 0,-368.5 206,-368.5 206,-207.5 0,-207.5"/>
|
||||
<text text-anchor="middle" x="103" y="-353.3" font-family="arial" font-size="14.00">X1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-345.5 206,-345.5 "/>
|
||||
<text text-anchor="middle" x="36" y="-330.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="72,-322.5 72,-345.5 "/>
|
||||
<text text-anchor="middle" x="139" y="-330.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="0,-322.5 206,-322.5 "/>
|
||||
<text text-anchor="middle" x="50.5" y="-307.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="101,-299.5 101,-322.5 "/>
|
||||
<text text-anchor="middle" x="130" y="-307.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="159,-299.5 159,-322.5 "/>
|
||||
<text text-anchor="middle" x="182.5" y="-307.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="0,-299.5 206,-299.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-284.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="0,-276.5 206,-276.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-261.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="0,-253.5 206,-253.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-238.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="0,-230.5 206,-230.5 "/>
|
||||
<text text-anchor="middle" x="103" y="-215.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>W1</title>
|
||||
<polygon fill="none" stroke="black" points="588,-501.5 350,-501.5 350,-296.5 588,-296.5 588,-501.5"/>
|
||||
<polygon fill="none" stroke="black" points="350,-478 350,-501 588,-501 588,-478 350,-478"/>
|
||||
<text text-anchor="start" x="458" y="-485.8" font-family="arial" font-size="14.00">W1</text>
|
||||
<polygon fill="none" stroke="black" points="350,-453 350,-478 588,-478 588,-453 350,-453"/>
|
||||
<polyline fill="none" stroke="black" points="419,-454 419,-477 "/>
|
||||
<text text-anchor="start" x="355" y="-461.8" font-family="arial" font-size="14.00">CablesCo</text>
|
||||
<polyline fill="none" stroke="black" points="515,-454 515,-477 "/>
|
||||
<text text-anchor="start" x="423" y="-461.8" font-family="arial" font-size="14.00">MPN: ABC123</text>
|
||||
<text text-anchor="start" x="518" y="-461.8" font-family="arial" font-size="14.00">IPN: CAB1</text>
|
||||
<polygon fill="none" stroke="black" points="350,-430 350,-453 431,-453 431,-430 350,-430"/>
|
||||
<text text-anchor="start" x="383" y="-437.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="431,-430 431,-453 527,-453 527,-430 431,-430"/>
|
||||
<text text-anchor="start" x="449.5" y="-437.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="527,-430 527,-453 588,-453 588,-430 527,-430"/>
|
||||
<text text-anchor="start" x="545.5" y="-437.8" font-family="arial" font-size="14.00">1 m</text>
|
||||
<text text-anchor="start" x="467" y="-418.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="376.5" y="-401.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="459.5" y="-401.8" font-family="arial" font-size="14.00">BN</text>
|
||||
<text text-anchor="start" x="533.5" y="-401.8" font-family="arial" font-size="14.00">X2:1</text>
|
||||
<polygon fill="#666600" stroke="transparent" points="350,-390 350,-396 588,-396 588,-390 350,-390"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-391 587,-391 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-395 351,-395 "/>
|
||||
<text text-anchor="start" x="376.5" y="-376.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="459" y="-376.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="533.5" y="-376.8" font-family="arial" font-size="14.00">X2:2</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" stroke-width="2" points="350,-365 350,-371 588,-371 588,-365 350,-365"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-366 587,-366 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-370 351,-370 "/>
|
||||
<text text-anchor="start" x="376.5" y="-351.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="457.5" y="-351.8" font-family="arial" font-size="14.00">OG</text>
|
||||
<text text-anchor="start" x="533.5" y="-351.8" font-family="arial" font-size="14.00">X2:3</text>
|
||||
<polygon fill="#ff8000" stroke="transparent" stroke-width="2" points="350,-340 350,-346 588,-346 588,-340 350,-340"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-341 587,-341 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-345 351,-345 "/>
|
||||
<text text-anchor="start" x="376.5" y="-326.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="459.5" y="-326.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="533.5" y="-326.8" font-family="arial" font-size="14.00">X2:4</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" stroke-width="2" points="350,-315 350,-321 588,-321 588,-315 350,-315"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="351,-316 587,-316 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="587,-320 351,-320 "/>
|
||||
<text text-anchor="start" x="388.5" y="-301.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-286C287.19,-288.27 272.77,-393.27 350,-391"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M206,-288C285.21,-288 270.79,-393 350,-393"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-290C283.23,-287.73 268.81,-392.73 350,-395"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-263C286.67,-265.26 273.3,-368.26 350,-366"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-265C284.69,-265 271.31,-368 350,-368"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-267C282.7,-264.74 269.33,-367.74 350,-370"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-240C286.16,-242.24 273.81,-343.24 350,-341"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M206,-242C284.17,-242 271.83,-343 350,-343"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-244C282.19,-241.76 269.84,-342.76 350,-345"/>
|
||||
</g>
|
||||
<!-- X1--W1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>X1:e--W1:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-217C285.65,-219.23 274.32,-318.23 350,-316"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-219C283.67,-219 272.33,-318 350,-318"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-221C281.68,-218.77 270.35,-317.77 350,-320"/>
|
||||
</g>
|
||||
<!-- W2 -->
|
||||
<g id="node5" class="node">
|
||||
<title>W2</title>
|
||||
<polygon fill="white" stroke="black" stroke-dasharray="5,2" points="582.5,-272 355.5,-272 355.5,0 582.5,0 582.5,-272"/>
|
||||
<polygon fill="none" stroke="black" points="356,-249 356,-272 583,-272 583,-249 356,-249"/>
|
||||
<text text-anchor="start" x="458.5" y="-256.8" font-family="arial" font-size="14.00">W2</text>
|
||||
<polygon fill="none" stroke="black" points="356,-226 356,-249 414,-249 414,-226 356,-226"/>
|
||||
<text text-anchor="start" x="377.5" y="-233.8" font-family="arial" font-size="14.00">4x</text>
|
||||
<polygon fill="none" stroke="black" points="414,-226 414,-249 516,-249 516,-226 414,-226"/>
|
||||
<text text-anchor="start" x="435.5" y="-233.8" font-family="arial" font-size="14.00">0.25 mm²</text>
|
||||
<polygon fill="none" stroke="black" points="516,-226 516,-249 583,-249 583,-226 516,-226"/>
|
||||
<text text-anchor="start" x="537.5" y="-233.8" font-family="arial" font-size="14.00">1 m</text>
|
||||
<text text-anchor="start" x="467.5" y="-214.8" font-family="arial" font-size="14.00"> </text>
|
||||
<text text-anchor="start" x="392.5" y="-197.8" font-family="arial" font-size="14.00">X1:1</text>
|
||||
<text text-anchor="start" x="477" y="-197.8" font-family="arial" font-size="14.00">YE</text>
|
||||
<text text-anchor="start" x="535.5" y="-197.8" font-family="arial" font-size="14.00">X3:1</text>
|
||||
<polygon fill="#ffff00" stroke="transparent" points="356,-186 356,-192 583,-192 583,-186 356,-186"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-187 582,-187 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-191 357,-191 "/>
|
||||
<text text-anchor="start" x="360.5" y="-170.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-170.8" font-family="arial" font-size="14.00">MPN: W1-YE</text>
|
||||
<text text-anchor="start" x="505" y="-170.8" font-family="arial" font-size="14.00">IPN: WIRE1</text>
|
||||
<text text-anchor="start" x="392.5" y="-149.8" font-family="arial" font-size="14.00">X1:2</text>
|
||||
<text text-anchor="start" x="477" y="-149.8" font-family="arial" font-size="14.00">BK</text>
|
||||
<text text-anchor="start" x="535.5" y="-149.8" font-family="arial" font-size="14.00">X3:2</text>
|
||||
<polygon fill="#000000" stroke="transparent" points="356,-138 356,-144 583,-144 583,-138 356,-138"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-139 582,-139 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-143 357,-143 "/>
|
||||
<text text-anchor="start" x="360.5" y="-122.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-122.8" font-family="arial" font-size="14.00">MPN: W1-BK</text>
|
||||
<text text-anchor="start" x="505" y="-122.8" font-family="arial" font-size="14.00">IPN: WIRE2</text>
|
||||
<text text-anchor="start" x="392.5" y="-101.8" font-family="arial" font-size="14.00">X1:3</text>
|
||||
<text text-anchor="start" x="477" y="-101.8" font-family="arial" font-size="14.00">BK</text>
|
||||
<text text-anchor="start" x="535.5" y="-101.8" font-family="arial" font-size="14.00">X3:3</text>
|
||||
<polygon fill="#000000" stroke="transparent" points="356,-90 356,-96 583,-96 583,-90 356,-90"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-91 582,-91 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-95 357,-95 "/>
|
||||
<text text-anchor="start" x="360.5" y="-74.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="418.5" y="-74.8" font-family="arial" font-size="14.00">MPN: W1-BK</text>
|
||||
<text text-anchor="start" x="505" y="-74.8" font-family="arial" font-size="14.00">IPN: WIRE2</text>
|
||||
<text text-anchor="start" x="392.5" y="-53.8" font-family="arial" font-size="14.00">X1:4</text>
|
||||
<text text-anchor="start" x="476.5" y="-53.8" font-family="arial" font-size="14.00">RD</text>
|
||||
<text text-anchor="start" x="535.5" y="-53.8" font-family="arial" font-size="14.00">X3:4</text>
|
||||
<polygon fill="#ff0000" stroke="transparent" points="356,-42 356,-48 583,-48 583,-42 356,-42"/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="357,-43 582,-43 "/>
|
||||
<polyline fill="none" stroke="black" stroke-width="2" points="582,-47 357,-47 "/>
|
||||
<text text-anchor="start" x="360" y="-26.8" font-family="arial" font-size="14.00">WiresCo</text>
|
||||
<text text-anchor="start" x="417" y="-26.8" font-family="arial" font-size="14.00">MPN: W1-RD</text>
|
||||
<text text-anchor="start" x="505" y="-26.8" font-family="arial" font-size="14.00">IPN: WIRE3</text>
|
||||
<text text-anchor="start" x="404.5" y="-5.8" font-family="arial" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-286C283.52,-288.2 273.5,-189.2 355,-187"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M206,-288C285.51,-288 275.49,-189 355,-189"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-290C287.5,-287.8 277.48,-188.8 355,-191"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-263C290.19,-265.37 266.88,-141.37 355,-139"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-265C292.15,-265 268.85,-141 355,-141"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-267C294.12,-264.63 270.81,-140.63 355,-143"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-240C297.72,-242.5 259.41,-93.5 355,-91"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-242C299.65,-242 261.35,-93 355,-93"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-244C301.59,-241.5 263.28,-92.5 355,-95"/>
|
||||
</g>
|
||||
<!-- X1--W2 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>X1:e--W2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-217C305.9,-219.6 251.28,-45.6 355,-43"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M206,-219C307.81,-219 253.19,-45 355,-45"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M206,-221C309.72,-218.4 255.1,-44.4 355,-47"/>
|
||||
</g>
|
||||
<!-- X2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>X2</title>
|
||||
<polygon fill="white" stroke="black" points="732,-309.5 732,-470.5 985,-470.5 985,-309.5 732,-309.5"/>
|
||||
<text text-anchor="middle" x="858.5" y="-455.3" font-family="arial" font-size="14.00">X2</text>
|
||||
<polyline fill="none" stroke="black" points="732,-447.5 985,-447.5 "/>
|
||||
<text text-anchor="middle" x="758.5" y="-432.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="785,-424.5 785,-447.5 "/>
|
||||
<text text-anchor="middle" x="842.5" y="-432.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="900,-424.5 900,-447.5 "/>
|
||||
<text text-anchor="middle" x="942.5" y="-432.3" font-family="arial" font-size="14.00">IPN: CON4</text>
|
||||
<polyline fill="none" stroke="black" points="732,-424.5 985,-424.5 "/>
|
||||
<text text-anchor="middle" x="790" y="-409.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="848,-401.5 848,-424.5 "/>
|
||||
<text text-anchor="middle" x="885" y="-409.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="922,-401.5 922,-424.5 "/>
|
||||
<text text-anchor="middle" x="953.5" y="-409.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="732,-401.5 985,-401.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-386.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="732,-378.5 985,-378.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-363.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="732,-355.5 985,-355.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-340.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="732,-332.5 985,-332.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-317.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- X3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>X3</title>
|
||||
<polygon fill="white" stroke="black" points="755.5,-71.5 755.5,-232.5 961.5,-232.5 961.5,-71.5 755.5,-71.5"/>
|
||||
<text text-anchor="middle" x="858.5" y="-217.3" font-family="arial" font-size="14.00">X3</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-209.5 961.5,-209.5 "/>
|
||||
<text text-anchor="middle" x="791.5" y="-194.3" font-family="arial" font-size="14.00">Molex</text>
|
||||
<polyline fill="none" stroke="black" points="827.5,-186.5 827.5,-209.5 "/>
|
||||
<text text-anchor="middle" x="894.5" y="-194.3" font-family="arial" font-size="14.00">MPN: 22013047</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-186.5 961.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="806" y="-171.3" font-family="arial" font-size="14.00">Molex KK 254</text>
|
||||
<polyline fill="none" stroke="black" points="856.5,-163.5 856.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="885.5" y="-171.3" font-family="arial" font-size="14.00">female</text>
|
||||
<polyline fill="none" stroke="black" points="914.5,-163.5 914.5,-186.5 "/>
|
||||
<text text-anchor="middle" x="938" y="-171.3" font-family="arial" font-size="14.00">4-pin</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-163.5 961.5,-163.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-148.3" font-family="arial" font-size="14.00">1</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-140.5 961.5,-140.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-125.3" font-family="arial" font-size="14.00">2</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-117.5 961.5,-117.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-102.3" font-family="arial" font-size="14.00">3</text>
|
||||
<polyline fill="none" stroke="black" points="755.5,-94.5 961.5,-94.5 "/>
|
||||
<text text-anchor="middle" x="858.5" y="-79.3" font-family="arial" font-size="14.00">4</text>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-391C651.64,-391.03 667.62,-388.03 732,-388"/>
|
||||
<path fill="none" stroke="#666600" stroke-width="2" d="M588,-393C652.01,-393 667.99,-390 732,-390"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-395C652.38,-394.97 668.36,-391.97 732,-392"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-366C651.88,-366 667.87,-365 732,-365"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M588,-368C652,-368 668,-367 732,-367"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-370C652.13,-370 668.12,-369 732,-369"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-341C652.13,-341 668.12,-342 732,-342"/>
|
||||
<path fill="none" stroke="#ff8000" stroke-width="2" d="M588,-343C652,-343 668,-344 732,-344"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-345C651.88,-345 667.87,-346 732,-346"/>
|
||||
</g>
|
||||
<!-- W1--X2 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>W1:e--X2:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-316C652.38,-316.03 668.36,-319.03 732,-319"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M588,-318C652.01,-318 667.99,-321 732,-321"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M588,-320C651.64,-319.97 667.62,-322.97 732,-323"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-187C659.7,-188.23 675.11,-151.23 754.5,-150"/>
|
||||
<path fill="none" stroke="#ffff00" stroke-width="2" d="M584,-189C661.54,-189 676.96,-152 754.5,-152"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-191C663.39,-189.77 678.8,-152.77 754.5,-154"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-139C658.88,-139.32 677.45,-127.32 754.5,-127"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-141C659.97,-141 678.53,-129 754.5,-129"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-143C661.05,-142.68 679.62,-130.68 754.5,-131"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-91C661.15,-91.36 679.65,-104.36 754.5,-104"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-93C660,-93 678.5,-106 754.5,-106"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-95C658.85,-94.64 677.35,-107.64 754.5,-108"/>
|
||||
</g>
|
||||
<!-- W2--X3 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>W2:e--X3:w</title>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-43C663.49,-44.26 678.72,-82.26 754.5,-81"/>
|
||||
<path fill="none" stroke="#ff0000" stroke-width="2" d="M584,-45C661.64,-45 676.86,-83 754.5,-83"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="2" d="M584,-47C659.78,-45.74 675.01,-83.74 754.5,-85"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
41
tutorial/tutorial08.yml
Normal file
@ -0,0 +1,41 @@
|
||||
connectors:
|
||||
X1: &template1 # define a template for later use
|
||||
type: Molex KK 254
|
||||
pincount: 4
|
||||
subtype: female
|
||||
manufacturer: Molex
|
||||
manufacturer_part_number: 22013047
|
||||
X2:
|
||||
<<: *template1 # reuse template
|
||||
internal_part_number: CON4
|
||||
X3:
|
||||
<<: *template1 # reuse template
|
||||
|
||||
cables:
|
||||
W1:
|
||||
wirecount: 4
|
||||
length: 1
|
||||
gauge: 0.25 mm2
|
||||
color_code: IEC
|
||||
manufacturer: CablesCo
|
||||
manufacturer_part_number: ABC123
|
||||
internal_part_number: CAB1
|
||||
W2:
|
||||
category: bundle
|
||||
length: 1
|
||||
gauge: 0.25 mm2
|
||||
colors: [YE, BK, BK, RD]
|
||||
manufacturer: [WiresCo,WiresCo,WiresCo,WiresCo]
|
||||
manufacturer_part_number: [W1-YE,W1-BK,W1-BK,W1-RD]
|
||||
internal_part_number: [WIRE1,WIRE2,WIRE2,WIRE3]
|
||||
|
||||
|
||||
connections:
|
||||
-
|
||||
- X1: [1-4]
|
||||
- W1: [1-4]
|
||||
- X2: [1-4]
|
||||
-
|
||||
- X1: [1-4]
|
||||
- W2: [1-4]
|
||||
- X3: [1-4]
|
||||