diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ec26b95..301ac18 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,6 @@ name: Create Examples -on: [push, pull_request] +on: [push, pull_request, workflow_dispatch] jobs: build: @@ -22,4 +22,11 @@ jobs: python -m pip install --upgrade pip pip install . - name: Create Examples - run: PYTHONPATH=$(pwd)/src:$PYTHONPATH cd src/wireviz/ && python build_examples.py \ No newline at end of file + run: PYTHONPATH=$(pwd)/src:$PYTHONPATH cd src/wireviz/ && python build_examples.py + - name: Upload examples, demos, and tutorials + uses: actions/upload-artifact@v2 + with: + name: examples-and-tutorials + path: | + examples/ + tutorial/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index cc614ad..67144ab 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ build data dist venv/ +desktop.ini +thumbs.db + diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ddf91b..5192789 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ ### 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 support for multicolored wires ([#17](https://github.com/formatc1702/WireViz/pull/17), [#96](https://github.com/formatc1702/WireViz/pull/96)) - 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)) diff --git a/README.md b/README.md index 22c9a49..e973b63 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,14 @@ WireViz is a tool for easily documenting cables, wiring harnesses and connector * Human readable * Easy version control * YAML syntax + * UTF-8 input and output files for special character support * Understands and uses color abbreviations as per [IEC 60757](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system) (black=BK, red=RD, ...) * Optionally outputs colors as abbreviation (e.g. 'YE'), full name (e.g. 'yellow') or hex value (e.g. '#ffff00'), with choice of UPPER or lower case * Auto-generates standard wire color schemes and allows custom ones if needed * [DIN 47100](https://en.wikipedia.org/wiki/DIN_47100) (WT/BN/GN/YE/GY/PK/BU/RD/BK/VT/...) * [IEC 62](https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system) (BN/RD/OR/YE/GN/BU/VT/GY/WT/BK/...) + * [25 Pair Color Code](https://en.wikipedia.org/wiki/25-pair_color_code#Color_coding) (BUWH/WHBU/OGWH/WHOG/GNWH/WHGN/BNWH/...) + * [TIA/EIA 568 A/B](https://en.wikipedia.org/wiki/TIA/EIA-568#Wiring) (Subset of 25-Pair, used in CAT-5/6/...) * Understands wire gauge in mm² or AWG * Optionally auto-calculates equivalent gauge between mm² and AWG * Allows more than one connector per side, as well as loopbacks @@ -47,11 +50,11 @@ connectors: X1: type: D-Sub subtype: female - pinout: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI] + pinlabels: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI] X2: type: Molex KK 254 subtype: female - pinout: [GND, RX, TX] + pinlabels: [GND, RX, TX] cables: W1: diff --git a/examples/demo01.gv b/examples/demo01.gv index 09194a3..f5f3246 100644 --- a/examples/demo01.gv +++ b/examples/demo01.gv @@ -4,18 +4,18 @@ graph { 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|{D-Sub|female|9-pin}|{{DCD|RX|TX|DTR|GND|DSR|RTS|CTS|RI}|{1|2|3|4|5|6|7|8|9}}"] - X2 [label="X2|{Molex KK 254|female|3-pin}|{{1|2|3}|{GND|RX|TX}}"] + X1 [label=<
X1
D-Subfemale9-pin
DCD1
RX2
TX3
DTR4
GND5
DSR6
RTS7
CTS8
RI9
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female3-pin
1GND
2RX
3TX
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffffff:#000000"] X1:p5r:e -- W1:w1:w W1:w1:e -- X2:p1l:w - edge [color="#000000:#666600:#000000"] + edge [color="#000000:#895956:#000000"] X1:p2r:e -- W1:w2:w W1:w2:e -- X2:p3l:w edge [color="#000000:#00ff00:#000000"] X1:p3r:e -- W1:w3:w W1:w3:e -- X2:p2l:w - edge [color="#000000"] + edge [color="#000000:#aaaaaa:#000000"] X1:p5r:e -- W1:ws:w - W1 [label=<
W1
3x0.25 mm²+ S0.2 m
 
X1:5WHX2:1
X1:2BNX2:3
X1:3GNX2:2
 
X1:5Shield
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
3x0.25 mm²+ S0.2 m
 
X1:5WHX2:1
X1:2BNX2:3
X1:3GNX2:2
 
X1:5Shield
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/demo01.html b/examples/demo01.html index d5231e0..f613f50 100644 --- a/examples/demo01.html +++ b/examples/demo01.html @@ -1,171 +1,174 @@ -

Diagram

- + +

Diagram

- - - + + + X1 - -X1 - -D-Sub - -female - -9-pin - -DCD - -RX - -TX - -DTR - -GND - -DSR - -RTS - -CTS - -RI - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 + + +X1 + +D-Sub + +female + +9-pin + +DCD + +1 + +RX + +2 + +TX + +3 + +DTR + +4 + +GND + +5 + +DSR + +6 + +RTS + +7 + +CTS + +8 + +RI + +9 W1 - - -W1 - -3x - -0.25 mm² - -+ S - -0.2 m -  -X1:5 -WH -X2:1 - - - -X1:2 -BN -X2:3 - - - -X1:3 -GN -X2:2 - - - -  -X1:5 -Shield - -  + + +W1 + +3x + +0.25 mm² + ++ S + +0.2 m +  +X1:5 +WH +X2:1 + + + +X1:2 +BN +X2:3 + + + +X1:3 +GN +X2:2 + + + +  +X1:5 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -3-pin - -1 - -2 - -3 - -GND - -RX - -TX + + +X2 + +Molex KK 254 + +female + +3-pin + +1 + +GND + +2 + +RX + +3 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, female, 9 pins1X1
Connector, Molex KK 254, female, 3 pins1X2
Cable, 3 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, female, 9 pins1X1
Connector, Molex KK 254, female, 3 pins1X2
Cable, 3 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/demo01.png b/examples/demo01.png index 77efff4..ab487ee 100644 Binary files a/examples/demo01.png and b/examples/demo01.png differ diff --git a/examples/demo01.svg b/examples/demo01.svg index 517d58e..519925f 100644 --- a/examples/demo01.svg +++ b/examples/demo01.svg @@ -4,167 +4,171 @@ - - - + + + X1 - -X1 - -D-Sub - -female - -9-pin - -DCD - -RX - -TX - -DTR - -GND - -DSR - -RTS - -CTS - -RI - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 - -9 + + +X1 + +D-Sub + +female + +9-pin + +DCD + +1 + +RX + +2 + +TX + +3 + +DTR + +4 + +GND + +5 + +DSR + +6 + +RTS + +7 + +CTS + +8 + +RI + +9 W1 - - -W1 - -3x - -0.25 mm² - -+ S - -0.2 m -  -X1:5 -WH -X2:1 - - - -X1:2 -BN -X2:3 - - - -X1:3 -GN -X2:2 - - - -  -X1:5 -Shield - -  + + +W1 + +3x + +0.25 mm² + ++ S + +0.2 m +  +X1:5 +WH +X2:1 + + + +X1:2 +BN +X2:3 + + + +X1:3 +GN +X2:2 + + + +  +X1:5 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -3-pin - -1 - -2 - -3 - -GND - -RX - -TX + + +X2 + +Molex KK 254 + +female + +3-pin + +1 + +GND + +2 + +RX + +3 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/examples/demo01.yml b/examples/demo01.yml index ae1b4a5..56c77c1 100644 --- a/examples/demo01.yml +++ b/examples/demo01.yml @@ -2,11 +2,11 @@ connectors: X1: type: D-Sub subtype: female - pinout: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI] + pinlabels: [DCD, RX, TX, DTR, GND, DSR, RTS, CTS, RI] X2: type: Molex KK 254 subtype: female - pinout: [GND, RX, TX] + pinlabels: [GND, RX, TX] cables: W1: diff --git a/examples/demo02.bom.tsv b/examples/demo02.bom.tsv index bbaf4a1..c71ca77 100644 --- a/examples/demo02.bom.tsv +++ b/examples/demo02.bom.tsv @@ -1,5 +1,5 @@ Item Qty Unit Designators -Connector, Crimp ferrule, 0.25 mm² 2 +Connector, Crimp ferrule, 0.25 mm², YE 2 Connector, Molex KK 254, female, 4 pins 2 X2, X3 Connector, Molex KK 254, female, 5 pins 1 X4 Connector, Molex KK 254, female, 8 pins 1 X1 diff --git a/examples/demo02.gv b/examples/demo02.gv index 3e8f42d..746306f 100644 --- a/examples/demo02.gv +++ b/examples/demo02.gv @@ -4,30 +4,12 @@ graph { 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|8-pin}|{{GND|+5V|SCL|SDA|MISO|MOSI|SCK|N/C}|{1|2|3|4|5|6|7|8}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|+5V|SCL|SDA}}"] - X3 [label="X3|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|+5V|SCL|SDA}}"] - X4 [label="X4|{Molex KK 254|female|5-pin}|{{1|2|3|4|5}|{GND|+12V|MISO|MOSI|SCK}}"] - _F1 [label=< - - - - - -
Crimp ferrule, 0.25 mm²
- - - > margin=0 orientation=180 shape=none style=filled] - _F2 [label=< - - - - - -
Crimp ferrule, 0.25 mm²
- - - > margin=0 orientation=180 shape=none style=filled] + X1 [label=<
X1
Molex KK 254female8-pin
GND1
+5V2
SCL3
SDA4
MISO5
MOSI6
SCK7
N/C8
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND
2+5V
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex KK 254female4-pin
1GND
2+5V
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X4 [label=<
X4
Molex KK 254female5-pin
1GND
2+12V
3MISO
4MOSI
5SCK
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_1 [label=<
Crimp ferrule0.25 mm²YE
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_2 [label=<
Crimp ferrule0.25 mm²YE
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -40,7 +22,7 @@ graph { edge [color="#000000:#00ff00:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x0.14 mm² (26 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
X1:3YEX2:3
X1:4GNX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
4x0.14 mm² (26 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
X1:3YEX2:3
X1:4GNX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W2:w1:w W2:w1:e -- X3:p1l:w @@ -53,7 +35,7 @@ graph { edge [color="#000000:#00ff00:#000000"] X1:p4r:e -- W2:w4:w W2:w4:e -- X3:p4l:w - W2 [label=<
W2
4x0.14 mm² (26 AWG)0.4 m
 
X1:1BKX3:1
X1:2RDX3:2
X1:3YEX3:3
X1:4GNX3:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W2 [label=<
W2
4x0.14 mm² (26 AWG)0.4 m
 
X1:1BKX3:1
X1:2RDX3:2
X1:3YEX3:3
X1:4GNX3:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W3:w1:w W3:w1:e -- X4:p1l:w @@ -66,14 +48,12 @@ graph { edge [color="#000000:#8000ff:#000000"] X1:p7r:e -- W3:w4:w W3:w4:e -- X4:p5l:w - W3 [label=<
W3
4x0.14 mm² (26 AWG)0.3 m
 
X1:1BKX4:1
X1:5BUX4:3
X1:6OGX4:4
X1:7VTX4:5
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] - edge [color="#000000:#000000:#000000"] - _F1:e -- W4:w1:w - edge [color="#000000:#ff0000:#000000"] - _F2:e -- W4:w2:w + W3 [label=<
W3
4x0.14 mm² (26 AWG)0.3 m
 
X1:1BKX4:1
X1:5BUX4:3
X1:6OGX4:4
X1:7VTX4:5
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#000000:#000000"] + _ferrule_crimp_1:e -- W4:w1:w W4:w1:e -- X4:p1l:w edge [color="#000000:#ff0000:#000000"] + _ferrule_crimp_2:e -- W4:w2:w W4:w2:e -- X4:p2l:w - W4 [label=<
W4
2x0.25 mm² (24 AWG)0.3 m
 
BKX4:1
RDX4:2
 
> fillcolor=white margin=0 shape=box style=""] + W4 [label=<
W4
2x0.25 mm² (24 AWG)0.3 m
 
BKX4:1
RDX4:2
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/demo02.html b/examples/demo02.html index a63a0c6..9c3d15a 100644 --- a/examples/demo02.html +++ b/examples/demo02.html @@ -1,499 +1,512 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -8-pin - -GND - -+5V - -SCL - -SDA - -MISO - -MOSI - -SCK - -N/C - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 + + +X1 + +Molex KK 254 + +female + +8-pin + +GND + +1 + ++5V + +2 + +SCL + +3 + +SDA + +4 + +MISO + +5 + +MOSI + +6 + +SCK + +7 + +N/C + +8 W1 - - -W1 - -4x - -0.14 mm² (26 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -GN -X2:4 - - - -  + + +W1 + +4x + +0.14 mm² (26 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +GN +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -4x - -0.14 mm² (26 AWG) - -0.4 m -  -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -X1:3 -YE -X3:3 - - - -X1:4 -GN -X3:4 - - - -  + + +W2 + +4x + +0.14 mm² (26 AWG) + +0.4 m +  +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +X1:3 +YE +X3:3 + + + +X1:4 +GN +X3:4 + + + +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.14 mm² (26 AWG) - -0.3 m -  -X1:1 -BK -X4:1 - - - -X1:5 -BU -X4:3 - - - -X1:6 -OG -X4:4 - - - -X1:7 -VT -X4:5 - - - -  + + +W3 + +4x + +0.14 mm² (26 AWG) + +0.3 m +  +X1:1 +BK +X4:1 + + + +X1:5 +BU +X4:3 + + + +X1:6 +OG +X4:4 + + + +X1:7 +VT +X4:5 + + + +  X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -+5V - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -+5V - -SCL - -SDA + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA X4 - -X4 - -Molex KK 254 - -female - -5-pin - -1 - -2 - -3 - -4 - -5 - -GND - -+12V - -MISO - -MOSI - -SCK + + +X4 + +Molex KK 254 + +female + +5-pin + +1 + +GND + +2 + ++12V + +3 + +MISO + +4 + +MOSI + +5 + +SCK - + -_F1 - - Crimp ferrule, 0.25 mm²   -   - +_ferrule_crimp_1 + + +Crimp ferrule + +0.25 mm² + +YE + + W4 - - -W4 - -2x - -0.25 mm² (24 AWG) - -0.3 m -  -BK -X4:1 - - - -RD -X4:2 - - - -  + + +W4 + +2x + +0.25 mm² (24 AWG) + +0.3 m +  +BK +X4:1 + + + +RD +X4:2 + + + +  - + -_F1:e--W4:w - - - +_ferrule_crimp_1:e--W4:w + + + - + -_F2 - - Crimp ferrule, 0.25 mm²   -   - +_ferrule_crimp_2 + + +Crimp ferrule + +0.25 mm² + +YE + + - - -_F2:e--W4:w - - - + + +_ferrule_crimp_2:e--W4:w + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + - + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.25 mm²2
Connector, Molex KK 254, female, 4 pins2X2, X3
Connector, Molex KK 254, female, 5 pins1X4
Connector, Molex KK 254, female, 8 pins1X1
Cable, 2 x 0.25 mm²0.3mW4
Wire, 0.14 mm², BK0.9mW1, W2, W3
Wire, 0.14 mm², BU0.3mW3
Wire, 0.14 mm², GN0.6mW1, W2
Wire, 0.14 mm², OG0.3mW3
Wire, 0.14 mm², RD0.6mW1, W2
Wire, 0.14 mm², VT0.3mW3
Wire, 0.14 mm², YE0.6mW1, W2
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.25 mm², YE2
Connector, Molex KK 254, female, 4 pins2X2, X3
Connector, Molex KK 254, female, 5 pins1X4
Connector, Molex KK 254, female, 8 pins1X1
Cable, 2 x 0.25 mm²0.3mW4
Wire, 0.14 mm², BK0.9mW1, W2, W3
Wire, 0.14 mm², BU0.3mW3
Wire, 0.14 mm², GN0.6mW1, W2
Wire, 0.14 mm², OG0.3mW3
Wire, 0.14 mm², RD0.6mW1, W2
Wire, 0.14 mm², VT0.3mW3
Wire, 0.14 mm², YE0.6mW1, W2
\ No newline at end of file diff --git a/examples/demo02.png b/examples/demo02.png index 3517f29..bd5cadc 100644 Binary files a/examples/demo02.png and b/examples/demo02.png differ diff --git a/examples/demo02.svg b/examples/demo02.svg index 3b8a93e..4b2e3ec 100644 --- a/examples/demo02.svg +++ b/examples/demo02.svg @@ -4,495 +4,509 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -8-pin - -GND - -+5V - -SCL - -SDA - -MISO - -MOSI - -SCK - -N/C - -1 - -2 - -3 - -4 - -5 - -6 - -7 - -8 + + +X1 + +Molex KK 254 + +female + +8-pin + +GND + +1 + ++5V + +2 + +SCL + +3 + +SDA + +4 + +MISO + +5 + +MOSI + +6 + +SCK + +7 + +N/C + +8 W1 - - -W1 - -4x - -0.14 mm² (26 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -GN -X2:4 - - - -  + + +W1 + +4x + +0.14 mm² (26 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +GN +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -4x - -0.14 mm² (26 AWG) - -0.4 m -  -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -X1:3 -YE -X3:3 - - - -X1:4 -GN -X3:4 - - - -  + + +W2 + +4x + +0.14 mm² (26 AWG) + +0.4 m +  +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +X1:3 +YE +X3:3 + + + +X1:4 +GN +X3:4 + + + +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.14 mm² (26 AWG) - -0.3 m -  -X1:1 -BK -X4:1 - - - -X1:5 -BU -X4:3 - - - -X1:6 -OG -X4:4 - - - -X1:7 -VT -X4:5 - - - -  + + +W3 + +4x + +0.14 mm² (26 AWG) + +0.3 m +  +X1:1 +BK +X4:1 + + + +X1:5 +BU +X4:3 + + + +X1:6 +OG +X4:4 + + + +X1:7 +VT +X4:5 + + + +  X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -+5V - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -+5V - -SCL - -SDA + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA X4 - -X4 - -Molex KK 254 - -female - -5-pin - -1 - -2 - -3 - -4 - -5 - -GND - -+12V - -MISO - -MOSI - -SCK + + +X4 + +Molex KK 254 + +female + +5-pin + +1 + +GND + +2 + ++12V + +3 + +MISO + +4 + +MOSI + +5 + +SCK - + -_F1 - - Crimp ferrule, 0.25 mm²   -   - +_ferrule_crimp_1 + + +Crimp ferrule + +0.25 mm² + +YE + + W4 - - -W4 - -2x - -0.25 mm² (24 AWG) - -0.3 m -  -BK -X4:1 - - - -RD -X4:2 - - - -  + + +W4 + +2x + +0.25 mm² (24 AWG) + +0.3 m +  +BK +X4:1 + + + +RD +X4:2 + + + +  - + -_F1:e--W4:w - - - +_ferrule_crimp_1:e--W4:w + + + - + -_F2 - - Crimp ferrule, 0.25 mm²   -   - +_ferrule_crimp_2 + + +Crimp ferrule + +0.25 mm² + +YE + + - - -_F2:e--W4:w - - - + + +_ferrule_crimp_2:e--W4:w + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + - + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + diff --git a/examples/demo02.yml b/examples/demo02.yml index 600b135..5002e7d 100644 --- a/examples/demo02.yml +++ b/examples/demo02.yml @@ -3,7 +3,7 @@ templates: # defining templates to be used later on type: Molex KK 254 subtype: female - &con_i2c - pinout: [GND, +5V, SCL, SDA] + pinlabels: [GND, +5V, SCL, SDA] - &wire_i2c category: bundle gauge: 0.14 mm2 @@ -12,7 +12,7 @@ templates: # defining templates to be used later on connectors: X1: <<: *molex_f # copying items from the template - pinout: [GND, +5V, SCL, SDA, MISO, MOSI, SCK, N/C] + pinlabels: [GND, +5V, SCL, SDA, MISO, MOSI, SCK, N/C] X2: <<: *molex_f <<: *con_i2c # it is possible to copy from more than one template @@ -21,12 +21,13 @@ connectors: <<: *con_i2c X4: <<: *molex_f - pinout: [GND, +12V, MISO, MOSI, SCK] + pinlabels: [GND, +12V, MISO, MOSI, SCK] ferrule_crimp: - category: ferrule + style: simple autogenerate: true type: Crimp ferrule subtype: 0.25 mm² + color: YE cables: W1: @@ -65,6 +66,4 @@ connections: - - ferrule_crimp - W4: [1,2] - - - - W4: [1,2] - X4: [1,2] diff --git a/examples/ex01.gv b/examples/ex01.gv index d1ccbd3..7f21edb 100644 --- a/examples/ex01.gv +++ b/examples/ex01.gv @@ -4,9 +4,9 @@ graph { 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}|{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|RX|TX}}"] - edge [color="#000000:#666600:#000000"] + X1 [label=<
X1
Molex KK 254female4-pin
GND1
VCC2
RX3
TX4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND
2VCC
3RX
4TX
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#895956:#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="#000000"] + edge [color="#000000:#aaaaaa:#000000"] X1:p1r:e -- W1:ws:w - W1 [label=<
W1
Serial4x0.25 mm² (24 AWG)+ S0.2 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:4
X1:4YEX2:3
 
X1:1Shield
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
Serial4x0.25 mm² (24 AWG)+ S0.2 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:4
X1:4YEX2:3
 
X1:1Shield
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/ex01.html b/examples/ex01.html index 6e7d4d8..c03eef9 100644 --- a/examples/ex01.html +++ b/examples/ex01.html @@ -1,177 +1,180 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -RX - -TX - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +RX + +3 + +TX + +4 W1 - - -W1 - -Serial - -4x - -0.25 mm² (24 AWG) - -+ S - -0.2 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:4 - - - -X1:4 -YE -X2:3 - - - -  -X1:1 -Shield - -  + + +W1 + +Serial + +4x + +0.25 mm² (24 AWG) + ++ S + +0.2 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:4 + + + +X1:4 +YE +X2:3 + + + +  +X1:1 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -RX - -TX + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +RX + +4 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, Serial, 4 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, Serial, 4 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/ex01.png b/examples/ex01.png index f9fa61f..b032fd4 100644 Binary files a/examples/ex01.png and b/examples/ex01.png differ diff --git a/examples/ex01.svg b/examples/ex01.svg index 8d5dbbb..4136e53 100644 --- a/examples/ex01.svg +++ b/examples/ex01.svg @@ -4,173 +4,177 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -RX - -TX - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +RX + +3 + +TX + +4 W1 - - -W1 - -Serial - -4x - -0.25 mm² (24 AWG) - -+ S - -0.2 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:4 - - - -X1:4 -YE -X2:3 - - - -  -X1:1 -Shield - -  + + +W1 + +Serial + +4x + +0.25 mm² (24 AWG) + ++ S + +0.2 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:4 + + + +X1:4 +YE +X2:3 + + + +  +X1:1 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -RX - -TX + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +RX + +4 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/examples/ex01.yml b/examples/ex01.yml index 9e4340f..be099cc 100644 --- a/examples/ex01.yml +++ b/examples/ex01.yml @@ -2,11 +2,11 @@ connectors: X1: type: Molex KK 254 # more information subtype: female - pinout: [GND, VCC, RX, TX] # pincount is implicit in pinout + pinlabels: [GND, VCC, RX, TX] # pincount is implicit in pinout X2: type: Molex KK 254 subtype: female - pinout: [GND, VCC, RX, TX] + pinlabels: [GND, VCC, RX, TX] cables: W1: diff --git a/examples/ex02.gv b/examples/ex02.gv index 8f29aaf..beff00d 100644 --- a/examples/ex02.gv +++ b/examples/ex02.gv @@ -4,29 +4,29 @@ graph { 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 Micro-Fit|male|2-pin}|{{GND|VCC}|{1|2}}"] - X2 [label="X2|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] - X3 [label="X3|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] - X4 [label="X4|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] + X1 [label=<
X1
Molex Micro-Fitmale2-pin
GND1
VCC2
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] + X4 [label=<
X4
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#000000:#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 - W1 [label=<
W1
2x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
2x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
 
> fillcolor=white margin=0 shape=box style=""] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W2:w1:w W2:w1:e -- X3:p1l:w edge [color="#000000:#ff0000:#000000"] X1:p2r:e -- W2:w2:w W2:w2:e -- X3:p2l:w - W2 [label=<
W2
2x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX3:1
X1:2RDX3:2
 
> fillcolor=white margin=0 shape=box style=""] + W2 [label=<
W2
2x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX3:1
X1:2RDX3:2
 
> fillcolor=white margin=0 shape=box style=""] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W3:w1:w W3:w1:e -- X4:p1l:w edge [color="#000000:#ff0000:#000000"] X1:p2r:e -- W3:w2:w W3:w2:e -- X4:p2l:w - W3 [label=<
W3
2x20 AWG (0.75 mm²)0.2 m
 
X1:1BKX4:1
X1:2RDX4:2
 
> fillcolor=white margin=0 shape=box style=""] + W3 [label=<
W3
2x20 AWG (0.75 mm²)0.2 m
 
X1:1BKX4:1
X1:2RDX4:2
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/ex02.html b/examples/ex02.html index be3f0ab..1991a26 100644 --- a/examples/ex02.html +++ b/examples/ex02.html @@ -1,258 +1,261 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex Micro-Fit - -male - -2-pin - -GND - -VCC - -1 - -2 + + +X1 + +Molex Micro-Fit + +male + +2-pin + +GND + +1 + +VCC + +2 W1 - - -W1 - -2x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -  + + +W1 + +2x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -2x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -  + + +W2 + +2x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + W3 - - -W3 - -2x - -20 AWG (0.75 mm²) - -0.2 m -  -X1:1 -BK -X4:1 - - - -X1:2 -RD -X4:2 - - - -  + + +W3 + +2x + +20 AWG (0.75 mm²) + +0.2 m +  +X1:1 +BK +X4:1 + + + +X1:2 +RD +X4:2 + + + +  X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X2 - -X2 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X2 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X3 - -X3 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X3 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X4 - -X4 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X4 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Cable, 2 x 0.25 mm²0.4mW1, W2
Cable, 2 x 20 AWG0.2mW3
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Cable, 2 x 0.25 mm²0.4mW1, W2
Cable, 2 x 20 AWG0.2mW3
\ No newline at end of file diff --git a/examples/ex02.png b/examples/ex02.png index 28d54eb..414a48a 100644 Binary files a/examples/ex02.png and b/examples/ex02.png differ diff --git a/examples/ex02.svg b/examples/ex02.svg index 5de828e..01e37c3 100644 --- a/examples/ex02.svg +++ b/examples/ex02.svg @@ -4,254 +4,258 @@ - + - + X1 - -X1 - -Molex Micro-Fit - -male - -2-pin - -GND - -VCC - -1 - -2 + + +X1 + +Molex Micro-Fit + +male + +2-pin + +GND + +1 + +VCC + +2 W1 - - -W1 - -2x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -  + + +W1 + +2x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -2x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -  + + +W2 + +2x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + W3 - - -W3 - -2x - -20 AWG (0.75 mm²) - -0.2 m -  -X1:1 -BK -X4:1 - - - -X1:2 -RD -X4:2 - - - -  + + +W3 + +2x + +20 AWG (0.75 mm²) + +0.2 m +  +X1:1 +BK +X4:1 + + + +X1:2 +RD +X4:2 + + + +  X1:e--W3:w - - - + + + X1:e--W3:w - - - + + + X2 - -X2 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X2 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X3 - -X3 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X3 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X4 - -X4 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X4 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + diff --git a/examples/ex02.yml b/examples/ex02.yml index 8a671e6..cdcecf9 100644 --- a/examples/ex02.yml +++ b/examples/ex02.yml @@ -2,11 +2,11 @@ connectors: X1: &boo type: Molex Micro-Fit subtype: male - pinout: [GND, VCC] + pinlabels: [GND, VCC] X2: &con_power_f # define template type: Molex Micro-Fit subtype: female - pinout: [GND, VCC] + pinlabels: [GND, VCC] X3: <<: *con_power_f # create from template X4: diff --git a/examples/ex03.gv b/examples/ex03.gv index c5a55e9..60131aa 100644 --- a/examples/ex03.gv +++ b/examples/ex03.gv @@ -4,10 +4,10 @@ graph { 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 Micro-Fit|male|2-pin}|{{GND|VCC}|{1|2}}"] - X2 [label="X2|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] - X3 [label="X3|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] - X4 [label="X4|{Molex Micro-Fit|female|2-pin}|{{1|2}|{GND|VCC}}"] + X1 [label=<
X1
Molex Micro-Fitmale2-pin
GND1
VCC2
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] + X4 [label=<
X4
Molex Micro-Fitfemale2-pin
1GND
2VCC
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -26,5 +26,5 @@ graph { edge [color="#000000:#ff0000:#000000"] X1:p2r:e -- W1:w6:w W1:w6:e -- X4:p2l:w - W1 [label=<
W1
6x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
X1:1BKX3:1
X1:2RDX3:2
X1:1BKX4:1
X1:2RDX4:2
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
6x0.25 mm² (24 AWG)0.2 m
 
X1:1BKX2:1
X1:2RDX2:2
X1:1BKX3:1
X1:2RDX3:2
X1:1BKX4:1
X1:2RDX4:2
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/examples/ex03.html b/examples/ex03.html index 9490593..91a79ff 100644 --- a/examples/ex03.html +++ b/examples/ex03.html @@ -1,228 +1,231 @@ -

Diagram

- + +

Diagram

- - - + + + X1 - -X1 - -Molex Micro-Fit - -male - -2-pin - -GND - -VCC - -1 - -2 + + +X1 + +Molex Micro-Fit + +male + +2-pin + +GND + +1 + +VCC + +2 W1 - - -W1 - -6x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -X1:1 -BK -X4:1 - - - -X1:2 -RD -X4:2 - - - -  + + +W1 + +6x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +X1:1 +BK +X4:1 + + + +X1:2 +RD +X4:2 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X2 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X3 - -X3 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X3 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X4 - -X4 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X4 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X3:w - - - + + + W1:e--X3:w - - - + + + W1:e--X4:w - - - + + + W1:e--X4:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Wire, 0.25 mm², BK0.6mW1
Wire, 0.25 mm², RD0.6mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex Micro-Fit, female, 2 pins3X2, X3, X4
Connector, Molex Micro-Fit, male, 2 pins1X1
Wire, 0.25 mm², BK0.6mW1
Wire, 0.25 mm², RD0.6mW1
\ No newline at end of file diff --git a/examples/ex03.png b/examples/ex03.png index 1a66384..845a394 100644 Binary files a/examples/ex03.png and b/examples/ex03.png differ diff --git a/examples/ex03.svg b/examples/ex03.svg index af664bd..31f869a 100644 --- a/examples/ex03.svg +++ b/examples/ex03.svg @@ -4,224 +4,228 @@ - - - + + + X1 - -X1 - -Molex Micro-Fit - -male - -2-pin - -GND - -VCC - -1 - -2 + + +X1 + +Molex Micro-Fit + +male + +2-pin + +GND + +1 + +VCC + +2 W1 - - -W1 - -6x - -0.25 mm² (24 AWG) - -0.2 m -  -X1:1 -BK -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:1 -BK -X3:1 - - - -X1:2 -RD -X3:2 - - - -X1:1 -BK -X4:1 - - - -X1:2 -RD -X4:2 - - - -  + + +W1 + +6x + +0.25 mm² (24 AWG) + +0.2 m +  +X1:1 +BK +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:1 +BK +X3:1 + + + +X1:2 +RD +X3:2 + + + +X1:1 +BK +X4:1 + + + +X1:2 +RD +X4:2 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X2 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X3 - -X3 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X3 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC X4 - -X4 - -Molex Micro-Fit - -female - -2-pin - -1 - -2 - -GND - -VCC + + +X4 + +Molex Micro-Fit + +female + +2-pin + +1 + +GND + +2 + +VCC W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X3:w - - - + + + W1:e--X3:w - - - + + + W1:e--X4:w - - - + + + W1:e--X4:w - - - + + + diff --git a/examples/ex03.yml b/examples/ex03.yml index fb935a2..b658b2d 100644 --- a/examples/ex03.yml +++ b/examples/ex03.yml @@ -2,11 +2,11 @@ connectors: X1: &boo type: Molex Micro-Fit subtype: male - pinout: [GND, VCC] + pinlabels: [GND, VCC] X2: &con_power_f type: Molex Micro-Fit subtype: female - pinout: [GND, VCC] + pinlabels: [GND, VCC] X3: <<: *con_power_f X4: diff --git a/examples/ex04.gv b/examples/ex04.gv index 7d4428b..6bb7195 100644 --- a/examples/ex04.gv +++ b/examples/ex04.gv @@ -4,149 +4,35 @@ graph { 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] - _F1 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F2 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F3 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F4 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F5 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F6 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=180 shape=none style=filled] - _F7 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - _F8 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - _F9 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - _F10 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - _F11 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - _F12 [label=< - - - - - -
Crimp ferrule
- - - > margin=0 orientation=0 shape=none style=filled] - edge [color="#000000:#666600:#000000"] - _F1:e -- W1:w1:w + _ferrule_crimp_1 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_2 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_3 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_4 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_5 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_6 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_7 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_8 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_9 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_10 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_11 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + _ferrule_crimp_12 [label=<
Crimp ferrule
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#895956:#000000"] + _ferrule_crimp_1:e -- W1:w1:w + W1:w1:e -- _ferrule_crimp_7:w edge [color="#000000:#ff0000:#000000"] - _F2:e -- W1:w2:w + _ferrule_crimp_2:e -- W1:w2:w + W1:w2:e -- _ferrule_crimp_8:w edge [color="#000000:#ff8000:#000000"] - _F3:e -- W1:w3:w + _ferrule_crimp_3:e -- W1:w3:w + W1:w3:e -- _ferrule_crimp_9:w edge [color="#000000:#ffff00:#000000"] - _F4:e -- W1:w4:w + _ferrule_crimp_4:e -- W1:w4:w + W1:w4:e -- _ferrule_crimp_10:w edge [color="#000000:#00ff00:#000000"] - _F5:e -- W1:w5:w + _ferrule_crimp_5:e -- W1:w5:w + W1:w5:e -- _ferrule_crimp_11:w edge [color="#000000:#0066ff:#000000"] - _F6:e -- W1:w6:w - edge [color="#000000:#0066ff:#000000"] - W1:w6:e -- _F7:w - edge [color="#000000:#00ff00:#000000"] - W1:w5:e -- _F8:w - edge [color="#000000:#ffff00:#000000"] - W1:w4:e -- _F9:w - edge [color="#000000:#ff8000:#000000"] - W1:w3:e -- _F10:w - edge [color="#000000:#ff0000:#000000"] - W1:w2:e -- _F11:w - edge [color="#000000:#666600:#000000"] - W1:w1:e -- _F12:w - W1 [label=<
W1
6x0.25 mm² (24 AWG)0.2 m
 
BN
RD
OG
YE
GN
BU
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + _ferrule_crimp_6:e -- W1:w6:w + W1:w6:e -- _ferrule_crimp_12:w + W1 [label=<
W1
6x0.25 mm² (24 AWG)0.2 m
 
BN
RD
OG
YE
GN
BU
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/examples/ex04.html b/examples/ex04.html index 4c44171..d77034a 100644 --- a/examples/ex04.html +++ b/examples/ex04.html @@ -1,232 +1,219 @@ -

Diagram

- + +

Diagram

- + - - + + -_F1 - - Crimp ferrule   -   - +_ferrule_crimp_1 + + +Crimp ferrule W1 - - -W1 - -6x - -0.25 mm² (24 AWG) - -0.2 m -  -BN - - - -RD - - - -OG - - - -YE - - - -GN - - - -BU - - - -  + + +W1 + +6x + +0.25 mm² (24 AWG) + +0.2 m +  +BN + + + +RD + + + +OG + + + +YE + + + +GN + + + +BU + + + +  - + -_F1:e--W1:w - - - +_ferrule_crimp_1:e--W1:w + + + - + -_F2 - - Crimp ferrule   -   - +_ferrule_crimp_2 + + +Crimp ferrule - - -_F2:e--W1:w - - - - - - -_F3 - - Crimp ferrule   -   - - - + -_F3:e--W1:w - - - +_ferrule_crimp_2:e--W1:w + + + - - -_F4 - - Crimp ferrule   -   - + + +_ferrule_crimp_3 + + +Crimp ferrule - - -_F4:e--W1:w - - - - - - -_F5 - - Crimp ferrule   -   - - - + -_F5:e--W1:w - - - +_ferrule_crimp_3:e--W1:w + + + - - -_F6 - - Crimp ferrule   -   - + + +_ferrule_crimp_4 + + +Crimp ferrule - - -_F6:e--W1:w - - - - - - -_F7 - -   - Crimp ferrule   - - - - -_F8 - -   - Crimp ferrule   - - - - -_F9 - -   - Crimp ferrule   - - - - -_F10 - -   - Crimp ferrule   - - - - -_F11 - -   - Crimp ferrule   - - - - -_F12 - -   - Crimp ferrule   - - - + -W1:e--_F7:w - - - +_ferrule_crimp_4:e--W1:w + + + - - -W1:e--_F8:w - - - + + +_ferrule_crimp_5 + + +Crimp ferrule - + -W1:e--_F9:w - - - +_ferrule_crimp_5:e--W1:w + + + - - -W1:e--_F10:w - - - + + +_ferrule_crimp_6 + + +Crimp ferrule - + -W1:e--_F11:w - - - +_ferrule_crimp_6:e--W1:w + + + - + + +_ferrule_crimp_7 + + +Crimp ferrule + + + +_ferrule_crimp_8 + + +Crimp ferrule + + + +_ferrule_crimp_9 + + +Crimp ferrule + + + +_ferrule_crimp_10 + + +Crimp ferrule + + + +_ferrule_crimp_11 + + +Crimp ferrule + + + +_ferrule_crimp_12 + + +Crimp ferrule + + + +W1:e--_ferrule_crimp_7:w + + + + + + +W1:e--_ferrule_crimp_8:w + + + + + + +W1:e--_ferrule_crimp_9:w + + + + + + +W1:e--_ferrule_crimp_10:w + + + + + + +W1:e--_ferrule_crimp_11:w + + + + + -W1:e--_F12:w - - - +W1:e--_ferrule_crimp_12:w + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule12
Wire, 0.25 mm², BN0.2mW1
Wire, 0.25 mm², BU0.2mW1
Wire, 0.25 mm², GN0.2mW1
Wire, 0.25 mm², OG0.2mW1
Wire, 0.25 mm², RD0.2mW1
Wire, 0.25 mm², YE0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule12
Wire, 0.25 mm², BN0.2mW1
Wire, 0.25 mm², BU0.2mW1
Wire, 0.25 mm², GN0.2mW1
Wire, 0.25 mm², OG0.2mW1
Wire, 0.25 mm², RD0.2mW1
Wire, 0.25 mm², YE0.2mW1
\ No newline at end of file diff --git a/examples/ex04.png b/examples/ex04.png index d076724..cf229a1 100644 Binary files a/examples/ex04.png and b/examples/ex04.png differ diff --git a/examples/ex04.svg b/examples/ex04.svg index ecf2e71..62d82ae 100644 --- a/examples/ex04.svg +++ b/examples/ex04.svg @@ -4,228 +4,216 @@ - + - - + + -_F1 - - Crimp ferrule   -   - +_ferrule_crimp_1 + + +Crimp ferrule W1 - - -W1 - -6x - -0.25 mm² (24 AWG) - -0.2 m -  -BN - - - -RD - - - -OG - - - -YE - - - -GN - - - -BU - - - -  + + +W1 + +6x + +0.25 mm² (24 AWG) + +0.2 m +  +BN + + + +RD + + + +OG + + + +YE + + + +GN + + + +BU + + + +  - + -_F1:e--W1:w - - - +_ferrule_crimp_1:e--W1:w + + + - + -_F2 - - Crimp ferrule   -   - +_ferrule_crimp_2 + + +Crimp ferrule - - -_F2:e--W1:w - - - - - - -_F3 - - Crimp ferrule   -   - - - + -_F3:e--W1:w - - - +_ferrule_crimp_2:e--W1:w + + + - - -_F4 - - Crimp ferrule   -   - + + +_ferrule_crimp_3 + + +Crimp ferrule - - -_F4:e--W1:w - - - - - - -_F5 - - Crimp ferrule   -   - - - + -_F5:e--W1:w - - - +_ferrule_crimp_3:e--W1:w + + + - - -_F6 - - Crimp ferrule   -   - + + +_ferrule_crimp_4 + + +Crimp ferrule - - -_F6:e--W1:w - - - - - - -_F7 - -   - Crimp ferrule   - - - - -_F8 - -   - Crimp ferrule   - - - - -_F9 - -   - Crimp ferrule   - - - - -_F10 - -   - Crimp ferrule   - - - - -_F11 - -   - Crimp ferrule   - - - - -_F12 - -   - Crimp ferrule   - - - + -W1:e--_F7:w - - - +_ferrule_crimp_4:e--W1:w + + + - - -W1:e--_F8:w - - - + + +_ferrule_crimp_5 + + +Crimp ferrule - + -W1:e--_F9:w - - - +_ferrule_crimp_5:e--W1:w + + + - - -W1:e--_F10:w - - - + + +_ferrule_crimp_6 + + +Crimp ferrule - + -W1:e--_F11:w - - - +_ferrule_crimp_6:e--W1:w + + + - + + +_ferrule_crimp_7 + + +Crimp ferrule + + + +_ferrule_crimp_8 + + +Crimp ferrule + + + +_ferrule_crimp_9 + + +Crimp ferrule + + + +_ferrule_crimp_10 + + +Crimp ferrule + + + +_ferrule_crimp_11 + + +Crimp ferrule + + + +_ferrule_crimp_12 + + +Crimp ferrule + + + +W1:e--_ferrule_crimp_7:w + + + + + + +W1:e--_ferrule_crimp_8:w + + + + + + +W1:e--_ferrule_crimp_9:w + + + + + + +W1:e--_ferrule_crimp_10:w + + + + + + +W1:e--_ferrule_crimp_11:w + + + + + -W1:e--_F12:w - - - +W1:e--_ferrule_crimp_12:w + + + diff --git a/examples/ex04.yml b/examples/ex04.yml index 3fe5bed..74148ec 100644 --- a/examples/ex04.yml +++ b/examples/ex04.yml @@ -9,16 +9,12 @@ cables: connectors: ferrule_crimp: - category: ferrule + style: simple autogenerate: true type: Crimp ferrule - show_name: false - show_pincount: false connections: - - ferrule_crimp - W1: [1-6] - - - - W1: [6-1] - ferrule_crimp diff --git a/examples/ex05.bom.tsv b/examples/ex05.bom.tsv index d80fedd..9913328 100644 --- a/examples/ex05.bom.tsv +++ b/examples/ex05.bom.tsv @@ -1,6 +1,6 @@ Item Qty Unit Designators Connector, Molex KK 254, female, 4 pins 3 X1, X2, X3 -Wire, 0.25 mm², PK 0.4 m W1, W2 -Wire, 0.25 mm², TQ 0.4 m W1, W2 -Wire, 0.25 mm², VT 0.4 m W1, W2 -Wire, 0.25 mm², YE 0.4 m W1, W2 +Wire, I2C, 0.25 mm², PK 0.4 m W1, W2 +Wire, I2C, 0.25 mm², TQ 0.4 m W1, W2 +Wire, I2C, 0.25 mm², VT 0.4 m W1, W2 +Wire, I2C, 0.25 mm², YE 0.4 m W1, W2 diff --git a/examples/ex05.gv b/examples/ex05.gv index 5507799..cbfb2a9 100644 --- a/examples/ex05.gv +++ b/examples/ex05.gv @@ -4,9 +4,9 @@ graph { 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}|{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}|{1|2|3|4}}"] - X3 [label="X3|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] + X1 [label=<
X1
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND1
2VCC2
3SCL3
4SDA4
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ff66cc:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -19,7 +19,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
I2C4x0.25 mm²0.2 m
 
X1:1PKX2:1
X1:2TQX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
I2C4x0.25 mm²0.2 m
 
X1:1PKX2:1
X1:2TQX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> 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=<
W2
I2C4x0.25 mm²0.2 m
 
X2:1PKX3:1
X2:2TQX3:2
X2:3YEX3:3
X2:4VTX3:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W2 [label=<
W2
I2C4x0.25 mm²0.2 m
 
X2:1PKX3:1
X2:2TQX3:2
X2:3YEX3:3
X2:4VTX3:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/examples/ex05.html b/examples/ex05.html index fc60fbc..b47a291 100644 --- a/examples/ex05.html +++ b/examples/ex05.html @@ -1,299 +1,301 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -I2C - -4x - -0.25 mm² - -0.2 m -  -X1:1 -PK -X2:1 - - - -X1:2 -TQ -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +I2C + +4x + +0.25 mm² + +0.2 m +  +X1:1 +PK +X2:1 + + + +X1:2 +TQ +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +1 + +2 + +VCC + +2 + +3 + +SCL + +3 + +4 + +SDA + +4 W2 - - -W2 - -I2C - -4x - -0.25 mm² - -0.2 m -  -X2:1 -PK -X3:1 - - - -X2:2 -TQ -X3:2 - - - -X2:3 -YE -X3:3 - - - -X2:4 -VT -X3:4 - - - -  + + +W2 + +I2C + +4x + +0.25 mm² + +0.2 m +  +X2:1 +PK +X3:1 + + + +X2:2 +TQ +X3:2 + + + +X2:3 +YE +X3:3 + + + +X2:4 +VT +X3:4 + + + +  X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins3X1, X2, X3
Wire, 0.25 mm², PK0.4mW1, W2
Wire, 0.25 mm², TQ0.4mW1, W2
Wire, 0.25 mm², VT0.4mW1, W2
Wire, 0.25 mm², YE0.4mW1, W2
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins3X1, X2, X3
Wire, I2C, 0.25 mm², PK0.4mW1, W2
Wire, I2C, 0.25 mm², TQ0.4mW1, W2
Wire, I2C, 0.25 mm², VT0.4mW1, W2
Wire, I2C, 0.25 mm², YE0.4mW1, W2
\ No newline at end of file diff --git a/examples/ex05.png b/examples/ex05.png index c6df384..eef1c1a 100644 Binary files a/examples/ex05.png and b/examples/ex05.png differ diff --git a/examples/ex05.svg b/examples/ex05.svg index 943e3a6..6711867 100644 --- a/examples/ex05.svg +++ b/examples/ex05.svg @@ -4,295 +4,298 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -I2C - -4x - -0.25 mm² - -0.2 m -  -X1:1 -PK -X2:1 - - - -X1:2 -TQ -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +I2C + +4x + +0.25 mm² + +0.2 m +  +X1:1 +PK +X2:1 + + + +X1:2 +TQ +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +1 + +2 + +VCC + +2 + +3 + +SCL + +3 + +4 + +SDA + +4 W2 - - -W2 - -I2C - -4x - -0.25 mm² - -0.2 m -  -X2:1 -PK -X3:1 - - - -X2:2 -TQ -X3:2 - - - -X2:3 -YE -X3:3 - - - -X2:4 -VT -X3:4 - - - -  + + +W2 + +I2C + +4x + +0.25 mm² + +0.2 m +  +X2:1 +PK +X3:1 + + + +X2:2 +TQ +X3:2 + + + +X2:3 +YE +X3:3 + + + +X2:4 +VT +X3:4 + + + +  X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + diff --git a/examples/ex05.yml b/examples/ex05.yml index f88815f..fd776f9 100644 --- a/examples/ex05.yml +++ b/examples/ex05.yml @@ -3,7 +3,7 @@ templates: - &template_con type: Molex KK 254 subtype: female - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] - &template_wire gauge: 0.25 mm2 length: 0.2 diff --git a/examples/ex06.gv b/examples/ex06.gv index 2779de2..c594a06 100644 --- a/examples/ex06.gv +++ b/examples/ex06.gv @@ -4,12 +4,12 @@ graph { 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}|{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] - X3 [label="X3|{Molex KK 254|female|4-pin}|{{GND|VCC|SCL|SDA}|{1|2|3|4}}"] - X4 [label="X4|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] - X5 [label="X5|{Molex KK 254|female|4-pin}|{{GND|VCC|SCL|SDA}|{1|2|3|4}}"] - X6 [label="X6|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] + X1 [label=<
X1
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X4 [label=<
X4
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X5 [label=<
X5
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X6 [label=<
X6
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ff66cc:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -22,7 +22,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x0.25 mm²0.2 m
 
X1:1PKX2:1
X1:2TQX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
4x0.25 mm²0.2 m
 
X1:1PKX2:1
X1:2TQX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#ff66cc:#000000"] X3:p1r:e -- W2:w1:w W2:w1:e -- X2:p1l:w @@ -35,7 +35,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X3:p4r:e -- W2:w4:w W2:w4:e -- X2:p4l:w - W2 [label=<
W2
4x0.25 mm²0.2 m
 
X3:1PKX2:1
X3:2TQX2:2
X3:3YEX2:3
X3:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W2 [label=<
W2
4x0.25 mm²0.2 m
 
X3:1PKX2:1
X3:2TQX2:2
X3:3YEX2:3
X3:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#ff66cc:#000000"] X3:p1r:e -- W3:w1:w W3:w1:e -- X4:p1l:w @@ -48,7 +48,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X3:p4r:e -- W3:w4:w W3:w4:e -- X4:p4l:w - W3 [label=<
W3
4x0.25 mm²0.2 m
 
X3:1PKX4:1
X3:2TQX4:2
X3:3YEX4:3
X3:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W3 [label=<
W3
4x0.25 mm²0.2 m
 
X3:1PKX4:1
X3:2TQX4:2
X3:3YEX4:3
X3:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#ff66cc:#000000"] X5:p1r:e -- W4:w1:w W4:w1:e -- X4:p1l:w @@ -61,7 +61,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X5:p4r:e -- W4:w4:w W4:w4:e -- X4:p4l:w - W4 [label=<
W4
4x0.25 mm²0.2 m
 
X5:1PKX4:1
X5:2TQX4:2
X5:3YEX4:3
X5:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W4 [label=<
W4
4x0.25 mm²0.2 m
 
X5:1PKX4:1
X5:2TQX4:2
X5:3YEX4:3
X5:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#ff66cc:#000000"] X5:p1r:e -- W5:w1:w W5:w1:e -- X6:p1l:w @@ -74,5 +74,5 @@ graph { edge [color="#000000:#8000ff:#000000"] X5:p4r:e -- W5:w4:w W5:w4:e -- X6:p4l:w - W5 [label=<
W5
4x0.25 mm²0.2 m
 
X5:1PKX6:1
X5:2TQX6:2
X5:3YEX6:3
X5:4VTX6:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W5 [label=<
W5
4x0.25 mm²0.2 m
 
X5:1PKX6:1
X5:2TQX6:2
X5:3YEX6:3
X5:4VTX6:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/examples/ex06.html b/examples/ex06.html index ea542d0..6f921c9 100644 --- a/examples/ex06.html +++ b/examples/ex06.html @@ -1,656 +1,661 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -4x - -0.25 mm² - -0.2 m -  -X1:1 -PK -X2:1 - - - -X1:2 -TQ -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +4x + +0.25 mm² + +0.2 m +  +X1:1 +PK +X2:1 + + + +X1:2 +TQ +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X3 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W2 - - -W2 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -PK -X2:1 - - - -X3:2 -TQ -X2:2 - - - -X3:3 -YE -X2:3 - - - -X3:4 -VT -X2:4 - - - -  + + +W2 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +PK +X2:1 + + + +X3:2 +TQ +X2:2 + + + +X3:3 +YE +X2:3 + + + +X3:4 +VT +X2:4 + + + +  X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -PK -X4:1 - - - -X3:2 -TQ -X4:2 - - - -X3:3 -YE -X4:3 - - - -X3:4 -VT -X4:4 - - - -  + + +W3 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +PK +X4:1 + + + +X3:2 +TQ +X4:2 + + + +X3:3 +YE +X4:3 + + + +X3:4 +VT +X4:4 + + + +  X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X4 - -X4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X4 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X5 - -X5 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X5 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W4 - - -W4 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -PK -X4:1 - - - -X5:2 -TQ -X4:2 - - - -X5:3 -YE -X4:3 - - - -X5:4 -VT -X4:4 - - - -  + + +W4 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +PK +X4:1 + + + +X5:2 +TQ +X4:2 + + + +X5:3 +YE +X4:3 + + + +X5:4 +VT +X4:4 + + + +  X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + W5 - - -W5 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -PK -X6:1 - - - -X5:2 -TQ -X6:2 - - - -X5:3 -YE -X6:3 - - - -X5:4 -VT -X6:4 - - - -  + + +W5 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +PK +X6:1 + + + +X5:2 +TQ +X6:2 + + + +X5:3 +YE +X6:3 + + + +X5:4 +VT +X6:4 + + + +  X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X6 - -X6 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X6 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file diff --git a/examples/ex06.png b/examples/ex06.png index ba0a2bf..4281849 100644 Binary files a/examples/ex06.png and b/examples/ex06.png differ diff --git a/examples/ex06.svg b/examples/ex06.svg index a0d0387..130aad3 100644 --- a/examples/ex06.svg +++ b/examples/ex06.svg @@ -4,652 +4,658 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -4x - -0.25 mm² - -0.2 m -  -X1:1 -PK -X2:1 - - - -X1:2 -TQ -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +4x + +0.25 mm² + +0.2 m +  +X1:1 +PK +X2:1 + + + +X1:2 +TQ +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X3 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W2 - - -W2 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -PK -X2:1 - - - -X3:2 -TQ -X2:2 - - - -X3:3 -YE -X2:3 - - - -X3:4 -VT -X2:4 - - - -  + + +W2 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +PK +X2:1 + + + +X3:2 +TQ +X2:2 + + + +X3:3 +YE +X2:3 + + + +X3:4 +VT +X2:4 + + + +  X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -PK -X4:1 - - - -X3:2 -TQ -X4:2 - - - -X3:3 -YE -X4:3 - - - -X3:4 -VT -X4:4 - - - -  + + +W3 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +PK +X4:1 + + + +X3:2 +TQ +X4:2 + + + +X3:3 +YE +X4:3 + + + +X3:4 +VT +X4:4 + + + +  X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X4 - -X4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X4 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X5 - -X5 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X5 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W4 - - -W4 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -PK -X4:1 - - - -X5:2 -TQ -X4:2 - - - -X5:3 -YE -X4:3 - - - -X5:4 -VT -X4:4 - - - -  + + +W4 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +PK +X4:1 + + + +X5:2 +TQ +X4:2 + + + +X5:3 +YE +X4:3 + + + +X5:4 +VT +X4:4 + + + +  X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + W5 - - -W5 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -PK -X6:1 - - - -X5:2 -TQ -X6:2 - - - -X5:3 -YE -X6:3 - - - -X5:4 -VT -X6:4 - - - -  + + +W5 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +PK +X6:1 + + + +X5:2 +TQ +X6:2 + + + +X5:3 +YE +X6:3 + + + +X5:4 +VT +X6:4 + + + +  X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X6 - -X6 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X6 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + diff --git a/examples/ex06.yml b/examples/ex06.yml index ea0d505..e0a664f 100644 --- a/examples/ex06.yml +++ b/examples/ex06.yml @@ -3,7 +3,7 @@ templates: - &template_con type: Molex KK 254 subtype: female - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] - &template_wire gauge: 0.25 mm2 length: 0.2 diff --git a/examples/ex07.gv b/examples/ex07.gv index 2a10a84..3248873 100644 --- a/examples/ex07.gv +++ b/examples/ex07.gv @@ -4,13 +4,13 @@ graph { 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|{TE 776164-1|female|35-pin}|{{5|6}}|Unconnected pins are not shown"] - X2 [label="X2|{D-Sub|female|9-pin}|{{2|7}}|Unconnected pins are not shown"] + X1 [label=<
X1
TE 776164-1female35-pin
5
6
Unconnected pins are not shown
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
D-Subfemale9-pin
2
7
Unconnected pins are not shown
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffff00:#000000"] X1:p5r:e -- C1:w1:w C1:w1:e -- X2:p7l:w edge [color="#000000:#00ff00:#000000"] X1:p6r:e -- C1:w2:w C1:w2:e -- X2:p2l:w - C1 [label=<
C1
2x20 AWG1 m
 
X1:5YEX2:7
X1:6GNX2:2
 
> fillcolor=white margin=0 shape=box style=""] + C1 [label=<
C1
2x20 AWG1 m
 
X1:5YEX2:7
X1:6GNX2:2
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/ex07.html b/examples/ex07.html index c206174..a9b69a0 100644 --- a/examples/ex07.html +++ b/examples/ex07.html @@ -1,103 +1,104 @@ -

Diagram

- + +

Diagram

- - - + + + X1 - -X1 - -TE 776164-1 - -female - -35-pin - -5 - -6 - -Unconnected pins are not shown + + +X1 + +TE 776164-1 + +female + +35-pin + +5 + +6 + +Unconnected pins are not shown C1 - - -C1 - -2x - -20 AWG - -1 m -  -X1:5 -YE -X2:7 - - - -X1:6 -GN -X2:2 - - - -  + + +C1 + +2x + +20 AWG + +1 m +  +X1:5 +YE +X2:7 + + + +X1:6 +GN +X2:2 + + + +  X1:e--C1:w - - - + + + X1:e--C1:w - - - + + + X2 - -X2 - -D-Sub - -female - -9-pin - -2 - -7 - -Unconnected pins are not shown + + +X2 + +D-Sub + +female + +9-pin + +2 + +7 + +Unconnected pins are not shown C1:e--X2:w - - - + + + C1:e--X2:w - - - + + + diff --git a/examples/ex07.png b/examples/ex07.png index 2fc2ce6..6c27acd 100644 Binary files a/examples/ex07.png and b/examples/ex07.png differ diff --git a/examples/ex07.svg b/examples/ex07.svg index a89b0a4..d78cbff 100644 --- a/examples/ex07.svg +++ b/examples/ex07.svg @@ -4,100 +4,102 @@ - - - + + + X1 - -X1 - -TE 776164-1 - -female - -35-pin - -5 - -6 - -Unconnected pins are not shown + + +X1 + +TE 776164-1 + +female + +35-pin + +5 + +6 + +Unconnected pins are not shown C1 - - -C1 - -2x - -20 AWG - -1 m -  -X1:5 -YE -X2:7 - - - -X1:6 -GN -X2:2 - - - -  + + +C1 + +2x + +20 AWG + +1 m +  +X1:5 +YE +X2:7 + + + +X1:6 +GN +X2:2 + + + +  X1:e--C1:w - - - + + + X1:e--C1:w - - - + + + X2 - -X2 - -D-Sub - -female - -9-pin - -2 - -7 - -Unconnected pins are not shown + + +X2 + +D-Sub + +female + +9-pin + +2 + +7 + +Unconnected pins are not shown C1:e--X2:w - - - + + + C1:e--X2:w - - - + + + diff --git a/examples/ex08.gv b/examples/ex08.gv index 2e189bb..25a3e8c 100644 --- a/examples/ex08.gv +++ b/examples/ex08.gv @@ -4,14 +4,14 @@ graph { 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] - Key [label="Key|{Phone Connector|male 3.5}|{{Dot|Dash|Ground}|{T|R|S}}"] + Key [label=<
Key
Phone Connectormale 3.5
DotT
DashR
GroundS
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffffff:#000000"] Key:pSr:e -- W1:w1:w - edge [color="#000000:#666600:#000000"] + edge [color="#000000:#895956:#000000"] Key:pRr:e -- W1:w2:w edge [color="#000000:#00ff00:#000000"] Key:pTr:e -- W1:w3:w - edge [color="#000000"] + edge [color="#000000:#aaaaaa:#000000"] Key:pSr:e -- W1:ws:w - W1 [label=<
W1
3x24 AWG+ S0.2 m
 
Key:SWH
Key:RBN
Key:TGN
 
Key:SShield
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
3x24 AWG+ S0.2 m
 
Key:SWH
Key:RBN
Key:TGN
 
Key:SShield
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/ex08.html b/examples/ex08.html index 854d239..ae67208 100644 --- a/examples/ex08.html +++ b/examples/ex08.html @@ -1,96 +1,98 @@ -

Diagram

- + +

Diagram

- + - + Key - -Key - -Phone Connector - -male 3.5 - -Dot - -Dash - -Ground - -T - -R - -S + + +Key + +Phone Connector + +male 3.5 + +Dot + +T + +Dash + +R + +Ground + +S W1 - - -W1 - -3x - -24 AWG - -+ S - -0.2 m -  -Key:S -WH - - - -Key:R -BN - - - -Key:T -GN - - - -  -Key:S -Shield - -  + + +W1 + +3x + +24 AWG + ++ S + +0.2 m +  +Key:S +WH + + + +Key:R +BN + + + +Key:T +GN + + + +  +Key:S +Shield + +  Key:e--W1:w - - - + + + Key:e--W1:w - - - + + + Key:e--W1:w - - - + + + Key:e--W1:w - + + + diff --git a/examples/ex08.png b/examples/ex08.png index 7767320..0358723 100644 Binary files a/examples/ex08.png and b/examples/ex08.png differ diff --git a/examples/ex08.svg b/examples/ex08.svg index 630f541..d24b758 100644 --- a/examples/ex08.svg +++ b/examples/ex08.svg @@ -4,93 +4,96 @@ - + - + Key - -Key - -Phone Connector - -male 3.5 - -Dot - -Dash - -Ground - -T - -R - -S + + +Key + +Phone Connector + +male 3.5 + +Dot + +T + +Dash + +R + +Ground + +S W1 - - -W1 - -3x - -24 AWG - -+ S - -0.2 m -  -Key:S -WH - - - -Key:R -BN - - - -Key:T -GN - - - -  -Key:S -Shield - -  + + +W1 + +3x + +24 AWG + ++ S + +0.2 m +  +Key:S +WH + + + +Key:R +BN + + + +Key:T +GN + + + +  +Key:S +Shield + +  Key:e--W1:w - - - + + + Key:e--W1:w - - - + + + Key:e--W1:w - - - + + + Key:e--W1:w - + + + diff --git a/examples/ex08.yml b/examples/ex08.yml index e65813a..2195c4a 100644 --- a/examples/ex08.yml +++ b/examples/ex08.yml @@ -4,8 +4,8 @@ connectors: Key: type: Phone Connector subtype: male 3.5 - pinnumbers: [T, R, S] - pinout: [Dot, Dash, Ground] + pins: [T, R, S] + pinlabels: [Dot, Dash, Ground] show_pincount: false cables: diff --git a/examples/ex09.gv b/examples/ex09.gv index 52df78a..c81b76a 100644 --- a/examples/ex09.gv +++ b/examples/ex09.gv @@ -4,45 +4,45 @@ graph { 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|{D-Sub|male|25-pin}|{{SENSE_P_1|SENSE_N_1|SENSE_P_2|SENSE_N_2|SENSE_P_3|SENSE_N_3|SENSE_P_4|SENSE_N_4|SENSE_P_5|SENSE_N_5|SENSE_P_6|SENSE_N_6|GND}|{1|14|3|16|5|18|7|20|9|22|11|24|13}}"] - X2 [label="X2|{F48|female|48-pin}|{{z2|b2|d2|z4|b4|d4|z6|b6|d6|z8|b8|d8|z10|b10|d10|z12|b12|d12|z14|b14|d14|z16|b16|d16|z18|b18|d18|z20|b20|d20|z22|b22|d22|z24|b24|d24|z26|b26|d26|z28|b28|d28|z30|b30|d30|z32|b32|d32}}"] - edge [color="#000000:#666600:#000000"] + X1 [label=<
X1
D-Submale25-pin
SENSE_P_11
SENSE_N_114
SENSE_P_23
SENSE_N_216
SENSE_P_35
SENSE_N_318
SENSE_P_47
SENSE_N_420
SENSE_P_59
SENSE_N_522
SENSE_P_611
SENSE_N_624
GND13
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
F48female48-pin
z2
b2
d2
z4
b4
d4
z6
b6
d6
z8
b8
d8
z10
b10
d10
z12
b12
d12
z14
b14
d14
z16
b16
d16
z18
b18
d18
z20
b20
d20
z22
b22
d22
z24
b24
d24
z26
b26
d26
z28
b28
d28
z30
b30
d30
z32
b32
d32
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#895956:#895956:#895956:#000000"] X1:p1r:e -- W1:w2:w W1:w2:e -- X2:pd4l:w - edge [color="#000000:#ffffff:#000000"] + edge [color="#000000:#ffffff:#ffffff:#ffffff:#000000"] X1:p14r:e -- W1:w1:w W1:w1:e -- X2:pz2l:w - edge [color="#000000:#ffff00:#000000"] + edge [color="#000000:#ffff00:#ffff00:#ffff00:#000000"] X1:p3r:e -- W1:w4:w W1:w4:e -- X2:pd10l:w - edge [color="#000000:#00ff00:#000000"] + edge [color="#000000:#00ff00:#00ff00:#00ff00:#000000"] X1:p16r:e -- W1:w3:w W1:w3:e -- X2:pz8l:w - edge [color="#000000:#ff66cc:#000000"] + edge [color="#000000:#ff66cc:#ff66cc:#ff66cc:#000000"] X1:p5r:e -- W1:w6:w W1:w6:e -- X2:pd16l:w - edge [color="#000000:#999999:#000000"] + edge [color="#000000:#999999:#999999:#999999:#000000"] X1:p18r:e -- W1:w5:w W1:w5:e -- X2:pz14l:w - edge [color="#000000:#ff0000:#000000"] + edge [color="#000000:#ff0000:#ff0000:#ff0000:#000000"] X1:p7r:e -- W1:w8:w W1:w8:e -- X2:pd20l:w - edge [color="#000000:#0066ff:#000000"] + edge [color="#000000:#0066ff:#0066ff:#0066ff:#000000"] X1:p20r:e -- W1:w7:w W1:w7:e -- X2:pz18l:w - edge [color="#000000:#8000ff:#000000"] + edge [color="#000000:#8000ff:#8000ff:#8000ff:#000000"] X1:p9r:e -- W1:w10:w W1:w10:e -- X2:pd26l:w - edge [color="#000000:#000000:#000000"] + edge [color="#000000:#000000:#000000:#000000:#000000"] X1:p22r:e -- W1:w9:w W1:w9:e -- X2:pz24l:w - edge [color="#000000:#666600:#000000"] + edge [color="#000000:#ff0000:#0066ff:#ff0000:#000000"] X1:p11r:e -- W1:w12:w W1:w12:e -- X2:pd32l:w - edge [color="#000000:#ffffff:#000000"] + edge [color="#000000:#999999:#ff66cc:#999999:#000000"] X1:p24r:e -- W1:w11:w W1:w11:e -- X2:pz30l:w - edge [color="#000000"] + edge [color="#000000:#aaaaaa:#000000"] X1:p13r:e -- W1:ws:w - W1 [label=<
W1
12x0.25 mm²+ S0.2 m
 
X1:14WHX2:z2
X1:1BNX2:d4
X1:16GNX2:z8
X1:3YEX2:d10
X1:18GYX2:z14
X1:5PKX2:d16
X1:20BUX2:z18
X1:7RDX2:d20
X1:22BKX2:z24
X1:9VTX2:d26
X1:24WHX2:z30
X1:11BNX2:d32
 
X1:13Shield
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
12x0.25 mm²+ S0.2 m
 
X1:14WHX2:z2
X1:1BNX2:d4
X1:16GNX2:z8
X1:3YEX2:d10
X1:18GYX2:z14
X1:5PKX2:d16
X1:20BUX2:z18
X1:7RDX2:d20
X1:22BKX2:z24
X1:9VTX2:d26
X1:24GYPKX2:z30
X1:11RDBUX2:d32
 
X1:13Shield
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/examples/ex09.html b/examples/ex09.html index ccce9d5..a710467 100644 --- a/examples/ex09.html +++ b/examples/ex09.html @@ -1,451 +1,526 @@ -

Diagram

- + +

Diagram

- - - + + + X1 - -X1 - -D-Sub - -male - -25-pin - -SENSE_P_1 - -SENSE_N_1 - -SENSE_P_2 - -SENSE_N_2 - -SENSE_P_3 - -SENSE_N_3 - -SENSE_P_4 - -SENSE_N_4 - -SENSE_P_5 - -SENSE_N_5 - -SENSE_P_6 - -SENSE_N_6 - -GND - -1 - -14 - -3 - -16 - -5 - -18 - -7 - -20 - -9 - -22 - -11 - -24 - -13 + + +X1 + +D-Sub + +male + +25-pin + +SENSE_P_1 + +1 + +SENSE_N_1 + +14 + +SENSE_P_2 + +3 + +SENSE_N_2 + +16 + +SENSE_P_3 + +5 + +SENSE_N_3 + +18 + +SENSE_P_4 + +7 + +SENSE_N_4 + +20 + +SENSE_P_5 + +9 + +SENSE_N_5 + +22 + +SENSE_P_6 + +11 + +SENSE_N_6 + +24 + +GND + +13 W1 - - -W1 - -12x - -0.25 mm² - -+ S - -0.2 m -  -X1:14 -WH -X2:z2 - - - -X1:1 -BN -X2:d4 - - - -X1:16 -GN -X2:z8 - - - -X1:3 -YE -X2:d10 - - - -X1:18 -GY -X2:z14 - - - -X1:5 -PK -X2:d16 - - - -X1:20 -BU -X2:z18 - - - -X1:7 -RD -X2:d20 - - - -X1:22 -BK -X2:z24 - - - -X1:9 -VT -X2:d26 - - - -X1:24 -WH -X2:z30 - - - -X1:11 -BN -X2:d32 - - - -  -X1:13 -Shield - -  + + +W1 + +12x + +0.25 mm² + ++ S + +0.2 m +  +X1:14 +WH +X2:z2 + + + + + +X1:1 +BN +X2:d4 + + + + + +X1:16 +GN +X2:z8 + + + + + +X1:3 +YE +X2:d10 + + + + + +X1:18 +GY +X2:z14 + + + + + +X1:5 +PK +X2:d16 + + + + + +X1:20 +BU +X2:z18 + + + + + +X1:7 +RD +X2:d20 + + + + + +X1:22 +BK +X2:z24 + + + + + +X1:9 +VT +X2:d26 + + + + + +X1:24 +GYPK +X2:z30 + + + + + +X1:11 +RDBU +X2:d32 + + + + + +  +X1:13 +Shield + +  X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - + + + X2 - -X2 - -F48 - -female - -48-pin - -z2 - -b2 - -d2 - -z4 - -b4 - -d4 - -z6 - -b6 - -d6 - -z8 - -b8 - -d8 - -z10 - -b10 - -d10 - -z12 - -b12 - -d12 - -z14 - -b14 - -d14 - -z16 - -b16 - -d16 - -z18 - -b18 - -d18 - -z20 - -b20 - -d20 - -z22 - -b22 - -d22 - -z24 - -b24 - -d24 - -z26 - -b26 - -d26 - -z28 - -b28 - -d28 - -z30 - -b30 - -d30 - -z32 - -b32 - -d32 + + +X2 + +F48 + +female + +48-pin + +z2 + +b2 + +d2 + +z4 + +b4 + +d4 + +z6 + +b6 + +d6 + +z8 + +b8 + +d8 + +z10 + +b10 + +d10 + +z12 + +b12 + +d12 + +z14 + +b14 + +d14 + +z16 + +b16 + +d16 + +z18 + +b18 + +d18 + +z20 + +b20 + +d20 + +z22 + +b22 + +d22 + +z24 + +b24 + +d24 + +z26 + +b26 + +d26 + +z28 + +b28 + +d28 + +z30 + +b30 + +d30 + +z32 + +b32 + +d32 W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, male, 25 pins1X1
Connector, F48, female, 48 pins1X2
Cable, 12 x 0.25 mm² shielded0.2mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, D-Sub, male, 25 pins1X1
Connector, F48, female, 48 pins1X2
Cable, 12 x 0.25 mm² shielded0.2mW1
\ No newline at end of file diff --git a/examples/ex09.png b/examples/ex09.png index 80c7662..e2a39ac 100644 Binary files a/examples/ex09.png and b/examples/ex09.png differ diff --git a/examples/ex09.svg b/examples/ex09.svg index 29ba2bb..faea978 100644 --- a/examples/ex09.svg +++ b/examples/ex09.svg @@ -4,447 +4,523 @@ - - - + + + X1 - -X1 - -D-Sub - -male - -25-pin - -SENSE_P_1 - -SENSE_N_1 - -SENSE_P_2 - -SENSE_N_2 - -SENSE_P_3 - -SENSE_N_3 - -SENSE_P_4 - -SENSE_N_4 - -SENSE_P_5 - -SENSE_N_5 - -SENSE_P_6 - -SENSE_N_6 - -GND - -1 - -14 - -3 - -16 - -5 - -18 - -7 - -20 - -9 - -22 - -11 - -24 - -13 + + +X1 + +D-Sub + +male + +25-pin + +SENSE_P_1 + +1 + +SENSE_N_1 + +14 + +SENSE_P_2 + +3 + +SENSE_N_2 + +16 + +SENSE_P_3 + +5 + +SENSE_N_3 + +18 + +SENSE_P_4 + +7 + +SENSE_N_4 + +20 + +SENSE_P_5 + +9 + +SENSE_N_5 + +22 + +SENSE_P_6 + +11 + +SENSE_N_6 + +24 + +GND + +13 W1 - - -W1 - -12x - -0.25 mm² - -+ S - -0.2 m -  -X1:14 -WH -X2:z2 - - - -X1:1 -BN -X2:d4 - - - -X1:16 -GN -X2:z8 - - - -X1:3 -YE -X2:d10 - - - -X1:18 -GY -X2:z14 - - - -X1:5 -PK -X2:d16 - - - -X1:20 -BU -X2:z18 - - - -X1:7 -RD -X2:d20 - - - -X1:22 -BK -X2:z24 - - - -X1:9 -VT -X2:d26 - - - -X1:24 -WH -X2:z30 - - - -X1:11 -BN -X2:d32 - - - -  -X1:13 -Shield - -  + + +W1 + +12x + +0.25 mm² + ++ S + +0.2 m +  +X1:14 +WH +X2:z2 + + + + + +X1:1 +BN +X2:d4 + + + + + +X1:16 +GN +X2:z8 + + + + + +X1:3 +YE +X2:d10 + + + + + +X1:18 +GY +X2:z14 + + + + + +X1:5 +PK +X2:d16 + + + + + +X1:20 +BU +X2:z18 + + + + + +X1:7 +RD +X2:d20 + + + + + +X1:22 +BK +X2:z24 + + + + + +X1:9 +VT +X2:d26 + + + + + +X1:24 +GYPK +X2:z30 + + + + + +X1:11 +RDBU +X2:d32 + + + + + +  +X1:13 +Shield + +  X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - - - + + + + + X1:e--W1:w - + + + X2 - -X2 - -F48 - -female - -48-pin - -z2 - -b2 - -d2 - -z4 - -b4 - -d4 - -z6 - -b6 - -d6 - -z8 - -b8 - -d8 - -z10 - -b10 - -d10 - -z12 - -b12 - -d12 - -z14 - -b14 - -d14 - -z16 - -b16 - -d16 - -z18 - -b18 - -d18 - -z20 - -b20 - -d20 - -z22 - -b22 - -d22 - -z24 - -b24 - -d24 - -z26 - -b26 - -d26 - -z28 - -b28 - -d28 - -z30 - -b30 - -d30 - -z32 - -b32 - -d32 + + +X2 + +F48 + +female + +48-pin + +z2 + +b2 + +d2 + +z4 + +b4 + +d4 + +z6 + +b6 + +d6 + +z8 + +b8 + +d8 + +z10 + +b10 + +d10 + +z12 + +b12 + +d12 + +z14 + +b14 + +d14 + +z16 + +b16 + +d16 + +z18 + +b18 + +d18 + +z20 + +b20 + +d20 + +z22 + +b22 + +d22 + +z24 + +b24 + +d24 + +z26 + +b26 + +d26 + +z28 + +b28 + +d28 + +z30 + +b30 + +d30 + +z32 + +b32 + +d32 W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + W1:e--X2:w - - - + + + + + diff --git a/examples/ex09.yml b/examples/ex09.yml index baef3ab..9cce10f 100644 --- a/examples/ex09.yml +++ b/examples/ex09.yml @@ -5,13 +5,13 @@ connectors: type: D-Sub subtype: male pincount: 25 - pinnumbers: [1,14,3,16,5,18,7,20,9,22,11,24,13] - pinout: [ SENSE_P_1, SENSE_N_1, SENSE_P_2, SENSE_N_2, SENSE_P_3, SENSE_N_3, SENSE_P_4,SENSE_N_4, SENSE_P_5, SENSE_N_5, SENSE_P_6, SENSE_N_6, GND ] + pins: [1,14,3,16,5,18,7,20,9,22,11,24,13] + pinlabels: [ SENSE_P_1, SENSE_N_1, SENSE_P_2, SENSE_N_2, SENSE_P_3, SENSE_N_3, SENSE_P_4,SENSE_N_4, SENSE_P_5, SENSE_N_5, SENSE_P_6, SENSE_N_6, GND ] X2: type: F48 subtype: female pincount: 48 - pinnumbers: [ z2,b2,d2,z4,b4,d4,z6,b6,d6,z8,b8,d8,z10,b10,d10,z12,b12,d12,z14,b14,d14,z16,b16,d16,z18,b18,d18,z20,b20,d20,z22,b22,d22,z24,b24,d24,z26,b26,d26,z28,b28,d28,z30,b30,d30,z32,b32,d32 ] + pins: [ z2,b2,d2,z4,b4,d4,z6,b6,d6,z8,b8,d8,z10,b10,d10,z12,b12,d12,z14,b14,d14,z16,b16,d16,z18,b18,d18,z20,b20,d20,z22,b22,d22,z24,b24,d24,z26,b26,d26,z28,b28,d28,z30,b30,d30,z32,b32,d32 ] cables: W1: diff --git a/examples/ex10.bom.tsv b/examples/ex10.bom.tsv new file mode 100644 index 0000000..259d52a --- /dev/null +++ b/examples/ex10.bom.tsv @@ -0,0 +1,3 @@ +Item Qty Unit Designators +Connector, Stewart Connector SS-37000-002, male, 8 pins 2 X1, X2 +Cable, CAT5e, 8 x 24 AWG 1 m W1 diff --git a/examples/ex10.gv b/examples/ex10.gv new file mode 100644 index 0000000..788eb37 --- /dev/null +++ b/examples/ex10.gv @@ -0,0 +1,34 @@ +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
Stewart Connector SS-37000-002male8-pin
DA+1
DA-2
DB+3
DC+4
DC-5
DB-6
DD+7
DD-8
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Stewart Connector SS-37000-002male8-pin
1DB+
2DB-
3DA+
4DD+
5DD-
6DA-
7DC+
8DC-
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#ffffff:#00ff00:#ffffff:#000000"] + X1:p1r:e -- W1:w1:w + W1:w1:e -- X2:p3l:w + edge [color="#000000:#00ff00:#00ff00:#00ff00:#000000"] + X1:p2r:e -- W1:w2:w + W1:w2:e -- X2:p6l:w + edge [color="#000000:#ffffff:#ff8000:#ffffff:#000000"] + X1:p3r:e -- W1:w3:w + W1:w3:e -- X2:p1l:w + edge [color="#000000:#0066ff:#0066ff:#0066ff:#000000"] + X1:p4r:e -- W1:w4:w + W1:w4:e -- X2:p7l:w + edge [color="#000000:#ffffff:#0066ff:#ffffff:#000000"] + X1:p5r:e -- W1:w5:w + W1:w5:e -- X2:p8l:w + edge [color="#000000:#ff8000:#ff8000:#ff8000:#000000"] + X1:p6r:e -- W1:w6:w + W1:w6:e -- X2:p2l:w + edge [color="#000000:#ffffff:#895956:#ffffff:#000000"] + X1:p7r:e -- W1:w7:w + W1:w7:e -- X2:p4l:w + edge [color="#000000:#895956:#895956:#895956:#000000"] + X1:p8r:e -- W1:w8:w + W1:w8:e -- X2:p5l:w + W1 [label=<
W1
CAT5e8x24 AWG1 m
 
X1:1WHGNX2:3
X1:2GNX2:6
X1:3WHOGX2:1
X1:4BUX2:7
X1:5WHBUX2:8
X1:6OGX2:2
X1:7WHBNX2:4
X1:8BNX2:5
 
> fillcolor=white margin=0 shape=box style=""] +} diff --git a/examples/ex10.html b/examples/ex10.html new file mode 100644 index 0000000..9c23134 --- /dev/null +++ b/examples/ex10.html @@ -0,0 +1,327 @@ + +

Diagram

+ + + + + + + +X1 + + +X1 + +Stewart Connector SS-37000-002 + +male + +8-pin + +DA+ + +1 + +DA- + +2 + +DB+ + +3 + +DC+ + +4 + +DC- + +5 + +DB- + +6 + +DD+ + +7 + +DD- + +8 + + + +W1 + + +W1 + +CAT5e + +8x + +24 AWG + +1 m +  +X1:1 +WHGN +X2:3 + + + + + +X1:2 +GN +X2:6 + + + + + +X1:3 +WHOG +X2:1 + + + + + +X1:4 +BU +X2:7 + + + + + +X1:5 +WHBU +X2:8 + + + + + +X1:6 +OG +X2:2 + + + + + +X1:7 +WHBN +X2:4 + + + + + +X1:8 +BN +X2:5 + + + + + +  + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X2 + + +X2 + +Stewart Connector SS-37000-002 + +male + +8-pin + +1 + +DB+ + +2 + +DB- + +3 + +DA+ + +4 + +DD+ + +5 + +DD- + +6 + +DA- + +7 + +DC+ + +8 + +DC- + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +

Bill of Materials

ItemQtyUnitDesignators
Connector, Stewart Connector SS-37000-002, male, 8 pins2X1, X2
Cable, CAT5e, 8 x 24 AWG1mW1
\ No newline at end of file diff --git a/examples/ex10.png b/examples/ex10.png new file mode 100644 index 0000000..1dc19de Binary files /dev/null and b/examples/ex10.png differ diff --git a/examples/ex10.svg b/examples/ex10.svg new file mode 100644 index 0000000..4542e37 --- /dev/null +++ b/examples/ex10.svg @@ -0,0 +1,327 @@ + + + + + + + + + +X1 + + +X1 + +Stewart Connector SS-37000-002 + +male + +8-pin + +DA+ + +1 + +DA- + +2 + +DB+ + +3 + +DC+ + +4 + +DC- + +5 + +DB- + +6 + +DD+ + +7 + +DD- + +8 + + + +W1 + + +W1 + +CAT5e + +8x + +24 AWG + +1 m +  +X1:1 +WHGN +X2:3 + + + + + +X1:2 +GN +X2:6 + + + + + +X1:3 +WHOG +X2:1 + + + + + +X1:4 +BU +X2:7 + + + + + +X1:5 +WHBU +X2:8 + + + + + +X1:6 +OG +X2:2 + + + + + +X1:7 +WHBN +X2:4 + + + + + +X1:8 +BN +X2:5 + + + + + +  + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X1:e--W1:w + + + + + + + + +X2 + + +X2 + +Stewart Connector SS-37000-002 + +male + +8-pin + +1 + +DB+ + +2 + +DB- + +3 + +DA+ + +4 + +DD+ + +5 + +DD- + +6 + +DA- + +7 + +DC+ + +8 + +DC- + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + +W1:e--X2:w + + + + + + + + diff --git a/examples/ex10.yml b/examples/ex10.yml new file mode 100644 index 0000000..cbd392a --- /dev/null +++ b/examples/ex10.yml @@ -0,0 +1,24 @@ +# Example 7: Crossover Cable +connectors: + X1: + type: Stewart Connector SS-37000-002 + subtype: male + pinlabels: [DA+,DA-,DB+,DC+,DC-,DB-,DD+,DD-] # pincount is implicit in pinout + X2: + type: Stewart Connector SS-37000-002 + subtype: male + pinlabels: [DB+,DB-,DA+,DD+,DD-,DA-,DC+,DC-] + +cables: + W1: + color_code: T568A # auto-color wires based on a standard + wirecount: 8 # need to specify number of wires explicitly when using a color code + gauge: 24 AWG # also accepts AWG as unit + length: 1 # length in m + shield: false + type: CAT5e + +connections: + - - X1: [1-8] + - W1: [1-8] + - X2: [3,6,1,7,8,2,4,5] # crossover diff --git a/examples/readme.md b/examples/readme.md index e90e593..145ee5a 100644 --- a/examples/readme.md +++ b/examples/readme.md @@ -1,4 +1,5 @@ -# Example gallery +# Example Gallery + ## Example 01 ![](ex01.png) @@ -53,3 +54,9 @@ [Source](ex09.yml) - [Bill of Materials](ex09.bom.tsv) +## Example 10 +![](ex10.png) + +[Source](ex10.yml) - [Bill of Materials](ex10.bom.tsv) + + diff --git a/requirements.txt b/requirements.txt index d24fc95..9339481 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ . graphviz pyyaml +setuptools \ No newline at end of file diff --git a/setup.py b/setup.py index 950e314..09621bb 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ #!/usr/bin/python3 +# -*- coding: utf-8 -*- import os from setuptools import setup, find_packages diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index 0e82492..2287e59 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -13,16 +13,17 @@ class Connector: manufacturer: Optional[str] = None manufacturer_part_number: Optional[str] = None internal_part_number: Optional[str] = None + style: Optional[str] = None category: Optional[str] = None type: Optional[str] = None subtype: Optional[str] = None pincount: Optional[int] = None notes: Optional[str] = None - pinout: List[Any] = field(default_factory=list) - pinnumbers: List[Any] = field(default_factory=list) + pinlabels: List[Any] = field(default_factory=list) + pins: List[Any] = field(default_factory=list) color: Optional[str] = None - show_name: bool = True - show_pincount: bool = True + show_name: bool = None + show_pincount: bool = None hide_disconnected_pins: bool = False autogenerate: bool = False loops: List[Any] = field(default_factory=list) @@ -32,28 +33,37 @@ class Connector: self.ports_right = False self.visible_pins = {} + if self.style == 'simple': + if self.pincount and self.pincount > 1: + raise Exception('Connectors with style set to simple may only have one pin') + self.pincount = 1 + if self.pincount is None: - if self.pinout: - self.pincount = len(self.pinout) - elif self.pinnumbers: - self.pincount = len(self.pinnumbers) - elif self.category == 'ferrule': - self.pincount = 1 + if self.pinlabels: + self.pincount = len(self.pinlabels) + elif self.pins: + self.pincount = len(self.pins) else: - raise Exception('You need to specify at least one, pincount, pinout or pinnumbers') + raise Exception('You need to specify at least one, pincount, pins or pinlabels') - if self.pinout and self.pinnumbers: - if len(self.pinout) != len(self.pinnumbers): - raise Exception('Given pinout and pinnumbers size mismatch') + if self.pinlabels and self.pins: + if len(self.pinlabels) != len(self.pins): + raise Exception('Given pins and pinlabels size mismatch') - # create default lists for pinnumbers (sequential) and pinouts (blank) if not specified - if not self.pinnumbers: - self.pinnumbers = list(range(1, self.pincount + 1)) - if not self.pinout: - self.pinout = [''] * self.pincount + # create default lists for pins (sequential) and pinlabels (blank) if not specified + if not self.pins: + self.pins = list(range(1, self.pincount + 1)) + if not self.pinlabels: + self.pinlabels = [''] * self.pincount - if len(self.pinnumbers) != len(set(self.pinnumbers)): - raise Exception('Pin numbers are not unique') + if len(self.pins) != len(set(self.pins)): + raise Exception('Pins are not unique') + + if self.show_name is None: + self.show_name = not self.autogenerate # hide auto-generated designators by default + + if self.show_pincount is None: + self.show_pincount = self.style != 'simple' # hide pincount for simple (1 pin) connectors by default for loop in self.loops: # TODO: check that pins to connect actually exist diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index 1d418bf..a3aa0ce 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -3,13 +3,15 @@ from wireviz.DataClasses import Connector, Cable from graphviz import Graph -from wireviz import wv_colors +from wireviz import wv_colors, wv_helper +from wireviz.wv_colors import get_color_hex 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 + graphviz_line_breaks, remove_line_breaks, open_file_read, open_file_write from collections import Counter from typing import List from pathlib import Path +import re class Harness: @@ -33,23 +35,23 @@ class Harness: 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): + if pin in connector.pins and pin in connector.pinlabels: + if connector.pins.index(pin) == connector.pinlabels.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 both in pinlabels and pins, for different pins.') + if pin in connector.pinlabels: + if connector.pinlabels.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 + index = connector.pinlabels.index(pin) + pin = connector.pins[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: + if not pin in connector.pins: raise Exception(f'{name}:{pin} not found.') self.cables[via_name].connect(from_name, from_pin, via_pin, to_name, to_pin) @@ -77,51 +79,41 @@ class Harness: # prepare ports on connectors depending on which side they will connect for _, cable in self.cables.items(): - for connection in cable.connections: - if connection.from_port is not None: # connect to left - self.connectors[connection.from_name].ports_right = True - if connection.to_port is not None: # connect to right - self.connectors[connection.to_name].ports_left = True + for connection_color in cable.connections: + if connection_color.from_port is not None: # connect to left + self.connectors[connection_color.from_name].ports_right = True + if connection_color.to_port is not None: # connect to right + self.connectors[connection_color.to_name].ports_left = True for key, connector in self.connectors.items(): - if connector.category == 'ferrule': - 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), connector.color, '' if connector.color else None], - [html_line_breaks(connector.notes)]] - html = nested_html_table(rows) + 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.color, '' if connector.color else None], + '' if connector.style != 'simple' else None, + [html_line_breaks(connector.notes)]] + html = nested_html_table(rows) - if connector.color: # add color bar next to color info, if present - colorbar = f' bgcolor="{wv_colors.translate_color(connector.color, "HEX")}" width="4">' # leave out ' tag - html = html.replace('>', colorbar) + if connector.color: # add color bar next to color info, if present + colorbar = f' bgcolor="{wv_colors.translate_color(connector.color, "HEX")}" width="4">' # leave out ' tag + html = html.replace('>', colorbar) - dot.node(key, label=f'<{html}>', shape='none', margin='0', style='filled', fillcolor='white') - - else: # not a ferrule - - 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], - '', - [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): + if connector.style != 'simple': + pinlist = [] + for pin, pinlabel in zip(connector.pins, connector.pinlabels): + if connector.hide_disconnected_pins and not connector.visible_pins.get(pin, False): continue - pinouts.append([f'{pinnumber}' if connector.ports_left else None, - f'{pinname}' if pinname else '', - f'{pinnumber}' if connector.ports_right else None]) + pinlist.append([f'{pin}' if connector.ports_left else None, + f'{pinlabel}' if pinlabel else '', + f'{pin}' if connector.ports_right else None]) pinhtml = '' - for i, pin in enumerate(pinouts): + for i, pin in enumerate(pinlist): pinhtml = f'{pinhtml}' for column in pin: if column is not None: @@ -130,21 +122,22 @@ class Harness: pinhtml = f'{pinhtml}
' html = html.replace('', 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') - if connector.ports_left: - loop_side = 'l' - loop_dir = 'w' - elif connector.ports_right: - loop_side = 'r' - loop_dir = 'e' - else: - raise Exception('No side for loops') - for loop in connector.loops: - dot.edge(f'{connector.name}:p{loop[0]}{loop_side}:{loop_dir}', - f'{connector.name}:p{loop[1]}{loop_side}:{loop_dir}') + 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') + if connector.ports_left: + loop_side = 'l' + loop_dir = 'w' + elif connector.ports_right: + loop_side = 'r' + loop_dir = 'e' + else: + raise Exception('No side for loops') + for loop in connector.loops: + dot.edge(f'{connector.name}:p{loop[0]}{loop_side}:{loop_dir}', + f'{connector.name}:p{loop[1]}{loop_side}:{loop_dir}') for _, cable in self.cables.items(): @@ -170,40 +163,50 @@ class Harness: f'{cable.length} m' if cable.length > 0 else ''] attributes = list(filter(None, attributes)) - html = '' # name+attributes table + if cable.show_name or len(attributes) > 0: + html = f'{html}' # name+attributes table html = f'{html}' # spacer between attributes and wires html = f'{html}
' # main table + html = '' # main table - html = f'{html}
' # name+attributes table - if cable.show_name: - html = f'{html}' - if(len(identification) > 0): # print an identification row if values specified - html = f'{html}' # end identification row - html = f'{html}' # attribute row - for attrib in attributes: - html = f'{html}' - html = f'{html}' # attribute row - html = f'{html}
{cable.name}
' - for attrib in identification[0:-1]: - html = f'{html}' # all columns except last have a border on the right (sides="R") - if len(identification) > 0: - html = f'{html}' # last column has no border on the right because the enclosing table borders it - html = f'{html}
{attrib}{identification[-1]}
{attrib}
' # name+attributes table + if cable.show_name: + html = f'{html}' + if(len(identification) > 0): # print an identification row if values specified + html = f'{html}' # end identification row + if(len(attributes) > 0): + html = f'{html}' # attribute row + for attrib in attributes: + html = f'{html}' + html = f'{html}' # attribute row + html = f'{html}
{cable.name}
' + for attrib in identification[0:-1]: + html = f'{html}' # all columns except last have a border on the right (sides="R") + if len(identification) > 0: + html = f'{html}' # last column has no border on the right because the enclosing table borders it + html = f'{html}
{attrib}{identification[-1]}
{attrib}
 
' # conductor table - for i, connection in enumerate(cable.colors, 1): + # determine if there are double- or triple-colored wires; + # if so, pad single-color wires to make all wires of equal thickness + colorlengths = list(map(len, cable.colors)) + pad = 4 in colorlengths or 6 in colorlengths + + for i, connection_color in enumerate(cable.colors, 1): p = [] p.append(f'') - p.append(wv_colors.translate_color(connection, self.color_mode)) + p.append(wv_colors.translate_color(connection_color, self.color_mode)) p.append(f'') html = f'{html}' for bla in p: html = f'{html}' html = f'{html}' - bgcolor = wv_colors.translate_color(connection, 'hex') - bgcolor = bgcolor if bgcolor != '' else '#ffffff' - html = f'{html}' + + bgcolors = ['#000000'] + get_color_hex(connection_color, pad=pad) + ['#000000'] + html = f'{html}' if(cable.category == 'bundle'): # for bundles individual wires can have part information # create a list of wire parameters wireidentification = [] @@ -241,32 +244,26 @@ class Harness: html = f'{html}
{bla}
' + for j, bgcolor in enumerate(bgcolors[::-1]): # Reverse to match the curved wires when more than 2 colors + html = f'{html}' + html = html + '
' # main table # connections - for connection in cable.connections: - if isinstance(connection.via_port, int): # check if it's an actual wire and not a shield - search_color = cable.colors[connection.via_port - 1] - if search_color in wv_colors.color_hex: - dot.attr('edge', color=f'#000000:{wv_colors.color_hex[search_color]}:#000000') - else: # color name not found - dot.attr('edge', color='#000000:#ffffff:#000000') + for connection_color in cable.connections: + if isinstance(connection_color.via_port, int): # check if it's an actual wire and not a shield + dot.attr('edge', color=':'.join(['#000000'] + wv_colors.get_color_hex(cable.colors[connection_color.via_port - 1], pad=pad) + ['#000000'])) else: # it's a shield connection - dot.attr('edge', color='#000000') - - if connection.from_port is not None: # connect to left - from_ferrule = self.connectors[connection.from_name].category == 'ferrule' - port = f':p{connection.from_port}r' if not from_ferrule else '' - code_left_1 = f'{connection.from_name}{port}:e' - code_left_2 = f'{cable.name}:w{connection.via_port}:w' + # shield is shown as a thin tinned wire + dot.attr('edge', color=':'.join(['#000000', wv_colors.get_color_hex('SN', pad=False)[0], '#000000'])) + if connection_color.from_port is not None: # connect to left + from_port = f':p{connection_color.from_port}r' if self.connectors[connection_color.from_name].style != 'simple' else '' + code_left_1 = f'{connection_color.from_name}{from_port}:e' + code_left_2 = f'{cable.name}:w{connection_color.via_port}:w' dot.edge(code_left_1, code_left_2) - from_string = f'{connection.from_name}:{connection.from_port}' if not from_ferrule else '' - html = html.replace(f'', from_string) - if connection.to_port is not None: # connect to right - to_ferrule = self.connectors[connection.to_name].category == 'ferrule' - code_right_1 = f'{cable.name}:w{connection.via_port}:e' - to_port = f':p{connection.to_port}l' if not to_ferrule else '' - code_right_2 = f'{connection.to_name}{to_port}:w' + from_string = f'{connection_color.from_name}:{connection_color.from_port}' if self.connectors[connection_color.from_name].show_name else '' + html = html.replace(f'', from_string) + if connection_color.to_port is not None: # connect to right + code_right_1 = f'{cable.name}:w{connection_color.via_port}:e' + to_port = f':p{connection_color.to_port}l' if self.connectors[connection_color.to_name].style != 'simple' else '' + code_right_2 = f'{connection_color.to_name}{to_port}:w' dot.edge(code_right_1, code_right_2) - to_string = f'{connection.to_name}:{connection.to_port}' if not to_ferrule else '' - html = html.replace(f'', to_string) + to_string = f'{connection_color.to_name}:{connection_color.to_port}' if self.connectors[connection_color.to_name].show_name else '' + html = html.replace(f'', to_string) dot.node(cable.name, label=f'<{html}>', shape='box', style='filled,dashed' if cable.category == 'bundle' else '', margin='0', fillcolor='white') @@ -300,14 +297,19 @@ class Harness: graph.save(filename=f'{filename}.gv') # bom output bom_list = self.bom_list() - with open(f'{filename}.bom.tsv', 'w') as file: + with open_file_write(f'{filename}.bom.tsv') as file: file.write(tuplelist2tsv(bom_list)) # HTML output - with open(f'{filename}.html', 'w') as file: - file.write('') + with open_file_write(f'{filename}.html') as file: + file.write('\n') + file.write('') file.write('

Diagram

') - with open(f'{filename}.svg') as svg: + with open_file_read(f'{filename}.svg') as svg: + file.write(re.sub( + '^<[?]xml [^?>]*[?]>[^<]*]*>', + '', + svg.read(1024), 1)) for svgdata in svg: file.write(svgdata) @@ -343,10 +345,10 @@ class Harness: designators.sort() 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_pincount = f', {shared.pincount} pins' if shared.style != 'simple' 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.show_name 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 diff --git a/src/wireviz/build_examples.py b/src/wireviz/build_examples.py index e622941..ee59ded 100755 --- a/src/wireviz/build_examples.py +++ b/src/wireviz/build_examples.py @@ -1,57 +1,113 @@ #!/usr/bin/python3 # -*- coding: utf-8 -*- - +import argparse import os import sys +from fnmatch import fnmatch + +# noinspection PyUnresolvedReferences +from wv_helper import open_file_write, open_file_read sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) from wireviz import wireviz -demos = 2 # 2 -examples = 9 # 9 -tutorials = 8 # 7 +examples_path = os.path.join('..','..','examples') +tutorials_path = os.path.join('..','..','tutorial') +demos_path = examples_path -if demos: - for i in range(1,demos+1): - fn = '../../examples/demo{:02d}.yml'.format(i) - print(fn) - wireviz.parse_file(fn) +readme = 'readme.md' -if examples: - with open(os.path.abspath('../../examples/readme.md'), 'w') as file: + +def build_demos(): + for fn in sorted(os.listdir(demos_path)): + if fnmatch(fn, "demo*.yml"): + abspath = os.path.join(demos_path, fn) + + print(abspath) + wireviz.parse_file(abspath) + +def build_examples(): + with open_file_write(os.path.join(examples_path, readme)) as file: file.write('# Example gallery\n') - for i in range(1,examples+1): - fn = '../../examples/ex{:02d}.yml'.format(i) - print(fn) - wireviz.parse_file(fn) + for fn in sorted(os.listdir(examples_path)): + if fnmatch(fn, "ex*.yml"): + i = ''.join(filter(str.isdigit, fn)) - file.write('## Example {:02d}\n'.format(i)) - file.write('![](ex{:02d}.png)\n\n'.format(i)) - file.write('[Source](ex{:02d}.yml) - [Bill of Materials](ex{:02d}.bom.tsv)\n\n\n'.format(i,i)) + abspath = os.path.join(examples_path, fn) + outfile_name = abspath.split(".yml")[0] -if tutorials: - with open(os.path.abspath('../../tutorial/readme.md'), 'w') as file: + + print(abspath) + wireviz.parse_file(abspath) + + file.write(f'## Example {i}\n') + file.write(f'![]({outfile_name}.png)\n\n') + file.write(f'[Source]({fn}) - [Bill of Materials]({outfile_name}.bom.tsv)\n\n\n') + +def build_tutorials(): + with open_file_write(os.path.join(tutorials_path, readme)) as file: file.write('# WireViz Tutorial\n') - for i in range(1,tutorials+1): - fn = '../../tutorial/tutorial{:02d}.yml'.format(i) - print(fn) - wireviz.parse_file(fn) + for fn in sorted(os.listdir(tutorials_path)): + if fnmatch(fn, "tutorial*.yml"): + i = ''.join(filter(str.isdigit, fn)) + abspath = os.path.join(tutorials_path, fn) + print(abspath) - with open(os.path.abspath('../../tutorial/tutorial{:02d}.md'.format(i)), 'r') as info: - for line in info: - file.write(line.replace('## ', '## {} - '.format(i))) - file.write('\n[Source](tutorial{:02d}.yml):\n\n'.format(i)) + wireviz.parse_file(abspath) - with open(os.path.abspath('../../tutorial/tutorial{:02d}.yml'.format(i)), 'r') as src: - file.write('```yaml\n') - for line in src: - file.write(line) - file.write('```\n') - file.write('\n') + outfile_name = abspath.split(".yml")[0] - file.write('\nOutput:\n\n'.format(i)) + with open_file_read(outfile_name + '.md') as info: + for line in info: + file.write(line.replace('## ', '## {} - '.format(i))) + file.write(f'\n[Source]({fn}):\n\n') - file.write('![](tutorial{:02d}.png)\n\n'.format(i)) + with open_file_read(abspath) as src: + file.write('```yaml\n') + for line in src: + file.write(line) + file.write('```\n') + file.write('\n') - file.write('[Bill of Materials](tutorial{:02d}.bom.tsv)\n\n\n'.format(i)) + file.write('\nOutput:\n\n'.format(i)) + + file.write(f'![](tutorial{outfile_name}.png)\n\n') + + file.write(f'[Bill of Materials](tutorial{outfile_name}.bom.tsv)\n\n\n') + +def clean_examples(): + generated_extensions = ['.gv', '.png', '.svg', '.html', '.bom.tsv'] + + for filepath in [examples_path, demos_path, tutorials_path]: + print(filepath) + for file in sorted(os.listdir(filepath)): + if os.path.exists(os.path.join(filepath, file)): + if list(filter(file.endswith, generated_extensions)) or file == 'readme.md': + print('rm ' + os.path.join(filepath, file)) + os.remove(os.path.join(filepath, file)) + + +def parse_args(): + parser = argparse.ArgumentParser( + description='Wireviz Example Manager', + ) + parser.add_argument('action', nargs='?', action='store', default='build') + parser.add_argument('-generate', nargs='*', choices=['examples', 'demos', 'tutorials'], default=['examples', 'demos', 'tutorials']) + return parser.parse_args() +def main(): + args = parse_args() + if args.action == 'build': + generate_types = { + 'examples': build_examples, + 'demos': build_demos, + 'tutorials': build_tutorials + } + for gentype in args.generate: + if gentype in generate_types: + generate_types.get(gentype) () + elif args.action == 'clean': + clean_examples() + +if __name__ == '__main__': + main() diff --git a/src/wireviz/wireviz.py b/src/wireviz/wireviz.py index 6c9a186..3adc078 100755 --- a/src/wireviz/wireviz.py +++ b/src/wireviz/wireviz.py @@ -14,7 +14,7 @@ if __name__ == '__main__': from wireviz.Harness import Harness -from wireviz.wv_helper import expand +from wireviz.wv_helper import expand, open_file_read def parse(yaml_input: str, file_out: (str, Path) = None, return_types: (None, str, Tuple[str]) = None) -> Any: @@ -37,8 +37,8 @@ def parse(yaml_input: str, file_out: (str, Path) = None, return_types: (None, st harness = Harness() # add items - sections = ['connectors', 'cables', 'ferrules', 'connections'] - types = [dict, dict, dict, list] + sections = ['connectors', 'cables', 'connections'] + types = [dict, dict, list] for sec, ty in zip(sections, types): if sec in yaml_data and type(yaml_data[sec]) == ty: if len(yaml_data[sec]) > 0: @@ -49,8 +49,6 @@ def parse(yaml_input: str, file_out: (str, Path) = None, return_types: (None, st harness.add_connector(name=key, **attribs) elif sec == 'cables': harness.add_cable(name=key, **attribs) - elif sec == 'ferrules': - pass else: pass # section exists but is empty else: # section does not exist, create empty section @@ -198,7 +196,7 @@ def parse(yaml_input: str, file_out: (str, Path) = None, return_types: (None, st def parse_file(yaml_file: str, file_out: (str, Path) = None) -> None: - with open(yaml_file, 'r') as file: + with open_file_read(yaml_file) as file: yaml_input = file.read() if not file_out: @@ -228,14 +226,14 @@ def main(): print(f'Error: input file {args.input_file} inaccessible or does not exist, check path') sys.exit(1) - with open(args.input_file) as fh: + with open_file_read(args.input_file) as fh: yaml_input = fh.read() if args.prepend_file: if not os.path.exists(args.prepend_file): print(f'Error: prepend input file {args.prepend_file} inaccessible or does not exist, check path') sys.exit(1) - with open(args.prepend_file) as fh: + with open_file_read(args.prepend_file) as fh: prepend = fh.read() yaml_input = prepend + yaml_input diff --git a/src/wireviz/wv_colors.py b/src/wireviz/wv_colors.py index 055b467..4157543 100644 --- a/src/wireviz/wv_colors.py +++ b/src/wireviz/wv_colors.py @@ -1,13 +1,31 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- +import sys + COLOR_CODES = { - 'DIN': ['WH', 'BN', 'GN', 'YE', 'GY', 'PK', 'BU', 'RD', 'BK', 'VT'], # ,'GYPK','RDBU','WHGN','BNGN','WHYE','YEBN','WHGY','GYBN','WHPK','PKBN'], + 'DIN': ['WH', 'BN', 'GN', 'YE', 'GY', 'PK', 'BU', 'RD', 'BK', 'VT', 'GYPK', 'RDBU', 'WHGN', 'BNGN', 'WHYE', 'YEBN', + 'WHGY', 'GYBN', 'WHPK', 'PKBN', 'WHBU', 'BNBU', 'WHRD', 'BNRD', 'WHBK', 'BNBK', 'GYGN', 'YEGY', 'PKGN', + 'YEPK', 'GNBU', 'YEBU', 'GNRD', 'YERD', 'GNBK', 'YEBK', 'GYBU', 'PKBU', 'GYRD', 'PKRD', 'GYBK', 'PKBK', + 'BUBK', 'RDBK', 'WHBNBK', 'YEGNBK', 'GYPKBK', 'RDBUBK', 'WHGNBK', 'BNGNBK', 'WHYEBK', 'YEBNBK', 'WHGYBK', + 'GYBNBK', 'WHPKBK', 'PKBNBK', 'WHBUBK', 'BNBUBK', 'WHRDBK', 'BNRDBK'], 'IEC': ['BN', 'RD', 'OG', 'YE', 'GN', 'BU', 'VT', 'GY', 'WH', 'BK'], 'BW': ['BK', 'WH'], + 'TEL': ['BUWH', 'WHBU', 'OGWH', 'WHOG', 'GNWH', 'WHGN', 'BNWH', 'WHBN', 'SLWH', 'WHSL', 'BURD', 'RDBU', 'OGRD', + 'RDOG', 'GNRD', 'RDGN', 'BNRD', 'RDBN', 'SLRD', 'RDSL', 'BUBK', 'BKBU', 'OGBK', 'BKOG', 'GNBK', 'BKGN', + 'BNBK', 'BKBN', 'SLBK', 'BKSL', 'BUYW', 'YWBU', 'OGYW', 'YWOG', 'GNYW', 'YWGN', 'BNYW', 'YWBN', 'SLYW', + 'YWSL', 'BUVT', 'VTBU', 'OGVT', 'VTOG', 'GNVT', 'VTGN', 'BNVT', 'VTBN', 'SLVT', 'VTSL'], + 'TELALT': ['WHBU', 'BU', 'WHOG', 'OG', 'WHGN', 'GN', 'WHBN', 'BN', 'WHSL', 'SL', 'RDBU', 'BURD', 'RDOG', 'OGRD', + 'RDGN', 'GNRD', 'RDBN', 'BNRD', 'RDSL', 'SLRD', 'BKBU', 'BUBK', 'BKOG', 'OGBK', 'BKGN', 'GNBK', 'BKBN', + 'BNBK', 'BKSL', 'SLBK', 'YWBU', 'BUYW', 'YWOG', 'OGYW', 'YWGN', 'GNYW', 'YWBN', 'BNYW', 'YWSL', 'SLYW', + 'VTBU', 'BUVT', 'VTOG', 'OGVT', 'VTGN', 'GNVT', 'VTBN', 'BNVT', 'VTSL', 'SLVT'], + 'T568A': ['WHGN', 'GN', 'WHOG', 'BU', 'WHBU', 'OG', 'WHBN', 'BN'], + 'T568B': ['WHOG', 'OG', 'WHGN', 'BU', 'WHBU', 'GN', 'WHBN', 'BN'], } -color_hex = { +# Convention: Color names should be 2 letters long, to allow for multicolored wires + +_color_hex = { 'BK': '#000000', 'WH': '#ffffff', 'GY': '#999999', @@ -15,14 +33,23 @@ color_hex = { 'RD': '#ff0000', 'OG': '#ff8000', 'YE': '#ffff00', + 'OL': '#708000', # olive green 'GN': '#00ff00', 'TQ': '#00ffff', + 'LB': '#a0dfff', # light blue 'BU': '#0066ff', 'VT': '#8000ff', - 'BN': '#666600', + 'BN': '#895956', + 'BG': '#ceb673', # beige + 'IV': '#f5f0d0', # ivory + 'SL': '#708090', + 'CU': '#d6775e', # Faux-copper look, for bare CU wire + 'SN': '#aaaaaa', # Silvery look for tinned bare wire + 'SR': '#84878c', # Darker silver for silvered wire + 'GD': '#ffcf80', # Golden color for gold } -color_full = { +_color_full = { 'BK': 'black', 'WH': 'white', 'GY': 'grey', @@ -30,14 +57,23 @@ color_full = { 'RD': 'red', 'OG': 'orange', 'YE': 'yellow', + 'OL': 'olive green', 'GN': 'green', 'TQ': 'turquoise', + 'LB': 'light blue', 'BU': 'blue', 'VT': 'violet', 'BN': 'brown', + 'BG': 'beige', + 'IV': 'ivory', + 'SL': 'slate', + 'CU': 'copper', + 'SN': 'tin', + 'SR': 'silver', + 'GD': 'gold', } -color_ger = { +_color_ger = { 'BK': 'sw', 'WH': 'ws', 'GY': 'gr', @@ -45,34 +81,61 @@ color_ger = { 'RD': 'rt', 'OG': 'or', 'YE': 'ge', + 'OL': 'ol', # olivgrün 'GN': 'gn', 'TQ': 'tk', + 'LB': 'hb', # hellblau 'BU': 'bl', 'VT': 'vi', 'BN': 'br', + 'BG': 'bg', # beige + 'IV': 'eb', # elfenbeinfarben + 'SL': 'si', # Schiefer + 'CU': 'ku', # Kupfer + 'SN': 'vz', # verzinkt + 'SR': 'ag', # Silber + 'GD': 'au', # Gold } -def translate_color(inp, color_mode): - if inp == '': - output = '' - else: - if color_mode == 'full': - output = color_full[inp].lower() - elif color_mode == 'FULL': - output = color_full[inp].upper() - elif color_mode == 'hex': - output = color_hex[inp].lower() - elif color_mode == 'HEX': - output = color_hex[inp].upper() - elif color_mode == 'ger': - output = color_ger[inp].lower() - elif color_mode == 'GER': - output = color_ger[inp].upper() - elif color_mode == 'short': - output = inp.lower() - elif color_mode == 'SHORT': - output = inp.upper() - else: - raise Exception('Unknown color mode') +color_default = '#ffffff' + + +def get_color_hex(input, pad=False): + if input is None or input == '': + return [color_default] + if len(input) == 4: # give wires with EXACTLY 2 colors that striped/banded look + input = input + input[:2] + # hacky style fix: give single color wires a triple-up so that wires are the same size + if pad and len(input) == 2: + input = input + input + input + try: + output = [_color_hex[input[i:i + 2]] for i in range(0, len(input), 2)] + except KeyError: + print("Unknown color specified") + output = [color_default] return output + + +def translate_color(input, color_mode): + if input == '' or input is None: + return '' + upper = color_mode.isupper() + if not (color_mode.isupper() or color_mode.islower()): + raise Exception('Unknown color mode capitalization') + + color_mode = color_mode.lower() + if color_mode == 'full': + output = "/".join([_color_full[input[i:i+2]] for i in range(0,len(input),2)]) + elif color_mode == 'hex': + output = ':'.join(get_color_hex(input, pad=False)) + elif color_mode == 'ger': + output = "".join([_color_ger[input[i:i+2]] for i in range(0,len(input),2)]) + elif color_mode == 'short': + output = input + else: + raise Exception('Unknown color mode') + if upper: + return output.upper() + else: + return output.lower() diff --git a/src/wireviz/wv_helper.py b/src/wireviz/wv_helper.py index 016fe96..024c3ef 100644 --- a/src/wireviz/wv_helper.py +++ b/src/wireviz/wv_helper.py @@ -111,3 +111,10 @@ def graphviz_line_breaks(inp): def remove_line_breaks(inp): return inp.replace('\n', ' ').rstrip() if isinstance(inp, str) else inp + +def open_file_read(filename): + # TODO: Intelligently determine encoding + return open(filename, 'r', encoding='UTF-8') + +def open_file_write(filename): + return open(filename, 'w', encoding='UTF-8') \ No newline at end of file diff --git a/tutorial/readme.md b/tutorial/readme.md index b82d7cb..4fcf033 100644 --- a/tutorial/readme.md +++ b/tutorial/readme.md @@ -1,10 +1,10 @@ # WireViz Tutorial -## 1 - Bare-bones example + +## 01 - Bare-bones example * Minimum working example * Only 1-to-1 sequential wiring -[Source](tutorial01.yml): ```yaml connectors: @@ -25,21 +25,17 @@ connections: - X2: [1-4] ``` - -Output: - ![](tutorial01.png) -[Bill of Materials](tutorial01.bom.tsv) +[Source](tutorial01.yml) - [Bill of Materials](tutorial01.bom.tsv) -## 2 - Adding parameters and colors +## 02 - Adding parameters and colors * Parameters for connectors and cables * Auto-calculate equivalent AWG from mm2 * Non-sequential wiring -[Source](tutorial02.yml): ```yaml connectors: @@ -70,15 +66,12 @@ connections: - X2: [1,2,4,3] ``` - -Output: - ![](tutorial02.png) -[Bill of Materials](tutorial02.bom.tsv) +[Source](tutorial02.yml) - [Bill of Materials](tutorial02.bom.tsv) -## 3 - Pinouts, shielding, templates (I) +## 03 - Pinouts, shielding, templates (I) * Connector pinouts * Pincount implicit in pinout @@ -86,12 +79,11 @@ Output: * Cable shielding, shield wiring * Templates -[Source](tutorial03.yml): ```yaml connectors: X1: &template1 # define a template for later use - pinout: [GND, VCC, RX, TX] # pincount implicit in pinout + pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout type: Molex KK 254 subtype: female X2: @@ -116,15 +108,12 @@ connections: - W1: s ``` - -Output: - ![](tutorial03.png) -[Bill of Materials](tutorial03.bom.tsv) +[Source](tutorial03.yml) - [Bill of Materials](tutorial03.bom.tsv) -## 4 - Templates (II), notes, American standards, daisy chaining (I) +## 04 - Templates (II), notes, American standards, daisy chaining (I) * Overriding template parameters * Add nodes to connectors and cables @@ -132,12 +121,11 @@ Output: * Linear daisy-chain * Convenient for shorter chains -[Source](tutorial04.yml): ```yaml connectors: X1: &template_con - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] type: Molex KK 254 subtype: male notes: to microcontroller # add notes @@ -173,15 +161,12 @@ connections: - X3: [1-4] ``` - -Output: - ![](tutorial04.png) -[Bill of Materials](tutorial04.bom.tsv) +[Source](tutorial04.yml) - [Bill of Materials](tutorial04.bom.tsv) -## 5 - Ferrules, wire bundles, custom wire colors +## 05 - Ferrules, wire bundles, custom wire colors * Ferrules * Simpler than connectors @@ -195,18 +180,17 @@ Output: * Custom wire colors * Wirecount can be implicit in color list -[Source](tutorial05.yml): ```yaml connectors: X1: - pinout: [+12V, GND, GND, +5V] + pinlabels: [+12V, GND, GND, +5V] type: Molex 8981 subtype: female F1: - category: ferrule + style: simple autogenerate: true - type: Ferrule, crimp + type: Crimp ferrule subtype: 0.5 mm² color: OG # optional color @@ -218,47 +202,42 @@ cables: colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit connections: - - # attach ferrules - - F1 # no need for list of connections; one ferrule per wire is auto-generated and attached - - W1: [1-4] # a new ferrule is auto-generated for each wire - - # attach connectors (separately from ferrules) + - + - F1 # a new ferrule is auto-generated for each of the four wires - W1: [1-4] - X1: [1-4] ``` - -Output: - ![](tutorial05.png) -[Bill of Materials](tutorial05.bom.tsv) +[Source](tutorial05.yml) - [Bill of Materials](tutorial05.bom.tsv) -## 6 - Custom ferrules +## 06 - Custom ferrules * Custom ferrules * Allows attaching more than one wire to a ferrule * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter -[Source](tutorial06.yml): ```yaml connectors: X1: - pinout: [+12V, GND, GND, +5V] + pinlabels: [+12V, GND, GND, +5V] type: Molex 8981 subtype: female - F_10_1: # manually define a ferrule (with unique designator) - category: ferrule - type: Ferrule, crimp + F_10: # this is a unique ferrule + style: simple + show_name: false # non-autogenerated connectors show their name by default; override + type: Crimp ferrule subtype: 1.0 mm² - color: YE - F_05: - category: ferrule + color: YE # optional color + F_05: # this is a ferrule that will be auto-generated on demand + style: simple autogenerate: true - type: Ferrule, crimp + type: Crimp ferrule subtype: 0.5 mm² - color: OG # optional color + color: OG cables: W1: @@ -268,42 +247,29 @@ cables: colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit connections: - - # attach ferrules - - F_05 - - W1: [1,4] # a new ferrule is auto-generated for each wire - - # attach connectors (separately from ferrules) - - W1: [1-4] - - X1: [1-4] - - - - F_10_1: 1 # manually defined ferrules are treated like regular connectors, - # thus requiring a pin number - - W1: 2 - - - - F_10_1: 1 - - W1: 3 + - + - [F_05, F_10, F_10, F_05] + - W1: [1-4] + - X1: [1-4] ``` - -Output: - ![](tutorial06.png) -[Bill of Materials](tutorial06.bom.tsv) +[Source](tutorial06.yml) - [Bill of Materials](tutorial06.bom.tsv) -## 7 - Daisy chaining (II) +## 07 - Daisy chaining (II) * Zig-zag daisy chain * Convenient for longer chains -[Source](tutorial07.yml): ```yaml connectors: X1: &template_con type: Molex KK 254 subtype: female - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] X2: <<: *template_con X3: @@ -353,21 +319,17 @@ connections: - X6: [1-4] ``` - -Output: - ![](tutorial07.png) -[Bill of Materials](tutorial07.bom.tsv) +[Source](tutorial07.yml) - [Bill of Materials](tutorial07.bom.tsv) -## 8 - Part numbers +## 08 - 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: @@ -413,11 +375,8 @@ connections: - X3: [1-4] ``` - -Output: - ![](tutorial08.png) -[Bill of Materials](tutorial08.bom.tsv) +[Source](tutorial08.yml) - [Bill of Materials](tutorial08.bom.tsv) diff --git a/tutorial/tutorial01.gv b/tutorial/tutorial01.gv index a37a4ad..43bcf57 100644 --- a/tutorial/tutorial01.gv +++ b/tutorial/tutorial01.gv @@ -4,8 +4,8 @@ graph { 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|{4-pin}|{{1|2|3|4}}"] - X2 [label="X2|{4-pin}|{{1|2|3|4}}"] + X1 [label=<
X1
4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffffff:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -18,5 +18,5 @@ graph { edge [color="#000000:#ffffff:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x1 m
 
X1:1X2:1
X1:2X2:2
X1:3X2:3
X1:4X2:4
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
4x1 m
 
X1:1X2:1
X1:2X2:2
X1:3X2:3
X1:4X2:4
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/tutorial/tutorial01.html b/tutorial/tutorial01.html index 5672e80..758af38 100644 --- a/tutorial/tutorial01.html +++ b/tutorial/tutorial01.html @@ -1,6 +1,5 @@ -

Diagram

- + +

Diagram

@@ -11,18 +10,19 @@ X1 - -X1 - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +4-pin + +1 + +2 + +3 + +4 @@ -37,97 +37,98 @@   X1:1 X2:1 - - - + + + X1:2 X2:2 - - - + + + X1:3 X2:3 - - - + + + X1:4 X2:4 - - - + + +   X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial01.png b/tutorial/tutorial01.png index beab89d..47cd8c1 100644 Binary files a/tutorial/tutorial01.png and b/tutorial/tutorial01.png differ diff --git a/tutorial/tutorial01.svg b/tutorial/tutorial01.svg index 861658f..0eb74d4 100644 --- a/tutorial/tutorial01.svg +++ b/tutorial/tutorial01.svg @@ -11,18 +11,19 @@ X1 - -X1 - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +4-pin + +1 + +2 + +3 + +4 @@ -37,97 +38,98 @@   X1:1 X2:1 - - - + + + X1:2 X2:2 - - - + + + X1:3 X2:3 - - - + + + X1:4 X2:4 - - - + + +   X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial02.gv b/tutorial/tutorial02.gv index deefec7..28c3416 100644 --- a/tutorial/tutorial02.gv +++ b/tutorial/tutorial02.gv @@ -4,12 +4,12 @@ graph { 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}|{{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}}"] + X1 [label=<
X1
Molex KK 254female4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffffff:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w - edge [color="#000000:#666600:#000000"] + edge [color="#000000:#895956:#000000"] X1:p2r:e -- W1:w2:w W1:w2:e -- X2:p2l:w edge [color="#000000:#00ff00:#000000"] @@ -18,5 +18,5 @@ graph { edge [color="#000000:#ffff00:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p3l:w - W1 [label=<
W1
4x0.25 mm² (24 AWG)1 m
 
X1:1WHX2:1
X1:2BNX2:2
X1:3GNX2:4
X1:4YEX2:3
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
4x0.25 mm² (24 AWG)1 m
 
X1:1WHX2:1
X1:2BNX2:2
X1:3GNX2:4
X1:4YEX2:3
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/tutorial/tutorial02.html b/tutorial/tutorial02.html index 9ff939c..54364a4 100644 --- a/tutorial/tutorial02.html +++ b/tutorial/tutorial02.html @@ -1,148 +1,149 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1 - - -W1 - -4x - -0.25 mm² (24 AWG) - -1 m -  -X1:1 -WH -X2:1 - - - -X1:2 -BN -X2:2 - - - -X1:3 -GN -X2:4 - - - -X1:4 -YE -X2:3 - - - -  + + +W1 + +4x + +0.25 mm² (24 AWG) + +1 m +  +X1:1 +WH +X2:1 + + + +X1:2 +BN +X2:2 + + + +X1:3 +GN +X2:4 + + + +X1:4 +YE +X2:3 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm²1mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm²1mW1
\ No newline at end of file diff --git a/tutorial/tutorial02.png b/tutorial/tutorial02.png index 3510d65..d74d995 100644 Binary files a/tutorial/tutorial02.png and b/tutorial/tutorial02.png differ diff --git a/tutorial/tutorial02.svg b/tutorial/tutorial02.svg index edeaf1f..660077b 100644 --- a/tutorial/tutorial02.svg +++ b/tutorial/tutorial02.svg @@ -4,144 +4,146 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1 - - -W1 - -4x - -0.25 mm² (24 AWG) - -1 m -  -X1:1 -WH -X2:1 - - - -X1:2 -BN -X2:2 - - - -X1:3 -GN -X2:4 - - - -X1:4 -YE -X2:3 - - - -  + + +W1 + +4x + +0.25 mm² (24 AWG) + +1 m +  +X1:1 +WH +X2:1 + + + +X1:2 +BN +X2:2 + + + +X1:3 +GN +X2:4 + + + +X1:4 +YE +X2:3 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial03.gv b/tutorial/tutorial03.gv index ce13013..2e26ec2 100644 --- a/tutorial/tutorial03.gv +++ b/tutorial/tutorial03.gv @@ -4,12 +4,12 @@ graph { 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}|{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|RX|TX}}"] + X1 [label=<
X1
Molex KK 254female4-pin
GND1
VCC2
RX3
TX4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND
2VCC
3RX
4TX
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffffff:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w - edge [color="#000000:#666600:#000000"] + edge [color="#000000:#895956:#000000"] X1:p2r:e -- W1:w2:w W1:w2:e -- X2:p2l:w edge [color="#000000:#00ff00:#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="#000000"] + edge [color="#000000:#aaaaaa:#000000"] X1:p1r:e -- W1:ws:w - W1 [label=<
W1
4x0.25 mm² (24 AWG)+ S1 m
 
X1:1WHX2:1
X1:2BNX2:2
X1:3GNX2:4
X1:4YEX2:3
 
X1:1Shield
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
4x0.25 mm² (24 AWG)+ S1 m
 
X1:1WHX2:1
X1:2BNX2:2
X1:3GNX2:4
X1:4YEX2:3
 
X1:1Shield
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/tutorial/tutorial03.html b/tutorial/tutorial03.html index 8e46c3f..be0c951 100644 --- a/tutorial/tutorial03.html +++ b/tutorial/tutorial03.html @@ -1,175 +1,178 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -RX - -TX - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +RX + +3 + +TX + +4 W1 - - -W1 - -4x - -0.25 mm² (24 AWG) - -+ S - -1 m -  -X1:1 -WH -X2:1 - - - -X1:2 -BN -X2:2 - - - -X1:3 -GN -X2:4 - - - -X1:4 -YE -X2:3 - - - -  -X1:1 -Shield - -  + + +W1 + +4x + +0.25 mm² (24 AWG) + ++ S + +1 m +  +X1:1 +WH +X2:1 + + + +X1:2 +BN +X2:2 + + + +X1:3 +GN +X2:4 + + + +X1:4 +YE +X2:3 + + + +  +X1:1 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -RX - -TX + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +RX + +4 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm² shielded1mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins2X1, X2
Cable, 4 x 0.25 mm² shielded1mW1
\ No newline at end of file diff --git a/tutorial/tutorial03.png b/tutorial/tutorial03.png index e2f69a4..cd8a282 100644 Binary files a/tutorial/tutorial03.png and b/tutorial/tutorial03.png differ diff --git a/tutorial/tutorial03.svg b/tutorial/tutorial03.svg index 2fd3833..2287098 100644 --- a/tutorial/tutorial03.svg +++ b/tutorial/tutorial03.svg @@ -4,171 +4,175 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -RX - -TX - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +RX + +3 + +TX + +4 W1 - - -W1 - -4x - -0.25 mm² (24 AWG) - -+ S - -1 m -  -X1:1 -WH -X2:1 - - - -X1:2 -BN -X2:2 - - - -X1:3 -GN -X2:4 - - - -X1:4 -YE -X2:3 - - - -  -X1:1 -Shield - -  + + +W1 + +4x + +0.25 mm² (24 AWG) + ++ S + +1 m +  +X1:1 +WH +X2:1 + + + +X1:2 +BN +X2:2 + + + +X1:3 +GN +X2:4 + + + +X1:4 +YE +X2:3 + + + +  +X1:1 +Shield + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -RX - -TX + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +RX + +4 + +TX W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + diff --git a/tutorial/tutorial03.yml b/tutorial/tutorial03.yml index 46f1625..fba6e6d 100644 --- a/tutorial/tutorial03.yml +++ b/tutorial/tutorial03.yml @@ -1,6 +1,6 @@ connectors: X1: &template1 # define a template for later use - pinout: [GND, VCC, RX, TX] # pincount implicit in pinout + pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout type: Molex KK 254 subtype: female X2: diff --git a/tutorial/tutorial04.gv b/tutorial/tutorial04.gv index b61e32a..9d7302c 100644 --- a/tutorial/tutorial04.gv +++ b/tutorial/tutorial04.gv @@ -4,10 +4,10 @@ graph { 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|male|4-pin}|{{GND|VCC|SCL|SDA}|{1|2|3|4}}|to microcontroller"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}|{1|2|3|4}}|to accelerometer"] - X3 [label="X3|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}|to temperature sensor"] - edge [color="#000000:#666600:#000000"] + X1 [label=<
X1
Molex KK 254male4-pin
GND1
VCC2
SCL3
SDA4
to microcontroller
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND1
2VCC2
3SCL3
4SDA4
to accelerometer
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
to temperature sensor
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#895956:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w edge [color="#000000:#ff0000:#000000"] @@ -19,8 +19,8 @@ graph { edge [color="#000000:#ffff00:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x24 AWG0.3 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:3
X1:4YEX2:4
 
This cable is a bit longer
 
> fillcolor=white margin=0 shape=box style=""] - edge [color="#000000:#666600:#000000"] + W1 [label=<
W1
4x24 AWG0.3 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:3
X1:4YEX2:4
 
This cable is a bit longer
 
> fillcolor=white margin=0 shape=box style=""] + edge [color="#000000:#895956:#000000"] X2:p1r:e -- W2:w1:w W2:w1:e -- X3:p1l:w edge [color="#000000:#ff0000:#000000"] @@ -32,5 +32,5 @@ graph { edge [color="#000000:#ffff00:#000000"] X2:p4r:e -- W2:w4:w W2:w4:e -- X3:p4l:w - W2 [label=<
W2
4x24 AWG0.1 m
 
X2:1BNX3:1
X2:2RDX3:2
X2:3OGX3:3
X2:4YEX3:4
 
This cable is a bit shorter
 
> fillcolor=white margin=0 shape=box style=""] + W2 [label=<
W2
4x24 AWG0.1 m
 
X2:1BNX3:1
X2:2RDX3:2
X2:3OGX3:3
X2:4YEX3:4
 
This cable is a bit shorter
 
> fillcolor=white margin=0 shape=box style=""] } diff --git a/tutorial/tutorial04.html b/tutorial/tutorial04.html index c32828d..593d33a 100644 --- a/tutorial/tutorial04.html +++ b/tutorial/tutorial04.html @@ -1,304 +1,306 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -male - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 - -to microcontroller + + +X1 + +Molex KK 254 + +male + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 + +to microcontroller W1 - - -W1 - -4x - -24 AWG - -0.3 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:3 - - - -X1:4 -YE -X2:4 - - - -  -This cable is a bit longer -  + + +W1 + +4x + +24 AWG + +0.3 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:3 + + + +X1:4 +YE +X2:4 + + + +  +This cable is a bit longer +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 - -to accelerometer + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +1 + +2 + +VCC + +2 + +3 + +SCL + +3 + +4 + +SDA + +4 + +to accelerometer W2 - - -W2 - -4x - -24 AWG - -0.1 m -  -X2:1 -BN -X3:1 - - - -X2:2 -RD -X3:2 - - - -X2:3 -OG -X3:3 - - - -X2:4 -YE -X3:4 - - - -  -This cable is a bit shorter -  + + +W2 + +4x + +24 AWG + +0.1 m +  +X2:1 +BN +X3:1 + + + +X2:2 +RD +X3:2 + + + +X2:3 +OG +X3:3 + + + +X2:4 +YE +X3:4 + + + +  +This cable is a bit shorter +  X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -to temperature sensor + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA + +to temperature sensor W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + diff --git a/tutorial/tutorial04.png b/tutorial/tutorial04.png index 51e24e5..bb6eab8 100644 Binary files a/tutorial/tutorial04.png and b/tutorial/tutorial04.png differ diff --git a/tutorial/tutorial04.svg b/tutorial/tutorial04.svg index 31fbb73..edac222 100644 --- a/tutorial/tutorial04.svg +++ b/tutorial/tutorial04.svg @@ -4,301 +4,304 @@ - + - + X1 - -X1 - -Molex KK 254 - -male - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 - -to microcontroller + + +X1 + +Molex KK 254 + +male + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 + +to microcontroller W1 - - -W1 - -4x - -24 AWG - -0.3 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:3 - - - -X1:4 -YE -X2:4 - - - -  -This cable is a bit longer -  + + +W1 + +4x + +24 AWG + +0.3 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:3 + + + +X1:4 +YE +X2:4 + + + +  +This cable is a bit longer +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 - -to accelerometer + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +1 + +2 + +VCC + +2 + +3 + +SCL + +3 + +4 + +SDA + +4 + +to accelerometer W2 - - -W2 - -4x - -24 AWG - -0.1 m -  -X2:1 -BN -X3:1 - - - -X2:2 -RD -X3:2 - - - -X2:3 -OG -X3:3 - - - -X2:4 -YE -X3:4 - - - -  -This cable is a bit shorter -  + + +W2 + +4x + +24 AWG + +0.1 m +  +X2:1 +BN +X3:1 + + + +X2:2 +RD +X3:2 + + + +X2:3 +OG +X3:3 + + + +X2:4 +YE +X3:4 + + + +  +This cable is a bit shorter +  X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X2:e--W2:w - - - + + + X3 - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA - -to temperature sensor + + +X3 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA + +to temperature sensor W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + diff --git a/tutorial/tutorial04.yml b/tutorial/tutorial04.yml index 6286e94..0080d1b 100644 --- a/tutorial/tutorial04.yml +++ b/tutorial/tutorial04.yml @@ -1,6 +1,6 @@ connectors: X1: &template_con - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] type: Molex KK 254 subtype: male notes: to microcontroller # add notes diff --git a/tutorial/tutorial05.bom.tsv b/tutorial/tutorial05.bom.tsv index 973d4cd..d7f405d 100644 --- a/tutorial/tutorial05.bom.tsv +++ b/tutorial/tutorial05.bom.tsv @@ -1,5 +1,5 @@ Item Qty Unit Designators -Connector, Ferrule, crimp, 0.5 mm², OG 4 +Connector, Crimp ferrule, 0.5 mm², OG 4 Connector, Molex 8981, female, 4 pins 1 X1 Wire, 0.5 mm², BK 0.6 m W1 Wire, 0.5 mm², RD 0.3 m W1 diff --git a/tutorial/tutorial05.gv b/tutorial/tutorial05.gv index fff2bcc..e275b2f 100644 --- a/tutorial/tutorial05.gv +++ b/tutorial/tutorial05.gv @@ -4,62 +4,22 @@ graph { 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 8981|female|4-pin}|{{1|2|3|4}|{+12V|GND|GND|+5V}}"] - _F1 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - _F2 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - _F3 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - _F4 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - edge [color="#000000:#ffff00:#000000"] - _F1:e -- W1:w1:w - edge [color="#000000:#000000:#000000"] - _F2:e -- W1:w2:w - edge [color="#000000:#000000:#000000"] - _F3:e -- W1:w3:w - edge [color="#000000:#ff0000:#000000"] - _F4:e -- W1:w4:w + X1 [label=<
X1
Molex 8981female4-pin
1+12V
2GND
3GND
4+5V
> fillcolor=white margin=0 shape=none style=filled] + _F1_1 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] + _F1_2 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] + _F1_3 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] + _F1_4 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffff00:#000000"] + _F1_1:e -- W1:w1:w W1:w1:e -- X1:p1l:w edge [color="#000000:#000000:#000000"] + _F1_2:e -- W1:w2:w W1:w2:e -- X1:p2l:w edge [color="#000000:#000000:#000000"] + _F1_3:e -- W1:w3:w W1:w3:e -- X1:p3l:w edge [color="#000000:#ff0000:#000000"] + _F1_4:e -- W1:w4:w W1:w4:e -- X1:p4l:w - W1 [label=<
W1
4x0.5 mm²0.3 m
 
YEX1:1
BKX1:2
BKX1:3
RDX1:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
4x0.5 mm²0.3 m
 
YEX1:1
BKX1:2
BKX1:3
RDX1:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/tutorial/tutorial05.html b/tutorial/tutorial05.html index 622ebc9..9b565ab 100644 --- a/tutorial/tutorial05.html +++ b/tutorial/tutorial05.html @@ -1,176 +1,184 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex 8981 - -female - -4-pin - -1 - -2 - -3 - -4 - -+12V - -GND - -GND - -+5V + + +X1 + +Molex 8981 + +female + +4-pin + +1 + ++12V + +2 + +GND + +3 + +GND + +4 + ++5V - + -_F1 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_1 + + +Crimp ferrule + +0.5 mm² + +OG + + W1 - - -W1 - -4x - -0.5 mm² - -0.3 m -  -YE -X1:1 - - - -BK -X1:2 - - - -BK -X1:3 - - - -RD -X1:4 - - - -  + + +W1 + +4x + +0.5 mm² + +0.3 m +  +YE +X1:1 + + + +BK +X1:2 + + + +BK +X1:3 + + + +RD +X1:4 + + + +  - + -_F1:e--W1:w - - - +_F1_1:e--W1:w + + + - + -_F2 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_2 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F2:e--W1:w - - - - - - -_F3 - - Ferrule, crimp, 0.5 mm² OG - - - -   - - - + -_F3:e--W1:w - - - +_F1_2:e--W1:w + + + - + + +_F1_3 + + +Crimp ferrule + +0.5 mm² + +OG + + + + + +_F1_3:e--W1:w + + + + + -_F4 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_4 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F4:e--W1:w - - - + + +_F1_4:e--W1:w + + + - + W1:e--X1:w - - - + + + + + + +W1:e--X1:w + + + W1:e--X1:w - - - - - - -W1:e--X1:w - - - + + + W1:e--X1:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Ferrule, crimp, 0.5 mm², OG4
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG4
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file diff --git a/tutorial/tutorial05.png b/tutorial/tutorial05.png index 8141e68..53c6f54 100644 Binary files a/tutorial/tutorial05.png and b/tutorial/tutorial05.png differ diff --git a/tutorial/tutorial05.svg b/tutorial/tutorial05.svg index fc34a3c..4dad696 100644 --- a/tutorial/tutorial05.svg +++ b/tutorial/tutorial05.svg @@ -4,172 +4,181 @@ - + - + X1 - -X1 - -Molex 8981 - -female - -4-pin - -1 - -2 - -3 - -4 - -+12V - -GND - -GND - -+5V + + +X1 + +Molex 8981 + +female + +4-pin + +1 + ++12V + +2 + +GND + +3 + +GND + +4 + ++5V - + -_F1 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_1 + + +Crimp ferrule + +0.5 mm² + +OG + + W1 - - -W1 - -4x - -0.5 mm² - -0.3 m -  -YE -X1:1 - - - -BK -X1:2 - - - -BK -X1:3 - - - -RD -X1:4 - - - -  + + +W1 + +4x + +0.5 mm² + +0.3 m +  +YE +X1:1 + + + +BK +X1:2 + + + +BK +X1:3 + + + +RD +X1:4 + + + +  - + -_F1:e--W1:w - - - +_F1_1:e--W1:w + + + - + -_F2 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_2 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F2:e--W1:w - - - - - - -_F3 - - Ferrule, crimp, 0.5 mm² OG - - - -   - - - + -_F3:e--W1:w - - - +_F1_2:e--W1:w + + + - + + +_F1_3 + + +Crimp ferrule + +0.5 mm² + +OG + + + + + +_F1_3:e--W1:w + + + + + -_F4 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F1_4 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F4:e--W1:w - - - + + +_F1_4:e--W1:w + + + - + W1:e--X1:w - - - + + + + + + +W1:e--X1:w + + + W1:e--X1:w - - - - - - -W1:e--X1:w - - - + + + W1:e--X1:w - - - + + + diff --git a/tutorial/tutorial05.yml b/tutorial/tutorial05.yml index dda905e..e894a45 100644 --- a/tutorial/tutorial05.yml +++ b/tutorial/tutorial05.yml @@ -1,12 +1,12 @@ connectors: X1: - pinout: [+12V, GND, GND, +5V] + pinlabels: [+12V, GND, GND, +5V] type: Molex 8981 subtype: female F1: - category: ferrule + style: simple autogenerate: true - type: Ferrule, crimp + type: Crimp ferrule subtype: 0.5 mm² color: OG # optional color @@ -18,9 +18,7 @@ cables: colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit connections: - - # attach ferrules - - F1 # no need for list of connections; one ferrule per wire is auto-generated and attached - - W1: [1-4] # a new ferrule is auto-generated for each wire - - # attach connectors (separately from ferrules) + - + - F1 # a new ferrule is auto-generated for each of the four wires - W1: [1-4] - X1: [1-4] diff --git a/tutorial/tutorial06.bom.tsv b/tutorial/tutorial06.bom.tsv index c6eda88..04ff66c 100644 --- a/tutorial/tutorial06.bom.tsv +++ b/tutorial/tutorial06.bom.tsv @@ -1,6 +1,6 @@ Item Qty Unit Designators -Connector, Ferrule, crimp, 0.5 mm², OG 2 -Connector, Ferrule, crimp, 1.0 mm², YE 1 +Connector, Crimp ferrule, 0.5 mm², OG 2 +Connector, Crimp ferrule, 1.0 mm², YE 1 Connector, Molex 8981, female, 4 pins 1 X1 Wire, 0.5 mm², BK 0.6 m W1 Wire, 0.5 mm², RD 0.3 m W1 diff --git a/tutorial/tutorial06.gv b/tutorial/tutorial06.gv index 965cad3..a498972 100644 --- a/tutorial/tutorial06.gv +++ b/tutorial/tutorial06.gv @@ -4,52 +4,21 @@ graph { 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 8981|female|4-pin}|{{1|2|3|4}|{+12V|GND|GND|+5V}}"] - F_10_1 [label=< - - - - - -
Ferrule, crimp, 1.0 mm² YE
- - - > margin=0 orientation=180 shape=none style=filled] - _F1 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - _F2 [label=< - - - - - -
Ferrule, crimp, 0.5 mm² OG
- - - > margin=0 orientation=180 shape=none style=filled] - edge [color="#000000:#ffff00:#000000"] - _F1:e -- W1:w1:w - edge [color="#000000:#ff0000:#000000"] - _F2:e -- W1:w4:w + X1 [label=<
X1
Molex 8981female4-pin
1+12V
2GND
3GND
4+5V
> fillcolor=white margin=0 shape=none style=filled] + F_10 [label=<
Crimp ferrule1.0 mm²YE
> fillcolor=white margin=0 shape=none style=filled] + _F_05_1 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] + _F_05_2 [label=<
Crimp ferrule0.5 mm²OG
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#ffff00:#000000"] + _F_05_1:e -- W1:w1:w W1:w1:e -- X1:p1l:w edge [color="#000000:#000000:#000000"] + F_10:e -- W1:w2:w W1:w2:e -- X1:p2l:w edge [color="#000000:#000000:#000000"] + F_10:e -- W1:w3:w W1:w3:e -- X1:p3l:w edge [color="#000000:#ff0000:#000000"] + _F_05_2:e -- W1:w4:w W1:w4:e -- X1:p4l:w - edge [color="#000000:#000000:#000000"] - F_10_1:e -- W1:w2:w - edge [color="#000000:#000000:#000000"] - F_10_1:e -- W1:w3:w - W1 [label=<
W1
4x0.5 mm²0.3 m
 
YEX1:1
BKX1:2
BKX1:3
RDX1:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
4x0.5 mm²0.3 m
 
YEX1:1
BKX1:2
BKX1:3
RDX1:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/tutorial/tutorial06.html b/tutorial/tutorial06.html index 85af609..551c93f 100644 --- a/tutorial/tutorial06.html +++ b/tutorial/tutorial06.html @@ -1,165 +1,171 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex 8981 - -female - -4-pin - -1 - -2 - -3 - -4 - -+12V - -GND - -GND - -+5V + + +X1 + +Molex 8981 + +female + +4-pin + +1 + ++12V + +2 + +GND + +3 + +GND + +4 + ++5V - + -F_10_1 - - Ferrule, crimp, 1.0 mm² YE - - - -   - +F_10 + + +Crimp ferrule + +1.0 mm² + +YE + + W1 - - -W1 - -4x - -0.5 mm² - -0.3 m -  -YE -X1:1 - - - -BK -X1:2 - - - -BK -X1:3 - - - -RD -X1:4 - - - -  + + +W1 + +4x + +0.5 mm² + +0.3 m +  +YE +X1:1 + + + +BK +X1:2 + + + +BK +X1:3 + + + +RD +X1:4 + + + +  - - -F_10_1:e--W1:w - - - + + +F_10:e--W1:w + + + - - -F_10_1:e--W1:w - - - + + +F_10:e--W1:w + + + - + -_F1 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F_05_1 + + +Crimp ferrule + +0.5 mm² + +OG + + - + -_F1:e--W1:w - - - +_F_05_1:e--W1:w + + + - + -_F2 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F_05_2 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F2:e--W1:w - - - + + +_F_05_2:e--W1:w + + + - + W1:e--X1:w - - - + + + W1:e--X1:w - - - - - - -W1:e--X1:w - - - + + + W1:e--X1:w - - - + + + + + + +W1:e--X1:w + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Ferrule, crimp, 0.5 mm², OG2
Connector, Ferrule, crimp, 1.0 mm², YE1
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Crimp ferrule, 0.5 mm², OG2
Connector, Crimp ferrule, 1.0 mm², YE1
Connector, Molex 8981, female, 4 pins1X1
Wire, 0.5 mm², BK0.6mW1
Wire, 0.5 mm², RD0.3mW1
Wire, 0.5 mm², YE0.3mW1
\ No newline at end of file diff --git a/tutorial/tutorial06.png b/tutorial/tutorial06.png index b1314cd..3146000 100644 Binary files a/tutorial/tutorial06.png and b/tutorial/tutorial06.png differ diff --git a/tutorial/tutorial06.svg b/tutorial/tutorial06.svg index 75bae19..2075925 100644 --- a/tutorial/tutorial06.svg +++ b/tutorial/tutorial06.svg @@ -4,161 +4,168 @@ - + - + X1 - -X1 - -Molex 8981 - -female - -4-pin - -1 - -2 - -3 - -4 - -+12V - -GND - -GND - -+5V + + +X1 + +Molex 8981 + +female + +4-pin + +1 + ++12V + +2 + +GND + +3 + +GND + +4 + ++5V - + -F_10_1 - - Ferrule, crimp, 1.0 mm² YE - - - -   - +F_10 + + +Crimp ferrule + +1.0 mm² + +YE + + W1 - - -W1 - -4x - -0.5 mm² - -0.3 m -  -YE -X1:1 - - - -BK -X1:2 - - - -BK -X1:3 - - - -RD -X1:4 - - - -  + + +W1 + +4x + +0.5 mm² + +0.3 m +  +YE +X1:1 + + + +BK +X1:2 + + + +BK +X1:3 + + + +RD +X1:4 + + + +  - - -F_10_1:e--W1:w - - - + + +F_10:e--W1:w + + + - - -F_10_1:e--W1:w - - - + + +F_10:e--W1:w + + + - + -_F1 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F_05_1 + + +Crimp ferrule + +0.5 mm² + +OG + + - + -_F1:e--W1:w - - - +_F_05_1:e--W1:w + + + - + -_F2 - - Ferrule, crimp, 0.5 mm² OG - - - -   - +_F_05_2 + + +Crimp ferrule + +0.5 mm² + +OG + + - - -_F2:e--W1:w - - - + + +_F_05_2:e--W1:w + + + - + W1:e--X1:w - - - + + + W1:e--X1:w - - - - - - -W1:e--X1:w - - - + + + W1:e--X1:w - - - + + + + + + +W1:e--X1:w + + + diff --git a/tutorial/tutorial06.yml b/tutorial/tutorial06.yml index bcf9c8c..5143157 100644 --- a/tutorial/tutorial06.yml +++ b/tutorial/tutorial06.yml @@ -1,19 +1,20 @@ connectors: X1: - pinout: [+12V, GND, GND, +5V] + pinlabels: [+12V, GND, GND, +5V] type: Molex 8981 subtype: female - F_10_1: # manually define a ferrule (with unique designator) - category: ferrule - type: Ferrule, crimp + F_10: # this is a unique ferrule + style: simple + show_name: false # non-autogenerated connectors show their name by default; override + type: Crimp ferrule subtype: 1.0 mm² - color: YE - F_05: - category: ferrule + color: YE # optional color + F_05: # this is a ferrule that will be auto-generated on demand + style: simple autogenerate: true - type: Ferrule, crimp + type: Crimp ferrule subtype: 0.5 mm² - color: OG # optional color + color: OG cables: W1: @@ -23,16 +24,7 @@ cables: colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit connections: - - # attach ferrules - - F_05 - - W1: [1,4] # a new ferrule is auto-generated for each wire - - # attach connectors (separately from ferrules) - - W1: [1-4] - - X1: [1-4] - - - - F_10_1: 1 # manually defined ferrules are treated like regular connectors, - # thus requiring a pin number - - W1: 2 - - - - F_10_1: 1 - - W1: 3 + - + - [F_05, F_10, F_10, F_05] + - W1: [1-4] + - X1: [1-4] diff --git a/tutorial/tutorial07.gv b/tutorial/tutorial07.gv index a64e8c3..8f471e9 100644 --- a/tutorial/tutorial07.gv +++ b/tutorial/tutorial07.gv @@ -4,12 +4,12 @@ graph { 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}|{1|2|3|4}}"] - X2 [label="X2|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] - X3 [label="X3|{Molex KK 254|female|4-pin}|{{GND|VCC|SCL|SDA}|{1|2|3|4}}"] - X4 [label="X4|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] - X5 [label="X5|{Molex KK 254|female|4-pin}|{{GND|VCC|SCL|SDA}|{1|2|3|4}}"] - X6 [label="X6|{Molex KK 254|female|4-pin}|{{1|2|3|4}|{GND|VCC|SCL|SDA}}"] + X1 [label=<
X1
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X4 [label=<
X4
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] + X5 [label=<
X5
Molex KK 254female4-pin
GND1
VCC2
SCL3
SDA4
> fillcolor=white margin=0 shape=none style=filled] + X6 [label=<
X6
Molex KK 254female4-pin
1GND
2VCC
3SCL
4SDA
> fillcolor=white margin=0 shape=none style=filled] edge [color="#000000:#00ffff:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w @@ -22,7 +22,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
4x0.25 mm²0.2 m
 
X1:1TQX2:1
X1:2PKX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W1 [label=<
W1
4x0.25 mm²0.2 m
 
X1:1TQX2:1
X1:2PKX2:2
X1:3YEX2:3
X1:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#00ffff:#000000"] X3:p1r:e -- W2:w1:w W2:w1:e -- X2:p1l:w @@ -35,7 +35,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X3:p4r:e -- W2:w4:w W2:w4:e -- X2:p4l:w - W2 [label=<
W2
4x0.25 mm²0.2 m
 
X3:1TQX2:1
X3:2PKX2:2
X3:3YEX2:3
X3:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W2 [label=<
W2
4x0.25 mm²0.2 m
 
X3:1TQX2:1
X3:2PKX2:2
X3:3YEX2:3
X3:4VTX2:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#00ffff:#000000"] X3:p1r:e -- W3:w1:w W3:w1:e -- X4:p1l:w @@ -48,7 +48,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X3:p4r:e -- W3:w4:w W3:w4:e -- X4:p4l:w - W3 [label=<
W3
4x0.25 mm²0.2 m
 
X3:1TQX4:1
X3:2PKX4:2
X3:3YEX4:3
X3:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W3 [label=<
W3
4x0.25 mm²0.2 m
 
X3:1TQX4:1
X3:2PKX4:2
X3:3YEX4:3
X3:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#00ffff:#000000"] X5:p1r:e -- W4:w1:w W4:w1:e -- X4:p1l:w @@ -61,7 +61,7 @@ graph { edge [color="#000000:#8000ff:#000000"] X5:p4r:e -- W4:w4:w W4:w4:e -- X4:p4l:w - W4 [label=<
W4
4x0.25 mm²0.2 m
 
X5:1TQX4:1
X5:2PKX4:2
X5:3YEX4:3
X5:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W4 [label=<
W4
4x0.25 mm²0.2 m
 
X5:1TQX4:1
X5:2PKX4:2
X5:3YEX4:3
X5:4VTX4:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] edge [color="#000000:#00ffff:#000000"] X5:p1r:e -- W5:w1:w W5:w1:e -- X6:p1l:w @@ -74,5 +74,5 @@ graph { edge [color="#000000:#8000ff:#000000"] X5:p4r:e -- W5:w4:w W5:w4:e -- X6:p4l:w - W5 [label=<
W5
4x0.25 mm²0.2 m
 
X5:1TQX6:1
X5:2PKX6:2
X5:3YEX6:3
X5:4VTX6:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W5 [label=<
W5
4x0.25 mm²0.2 m
 
X5:1TQX6:1
X5:2PKX6:2
X5:3YEX6:3
X5:4VTX6:4
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/tutorial/tutorial07.html b/tutorial/tutorial07.html index 664cb22..61efdca 100644 --- a/tutorial/tutorial07.html +++ b/tutorial/tutorial07.html @@ -1,656 +1,661 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -4x - -0.25 mm² - -0.2 m -  -X1:1 -TQ -X2:1 - - - -X1:2 -PK -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +4x + +0.25 mm² + +0.2 m +  +X1:1 +TQ +X2:1 + + + +X1:2 +PK +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X3 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W2 - - -W2 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -TQ -X2:1 - - - -X3:2 -PK -X2:2 - - - -X3:3 -YE -X2:3 - - - -X3:4 -VT -X2:4 - - - -  + + +W2 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +TQ +X2:1 + + + +X3:2 +PK +X2:2 + + + +X3:3 +YE +X2:3 + + + +X3:4 +VT +X2:4 + + + +  X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -TQ -X4:1 - - - -X3:2 -PK -X4:2 - - - -X3:3 -YE -X4:3 - - - -X3:4 -VT -X4:4 - - - -  + + +W3 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +TQ +X4:1 + + + +X3:2 +PK +X4:2 + + + +X3:3 +YE +X4:3 + + + +X3:4 +VT +X4:4 + + + +  X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X4 - -X4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X4 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X5 - -X5 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X5 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W4 - - -W4 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -TQ -X4:1 - - - -X5:2 -PK -X4:2 - - - -X5:3 -YE -X4:3 - - - -X5:4 -VT -X4:4 - - - -  + + +W4 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +TQ +X4:1 + + + +X5:2 +PK +X4:2 + + + +X5:3 +YE +X4:3 + + + +X5:4 +VT +X4:4 + + + +  X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + W5 - - -W5 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -TQ -X6:1 - - - -X5:2 -PK -X6:2 - - - -X5:3 -YE -X6:3 - - - -X5:4 -VT -X6:4 - - - -  + + +W5 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +TQ +X6:1 + + + +X5:2 +PK +X6:2 + + + +X5:3 +YE +X6:3 + + + +X5:4 +VT +X6:4 + + + +  X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X6 - -X6 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X6 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignators
Connector, Molex KK 254, female, 4 pins6X1, X2, X3, X4, X5, X6
Wire, 0.25 mm², PK1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², TQ1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², VT1.0mW1, W2, W3, W4, W5
Wire, 0.25 mm², YE1.0mW1, W2, W3, W4, W5
\ No newline at end of file diff --git a/tutorial/tutorial07.png b/tutorial/tutorial07.png index 8bf7569..ea6762b 100644 Binary files a/tutorial/tutorial07.png and b/tutorial/tutorial07.png differ diff --git a/tutorial/tutorial07.svg b/tutorial/tutorial07.svg index af65aaf..1a7e01f 100644 --- a/tutorial/tutorial07.svg +++ b/tutorial/tutorial07.svg @@ -4,652 +4,658 @@ - + - + X1 - -X1 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X1 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W1 - - -W1 - -4x - -0.25 mm² - -0.2 m -  -X1:1 -TQ -X2:1 - - - -X1:2 -PK -X2:2 - - - -X1:3 -YE -X2:3 - - - -X1:4 -VT -X2:4 - - - -  + + +W1 + +4x + +0.25 mm² + +0.2 m +  +X1:1 +TQ +X2:1 + + + +X1:2 +PK +X2:2 + + + +X1:3 +YE +X2:3 + + + +X1:4 +VT +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X2 - -X2 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X3 - -X3 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X3 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W2 - - -W2 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -TQ -X2:1 - - - -X3:2 -PK -X2:2 - - - -X3:3 -YE -X2:3 - - - -X3:4 -VT -X2:4 - - - -  + + +W2 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +TQ +X2:1 + + + +X3:2 +PK +X2:2 + + + +X3:3 +YE +X2:3 + + + +X3:4 +VT +X2:4 + + + +  X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + X3:e--W2:w - - - + + + W3 - - -W3 - -4x - -0.25 mm² - -0.2 m -  -X3:1 -TQ -X4:1 - - - -X3:2 -PK -X4:2 - - - -X3:3 -YE -X4:3 - - - -X3:4 -VT -X4:4 - - - -  + + +W3 + +4x + +0.25 mm² + +0.2 m +  +X3:1 +TQ +X4:1 + + + +X3:2 +PK +X4:2 + + + +X3:3 +YE +X4:3 + + + +X3:4 +VT +X4:4 + + + +  X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X3:e--W3:w - - - + + + X4 - -X4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X4 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA X5 - -X5 - -Molex KK 254 - -female - -4-pin - -GND - -VCC - -SCL - -SDA - -1 - -2 - -3 - -4 + + +X5 + +Molex KK 254 + +female + +4-pin + +GND + +1 + +VCC + +2 + +SCL + +3 + +SDA + +4 W4 - - -W4 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -TQ -X4:1 - - - -X5:2 -PK -X4:2 - - - -X5:3 -YE -X4:3 - - - -X5:4 -VT -X4:4 - - - -  + + +W4 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +TQ +X4:1 + + + +X5:2 +PK +X4:2 + + + +X5:3 +YE +X4:3 + + + +X5:4 +VT +X4:4 + + + +  X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + X5:e--W4:w - - - + + + W5 - - -W5 - -4x - -0.25 mm² - -0.2 m -  -X5:1 -TQ -X6:1 - - - -X5:2 -PK -X6:2 - - - -X5:3 -YE -X6:3 - - - -X5:4 -VT -X6:4 - - - -  + + +W5 + +4x + +0.25 mm² + +0.2 m +  +X5:1 +TQ +X6:1 + + + +X5:2 +PK +X6:2 + + + +X5:3 +YE +X6:3 + + + +X5:4 +VT +X6:4 + + + +  X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X5:e--W5:w - - - + + + X6 - -X6 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 - -GND - -VCC - -SCL - -SDA + + +X6 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + +VCC + +3 + +SCL + +4 + +SDA W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W2:e--X2:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W3:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W4:e--X4:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + W5:e--X6:w - - - + + + diff --git a/tutorial/tutorial07.yml b/tutorial/tutorial07.yml index 2aefc83..70778ff 100644 --- a/tutorial/tutorial07.yml +++ b/tutorial/tutorial07.yml @@ -2,7 +2,7 @@ connectors: X1: &template_con type: Molex KK 254 subtype: female - pinout: [GND, VCC, SCL, SDA] + pinlabels: [GND, VCC, SCL, SDA] X2: <<: *template_con X3: diff --git a/tutorial/tutorial08.gv b/tutorial/tutorial08.gv index 1bbf045..f499345 100644 --- a/tutorial/tutorial08.gv +++ b/tutorial/tutorial08.gv @@ -4,10 +4,10 @@ graph { 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}|{{1|2|3|4}}"] - X2 [label="X2|{Molex|MPN: 22013047|IPN: CON4}|{Molex KK 254|female|4-pin}|{{1|2|3|4}}"] - X3 [label="X3|{Molex|MPN: 22013047}|{Molex KK 254|female|4-pin}|{{1|2|3|4}}"] - edge [color="#000000:#666600:#000000"] + X1 [label=<
X1
MolexMPN: 22013047
Molex KK 254female4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] + X2 [label=<
X2
MolexMPN: 22013047IPN: CON4
Molex KK 254female4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] + X3 [label=<
X3
MolexMPN: 22013047
Molex KK 254female4-pin
1
2
3
4
> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#895956:#000000"] X1:p1r:e -- W1:w1:w W1:w1:e -- X2:p1l:w edge [color="#000000:#ff0000:#000000"] @@ -19,7 +19,7 @@ graph { edge [color="#000000:#ffff00:#000000"] X1:p4r:e -- W1:w4:w W1:w4:e -- X2:p4l:w - W1 [label=<
W1
CablesCoMPN: ABC123IPN: CAB1
4x0.25 mm²1 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:3
X1:4YEX2:4
 
> fillcolor=white margin=0 shape=box style=""] + W1 [label=<
W1
CablesCoMPN: ABC123IPN: CAB1
4x0.25 mm²1 m
 
X1:1BNX2:1
X1:2RDX2:2
X1:3OGX2:3
X1:4YEX2:4
 
> fillcolor=white margin=0 shape=box style=""] edge [color="#000000:#ffff00:#000000"] X1:p1r:e -- W2:w1:w W2:w1:e -- X3:p1l:w @@ -32,5 +32,5 @@ graph { edge [color="#000000:#ff0000:#000000"] X1:p4r:e -- W2:w4:w W2:w4:e -- X3:p4l:w - W2 [label=<
W2
4x0.25 mm²1 m
 
X1:1YEX3:1
WiresCoMPN: W1-YEIPN: WIRE1
X1:2BKX3:2
WiresCoMPN: W1-BKIPN: WIRE2
X1:3BKX3:3
WiresCoMPN: W1-BKIPN: WIRE2
X1:4RDX3:4
WiresCoMPN: W1-RDIPN: WIRE3
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] + W2 [label=<
W2
4x0.25 mm²1 m
 
X1:1YEX3:1
WiresCoMPN: W1-YEIPN: WIRE1
X1:2BKX3:2
WiresCoMPN: W1-BKIPN: WIRE2
X1:3BKX3:3
WiresCoMPN: W1-BKIPN: WIRE2
X1:4RDX3:4
WiresCoMPN: W1-RDIPN: WIRE3
 
> fillcolor=white margin=0 shape=box style="filled,dashed"] } diff --git a/tutorial/tutorial08.html b/tutorial/tutorial08.html index a031af8..bd5e824 100644 --- a/tutorial/tutorial08.html +++ b/tutorial/tutorial08.html @@ -1,295 +1,297 @@ -

Diagram

- + +

Diagram

- + - + X1 - -X1 - -Molex - -MPN: 22013047 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +Molex + +MPN: 22013047 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1 - - -W1 - - -CablesCo - -MPN: ABC123 -IPN: CAB1 - -4x - -0.25 mm² - -1 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:3 - - - -X1:4 -YE -X2:4 - - - -  + + +W1 + + +CablesCo + +MPN: ABC123 +IPN: CAB1 + +4x + +0.25 mm² + +1 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:3 + + + +X1:4 +YE +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -4x - -0.25 mm² - -1 m -  -X1:1 -YE -X3:1 - - - -WiresCo -MPN: W1-YE -IPN: WIRE1 -X1:2 -BK -X3:2 - - - -WiresCo -MPN: W1-BK -IPN: WIRE2 -X1:3 -BK -X3:3 - - - -WiresCo -MPN: W1-BK -IPN: WIRE2 -X1:4 -RD -X3:4 - - - -WiresCo -MPN: W1-RD -IPN: WIRE3 -  + + +W2 + +4x + +0.25 mm² + +1 m +  +X1:1 +YE +X3:1 + + + +WiresCo +MPN: W1-YE +IPN: WIRE1 +X1:2 +BK +X3:2 + + + +WiresCo +MPN: W1-BK +IPN: WIRE2 +X1:3 +BK +X3:3 + + + +WiresCo +MPN: W1-BK +IPN: WIRE2 +X1:4 +RD +X3:4 + + + +WiresCo +MPN: W1-RD +IPN: WIRE3 +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X2 - -X2 - -Molex - -MPN: 22013047 - -IPN: CON4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +Molex + +MPN: 22013047 + +IPN: CON4 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 X3 - -X3 - -Molex - -MPN: 22013047 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X3 + +Molex + +MPN: 22013047 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + -

Bill of Materials

ItemQtyUnitDesignatorsManufacturerManufacturer part numberInternal part number
Connector, Molex KK 254, female, 4 pins2X1, X3Molex22013047
Connector, Molex KK 254, female, 4 pins1X2Molex22013047CON4
Cable, 4 x 0.25 mm²1mW1CablesCoABC123CAB1
Wire, 0.25 mm², BK2mW2WiresCoW1-BKWIRE2
Wire, 0.25 mm², RD1mW2WiresCoW1-RDWIRE3
Wire, 0.25 mm², YE1mW2WiresCoW1-YEWIRE1
\ No newline at end of file +

Bill of Materials

ItemQtyUnitDesignatorsManufacturerManufacturer part numberInternal part number
Connector, Molex KK 254, female, 4 pins2X1, X3Molex22013047
Connector, Molex KK 254, female, 4 pins1X2Molex22013047CON4
Cable, 4 x 0.25 mm²1mW1CablesCoABC123CAB1
Wire, 0.25 mm², BK2mW2WiresCoW1-BKWIRE2
Wire, 0.25 mm², RD1mW2WiresCoW1-RDWIRE3
Wire, 0.25 mm², YE1mW2WiresCoW1-YEWIRE1
\ No newline at end of file diff --git a/tutorial/tutorial08.png b/tutorial/tutorial08.png index 76a2ff6..59e4ce8 100644 Binary files a/tutorial/tutorial08.png and b/tutorial/tutorial08.png differ diff --git a/tutorial/tutorial08.svg b/tutorial/tutorial08.svg index 9fc5336..baa73a8 100644 --- a/tutorial/tutorial08.svg +++ b/tutorial/tutorial08.svg @@ -4,291 +4,294 @@ - + - + X1 - -X1 - -Molex - -MPN: 22013047 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X1 + +Molex + +MPN: 22013047 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1 - - -W1 - - -CablesCo - -MPN: ABC123 -IPN: CAB1 - -4x - -0.25 mm² - -1 m -  -X1:1 -BN -X2:1 - - - -X1:2 -RD -X2:2 - - - -X1:3 -OG -X2:3 - - - -X1:4 -YE -X2:4 - - - -  + + +W1 + + +CablesCo + +MPN: ABC123 +IPN: CAB1 + +4x + +0.25 mm² + +1 m +  +X1:1 +BN +X2:1 + + + +X1:2 +RD +X2:2 + + + +X1:3 +OG +X2:3 + + + +X1:4 +YE +X2:4 + + + +  X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + X1:e--W1:w - - - + + + W2 - - -W2 - -4x - -0.25 mm² - -1 m -  -X1:1 -YE -X3:1 - - - -WiresCo -MPN: W1-YE -IPN: WIRE1 -X1:2 -BK -X3:2 - - - -WiresCo -MPN: W1-BK -IPN: WIRE2 -X1:3 -BK -X3:3 - - - -WiresCo -MPN: W1-BK -IPN: WIRE2 -X1:4 -RD -X3:4 - - - -WiresCo -MPN: W1-RD -IPN: WIRE3 -  + + +W2 + +4x + +0.25 mm² + +1 m +  +X1:1 +YE +X3:1 + + + +WiresCo +MPN: W1-YE +IPN: WIRE1 +X1:2 +BK +X3:2 + + + +WiresCo +MPN: W1-BK +IPN: WIRE2 +X1:3 +BK +X3:3 + + + +WiresCo +MPN: W1-BK +IPN: WIRE2 +X1:4 +RD +X3:4 + + + +WiresCo +MPN: W1-RD +IPN: WIRE3 +  X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X1:e--W2:w - - - + + + X2 - -X2 - -Molex - -MPN: 22013047 - -IPN: CON4 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X2 + +Molex + +MPN: 22013047 + +IPN: CON4 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 X3 - -X3 - -Molex - -MPN: 22013047 - -Molex KK 254 - -female - -4-pin - -1 - -2 - -3 - -4 + + +X3 + +Molex + +MPN: 22013047 + +Molex KK 254 + +female + +4-pin + +1 + +2 + +3 + +4 W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W1:e--X2:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + + W2:e--X3:w - - - + + +