diff --git a/examples/demo02.gv b/examples/demo02.gv index ca788be..4096634 100644 --- a/examples/demo02.gv +++ b/examples/demo02.gv @@ -1,8 +1,13 @@ graph { +<<<<<<< Updated upstream // Graph generated by WireViz 0.4.1 // https://github.com/wireviz/WireViz graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2] node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0] +======= +// Graph generated by WireViz 0.3-dev// 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] +>>>>>>> Stashed changes edge [fontname=arial style=bold] X1 [label=< @@ -13,47 +18,84 @@ graph { + + + +
- + +
Molex KK 254
None
KK 254 female 8-pin
+ + + +
P/N: CON-245-8Molex: 0022013087
+
- + - + - + - + - + - + - + - +
GNDAudio L 1
+5VAudio R 2
SCLAudio GND 3
SDAN/C 4
MISOI2C GND 5
MOSII2C +5V 6
SCKSCL 7
N/CSDA 8
+ + +
Strip Sleeving: 10.0 mm Insulation: 1.0 mm
+
+ + + + + + + + + + + + + + + + + +
9
7xCrimpP/N: CRI-254Molex: 008500032
11
1xLabelP/N: LAB-444"C745-X1"
+
+ + +
- Attach to main PCB
- Ensure proper contact
- Clamp down cables after attaching
+
> fillcolor="#FFFFFF" shape=box style=filled] X2 [label=< @@ -65,31 +107,44 @@ graph { - - - + + + + +
Molex KK 254female4-pin
None
3.5 mmjackBK
- + + + + + + + + + - - - - - - - - - - - -
1TL
RR
S GND
2+5V
3SCL
4SDA
+ + + +
+ + + + +
Tip, Ring, and Sleeve
+ + + + +
Strip Sleeving: 5.0 mm Insulation: -
+ > fillcolor="#FFFFFF" shape=box style=filled] X3 [label=< @@ -101,7 +156,8 @@ graph { - + +
Molex KK 254
None
KK 254 female 4-pin
@@ -110,19 +166,43 @@ graph { - + + + - + + + + + + +
1GNDVCCRD + + +
+
2+5VGNDBK + + +
+
3 SCLGN + + +
+
4 SDABU + + +
+
@@ -137,9 +217,15 @@ graph { - + + - + +
Molex KK 254
None
D-Sub female5-pin9-pin
+ + + +
P/N: CON-D9-F
@@ -147,63 +233,147 @@ graph { 1 GND + 1 2 - +12V + +5V + 2 3 - MISO + SCL + 3 4 - MOSI + SDA + 4 5 - SCK + N/C + 5 + + + 6 + +12V IN + 6 + + + 7 + GND + 7 + + + 8 + +12V OUT + 8 + + + 9 + GND + 9 + + + + + + + + + + + + + + + +
3
1xCasing, plasticP/N: CAS-D9
12
2xMounting screws, M3 x 8
+<<<<<<< Updated upstream > fillcolor="#FFFFFF" shape=box style=filled] __F_1 [label=< +======= +> fillcolor=white margin=0 shape=none style=filled] + _F_1 [label=< +>>>>>>> Stashed changes
+ - - - + + +
None
Crimp ferrule0.25 mm²YE0.5 mm²OG
+<<<<<<< Updated upstream > fillcolor="#FFFFFF" shape=box style=filled] __F_2 [label=< +======= +> fillcolor=white margin=0 shape=none style=filled] + _F_2 [label=< +>>>>>>> Stashed changes
+ - - - + + +
None
Crimp ferrule0.25 mm²YE0.5 mm²OG
+<<<<<<< Updated upstream > fillcolor="#FFFFFF" shape=box style=filled] edge [color="#000000:#000000:#000000"] +======= +> fillcolor=white margin=0 shape=none style=filled] + _F_3 [label=< + + +
+ + + + + + +
None
Crimp ferrule0.5 mm²OG
+
+> fillcolor=white margin=0 shape=none style=filled] + _F_4 [label=< + + +
+ + + + + + +
None
Crimp ferrule0.5 mm²OG
+
+> fillcolor=white margin=0 shape=none style=filled] + edge [color="#000000:#ffffff:#000000"] +>>>>>>> Stashed changes X1:p1r:e -- W1:w1:w - W1:w1:e -- X2:p1l:w + W1:w1:e -- X2:pTl:w edge [color="#000000:#ff0000:#000000"] X1:p2r:e -- W1:w2:w - W1:w2:e -- X2:p2l:w - edge [color="#000000:#ffff00:#000000"] + W1:w2:e -- X2:pRl:w + edge [color="#000000:#000000:#000000"] X1:p3r:e -- W1:w3:w - W1:w3:e -- X2:p3l:w - edge [color="#000000:#00ff00:#000000"] - X1:p4r:e -- W1:w4:w - W1:w4:e -- X2:p4l:w + W1:w3:e -- X2:pSl:w + edge [color="#000000"] + X1:p3r:e -- W1:ws:w + W1:ws:e -- X2:pSl:w W1 [label=< + + + + + + + +
@@ -213,36 +383,56 @@ graph {
- - - + + + + + + +
4x0.14 mm² (26 AWG)0.2 m
None
3x0.25 mm² (24 AWG)+ S0.5 mGY
+<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes +<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes +<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes @@ -281,26 +479,58 @@ graph {
 
X1:1:GND BK X2:1:GNDX1:1:Audio L + 1:WH + X2:T:L
- +
X1:2:+5V RD X2:2:+5VX1:2:Audio R + 2:RD + X2:R:R
@@ -254,18 +444,26 @@ graph {
X1:3:SCL YE X2:3:SCLX1:3:Audio GND + 3:BK + X2:S:GND
- +<<<<<<< Updated upstream
+======= +>>>>>>> Stashed changes
 
X1:3:Audio GNDShieldX2:S:GND
 
+ + + + + + + + + + + + + + +
10
15 mmHeatshrink D=5mmleft
10
25 mmHeatshrink D=5mmright
+<<<<<<< Updated upstream > fillcolor="#FFFFFF" shape=box style="filled,dashed"] edge [color="#000000:#000000:#000000"] X1:p1r:e -- W2:w1:w W2:w1:e -- X3:p1l:w +======= +> fillcolor=white margin=0 shape=box style=""] + edge [color="#000000:#895956:#000000"] + X1:p5r:e -- W2:w1:w + W2:w1:e -- X3:p2l:w +>>>>>>> Stashed changes edge [color="#000000:#ff0000:#000000"] - X1:p2r:e -- W2:w2:w - W2:w2:e -- X3:p2l:w - edge [color="#000000:#ffff00:#000000"] - X1:p3r:e -- W2:w3:w + X1:p6r:e -- W2:w2:w + W2:w2:e -- X3:p1l:w + edge [color="#000000:#ff8000:#000000"] + X1:p7r:e -- W2:w3:w W2:w3:e -- X3:p3l:w - edge [color="#000000:#00ff00:#000000"] - X1:p4r:e -- W2:w4:w + edge [color="#000000:#ffff00:#000000"] + X1:p8r:e -- W2:w4:w W2:w4:e -- X3:p4l:w W2 [label=< @@ -311,36 +541,53 @@ graph {
+ - - + +
None
4x0.14 mm² (26 AWG)0.4 m0.25 mm² (24 AWG)0.2 m
+<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes +<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes +<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes +<<<<<<< Updated upstream +======= + + + +>>>>>>> Stashed changes @@ -545,5 +812,236 @@ graph {
 
X1:1:GND BK X3:1:GNDX1:5:I2C GND + 1:BN + X3:2:GND
- +
X1:2:+5V RD X3:2:+5VX1:6:I2C +5V + 2:RD + X3:1:VCC
@@ -352,6 +599,7 @@ graph {
X1:3:SCL YE @@ -455,6 +703,13 @@ graph { OG X4:4:MOSIX1:7:SCL + 3:OG + X3:3:SCL
@@ -466,16 +721,25 @@ graph {
X1:7:SCK VT X4:5:SCKX1:8:SDA + 4:YE + X3:4:SDA
+<<<<<<< Updated upstream
@@ -537,6 +801,9 @@ graph { +======= + +>>>>>>> Stashed changes
+<<<<<<< Updated upstream > fillcolor="#FFFFFF" shape=box style=filled] +======= +> fillcolor=white margin=0 shape=box style=""] + edge [color="#000000:#ffffff:#000000"] + X1:p5r:e -- W3:w1:w + W3:w1:e -- X4:p1l:w + edge [color="#000000:#895956:#000000"] + X1:p6r:e -- W3:w2:w + W3:w2:e -- X4:p2l:w + edge [color="#000000:#00ff00:#000000"] + X1:p7r:e -- W3:w3:w + W3:w3:e -- X4:p3l:w + edge [color="#000000:#ffff00:#000000"] + X1:p8r:e -- W3:w4:w + W3:w4:e -- X4:p4l:w + W3 [label=< + + + + +
+ + +
W3
+
+ + + + + +
None
4x0.25 mm² (24 AWG)0.2 m
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
X1:5:I2C GND + 1:WH + X4:1:GND
+ + + + +
+
X1:6:I2C +5V + 2:BN + X4:2:+5V
+ + + + +
+
X1:7:SCL + 3:GN + X4:3:SCL
+ + + + +
+
X1:8:SDA + 4:YE + X4:4:SDA
+ + + + +
+
 
+
+> fillcolor=white margin=0 shape=box style=""] + edge [color="#000000:#ff0000:#000000"] + _F_1:e -- W4:w1:w + W4:w1:e -- X4:p6l:w + edge [color="#000000:#000000:#000000"] + _F_2:e -- W4:w2:w + W4:w2:e -- X4:p7l:w + W4 [label=< + + + + +
+ + + + + +
None
2x0.5 mm² (21 AWG)1.0 m
+
+ + + + + +
Twist rate10/m
Twist directionCCW
+
+ + + + + + + + + + + + + + + + + + + +
 
+ RD + X4:6:+12V IN
+ + + + +
+
+ BK + X4:7:GND
+ + + + +
+
 
+
+> fillcolor=white margin=0 shape=box style="filled,dashed"] + edge [color="#000000:#ff0000:#000000"] + X4:p8r:e -- W5:w1:w + W5:w1:e -- _F_3:w + edge [color="#000000:#000000:#000000"] + X4:p9r:e -- W5:w2:w + W5:w2:e -- _F_4:w + W5 [label=< + + + + +
+ + + + + +
None
2x0.5 mm² (21 AWG)1.0 m
+
+ + + + + +
Twist rate10/m
Twist directionCCW
+
+ + + + + + + + + + + + + + + + + + + +
 
X4:8:+12V OUT + RD +
+ + + + +
+
X4:9:GND + BK +
+ + + + +
+
 
+
+> fillcolor=white margin=0 shape=box style="filled,dashed"] +>>>>>>> Stashed changes } diff --git a/examples/demo02.html b/examples/demo02.html index da7efe0..b53baa9 100644 --- a/examples/demo02.html +++ b/examples/demo02.html @@ -188,512 +188,517 @@ - - - - - + + + +%3 + X1 - - -X1 - -Molex KK 254 - -female - -8-pin - -GND - -1 - -+5V - -2 - -SCL - -3 - -SDA - -4 - -MISO - -5 - -MOSI - -6 - -SCK - -7 - -N/C - -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 + +Strip Sleeve: 10.0 mm Insulation: 2.0 mm W1 - - -W1 - -4x - -0.14 mm² (26 AWG) - -0.2 m -  -X1:1:GND -     BK     -X2:1:GND - - - -X1:2:+5V -     RD     -X2:2:+5V - - - -X1:3:SCL -     YE     -X2:3:SCL - - - -X1:4:SDA -     GN     -X2:4:SDA - - - -  + + +W1 + +4x + +0.14 mm² (26 AWG) + +0.2 m +  +X1:1:GND +     BK     +X2:1:GND + + + +X1:2:+5V +     RD     +X2:2:+5V + + + +X1:3:SCL +     YE     +X2:3:SCL + + + +X1:4:SDA +     GN     +X2:4:SDA + + + +  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:GND -     BK     -X3:1:GND - - - -X1:2:+5V -     RD     -X3:2:+5V - - - -X1:3:SCL -     YE     -X3:3:SCL - - - -X1:4:SDA -     GN     -X3:4:SDA - - - -  + + +W2 + +4x + +0.14 mm² (26 AWG) + +0.4 m +  +X1:1:GND +     BK     +X3:1:GND + + + +X1:2:+5V +     RD     +X3:2:+5V + + + +X1:3:SCL +     YE     +X3:3:SCL + + + +X1:4:SDA +     GN     +X3:4:SDA + + + +  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:GND -     BK     -X4:1:GND - - - -X1:5:MISO -     BU     -X4:3:MISO - - - -X1:6:MOSI -     OG     -X4:4:MOSI - - - -X1:7:SCK -     VT     -X4:5:SCK - - - -  + + +W3 + +4x + +0.14 mm² (26 AWG) + +0.3 m +  +X1:1:GND +     BK     +X4:1:GND + + + +X1:5:MISO +     BU     +X4:3:MISO + + + +X1:6:MOSI +     OG     +X4:4:MOSI + + + +X1:7:SCK +     VT     +X4:5:SCK + + + +  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 - -GND - -2 - -+5V - -3 - -SCL - -4 - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA + +Strip Sleeve: 5.0 mm Insulation: - X3 - - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -GND - -2 - -+5V - -3 - -SCL - -4 - -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 - -GND - -2 - -+12V - -3 - -MISO - -4 - -MOSI - -5 - -SCK + + +X4 + +Molex KK 254 + +female + +5-pin + +1 + +GND + +2 + ++12V + +3 + +MISO + +4 + +MOSI + +5 + +SCK __F_1 - - -Crimp ferrule - -0.25 mm² - -YE - - + + +Crimp ferrule + +0.25 mm² + +YE + + W4 - - -W4 - -2x - -0.25 mm² (24 AWG) - -0.3 m -  -     1:BK     -X4:1:GND - - - -     2:RD     -X4:2:+12V - - - -  + + +W4 + +2x + +0.25 mm² (24 AWG) + +0.3 m +  +     1:BK     +X4:1:GND + + + +     2:RD     +X4:2:+12V + + + +  __F_1:e--W4:w - - - + + + __F_2 - - -Crimp ferrule - -0.25 mm² - -YE - - + + +Crimp ferrule + +0.25 mm² + +YE + + __F_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.png b/examples/demo02.png index 9b5577e..b619c92 100644 Binary files a/examples/demo02.png and b/examples/demo02.png differ diff --git a/examples/demo02.svg b/examples/demo02.svg index a219e17..485864d 100644 --- a/examples/demo02.svg +++ b/examples/demo02.svg @@ -1,512 +1,517 @@ - - - - - + + + +%3 + X1 - - -X1 - -Molex KK 254 - -female - -8-pin - -GND - -1 - -+5V - -2 - -SCL - -3 - -SDA - -4 - -MISO - -5 - -MOSI - -6 - -SCK - -7 - -N/C - -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 + +Strip Sleeve: 10.0 mm Insulation: 2.0 mm W1 - - -W1 - -4x - -0.14 mm² (26 AWG) - -0.2 m -  -X1:1:GND -     BK     -X2:1:GND - - - -X1:2:+5V -     RD     -X2:2:+5V - - - -X1:3:SCL -     YE     -X2:3:SCL - - - -X1:4:SDA -     GN     -X2:4:SDA - - - -  + + +W1 + +4x + +0.14 mm² (26 AWG) + +0.2 m +  +X1:1:GND +     BK     +X2:1:GND + + + +X1:2:+5V +     RD     +X2:2:+5V + + + +X1:3:SCL +     YE     +X2:3:SCL + + + +X1:4:SDA +     GN     +X2:4:SDA + + + +  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:GND -     BK     -X3:1:GND - - - -X1:2:+5V -     RD     -X3:2:+5V - - - -X1:3:SCL -     YE     -X3:3:SCL - - - -X1:4:SDA -     GN     -X3:4:SDA - - - -  + + +W2 + +4x + +0.14 mm² (26 AWG) + +0.4 m +  +X1:1:GND +     BK     +X3:1:GND + + + +X1:2:+5V +     RD     +X3:2:+5V + + + +X1:3:SCL +     YE     +X3:3:SCL + + + +X1:4:SDA +     GN     +X3:4:SDA + + + +  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:GND -     BK     -X4:1:GND - - - -X1:5:MISO -     BU     -X4:3:MISO - - - -X1:6:MOSI -     OG     -X4:4:MOSI - - - -X1:7:SCK -     VT     -X4:5:SCK - - - -  + + +W3 + +4x + +0.14 mm² (26 AWG) + +0.3 m +  +X1:1:GND +     BK     +X4:1:GND + + + +X1:5:MISO +     BU     +X4:3:MISO + + + +X1:6:MOSI +     OG     +X4:4:MOSI + + + +X1:7:SCK +     VT     +X4:5:SCK + + + +  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 - -GND - -2 - -+5V - -3 - -SCL - -4 - -SDA + + +X2 + +Molex KK 254 + +female + +4-pin + +1 + +GND + +2 + ++5V + +3 + +SCL + +4 + +SDA + +Strip Sleeve: 5.0 mm Insulation: - X3 - - -X3 - -Molex KK 254 - -female - -4-pin - -1 - -GND - -2 - -+5V - -3 - -SCL - -4 - -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 - -GND - -2 - -+12V - -3 - -MISO - -4 - -MOSI - -5 - -SCK + + +X4 + +Molex KK 254 + +female + +5-pin + +1 + +GND + +2 + ++12V + +3 + +MISO + +4 + +MOSI + +5 + +SCK __F_1 - - -Crimp ferrule - -0.25 mm² - -YE - - + + +Crimp ferrule + +0.25 mm² + +YE + + W4 - - -W4 - -2x - -0.25 mm² (24 AWG) - -0.3 m -  -     1:BK     -X4:1:GND - - - -     2:RD     -X4:2:+12V - - - -  + + +W4 + +2x + +0.25 mm² (24 AWG) + +0.3 m +  +     1:BK     +X4:1:GND + + + +     2:RD     +X4:2:+12V + + + +  __F_1:e--W4:w - - - + + + __F_2 - - -Crimp ferrule - -0.25 mm² - -YE - - + + +Crimp ferrule + +0.25 mm² + +YE + + __F_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 5e94df7..73d711c 100644 --- a/examples/demo02.yml +++ b/examples/demo02.yml @@ -36,9 +36,14 @@ connectors: X1: <<: *molex_f # copying items from the template pinlabels: [GND, +5V, SCL, SDA, MISO, MOSI, SCK, N/C] + strip: + sleeve: 10 mm + insulation: 2 mm X2: <<: *molex_f <<: *con_i2c # it is possible to copy from more than one template + strip: + sleeve: 5 mm X3: <<: *molex_f <<: *con_i2c diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index d14e445..dba7ee2 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -76,6 +76,18 @@ class Tweak: append: Union[str, List[str], None] = None +# Alan +def parse_length(l: str): + length: float = 0 + length_unit: str = 'm' + try: + length, length_unit = l.split(' ') + length = float(length) + except Exception: + raise Exception(f'length={l} - Length must be a number, or number and unit separated by a space') + return {'length': length, 'length_unit': length_unit} + + @dataclass class Image: # Attributes of the image object : @@ -136,6 +148,42 @@ class AdditionalComponent: return t +@dataclass +class StripSleeve: + name: Designator + length: float = 0 + length_unit: Optional[str] = None + + # Alan + # def __post_init__(self) -> None: + # normalize_length(self) + + +@dataclass +class StripInsulation: + name: Designator + length: float = 0 + length_unit: Optional[str] = None + + # Alan + # def __post_init__(self) -> None: + # print('__post_init__', self.length, '|', self.length_unit) + # normalize_length(self) + + +@dataclass +class Strip: + sleeve: Optional[StripSleeve] = None + insulation: Optional[StripInsulation] = None + + # Alan + def __post_init__(self) -> None: + if self.sleeve: + self.sleeve = StripSleeve('TODO', **parse_length(self.sleeve)) + if self.insulation: + self.insulation = StripInsulation('TODO', **parse_length(self.insulation)) + + @dataclass class Connector: name: Designator @@ -151,6 +199,8 @@ class Connector: type: Optional[MultilineHypertext] = None subtype: Optional[MultilineHypertext] = None pincount: Optional[int] = None + # additional_parameters: Optional[Dict] = None + strip: Optional[Strip] = None image: Optional[Image] = None notes: Optional[MultilineHypertext] = None pins: List[Pin] = field(default_factory=list) @@ -220,6 +270,11 @@ class Connector: if isinstance(item, dict): self.additional_components[i] = AdditionalComponent(**item) + if self.strip: + self.strip = Strip(sleeve=self.strip.get('sleeve'), insulation=self.strip.get('insulation')) + else: + self.strip = Strip() + def activate_pin(self, pin: Pin, side: Side) -> None: self.visible_pins[pin] = True if side == Side.LEFT: diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index c4af236..15a234f 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -65,6 +65,13 @@ def check_old(node: str, old_attr: dict, args: dict) -> None: raise ValueError(f"'{attr}' in {node}: '{attr}' {descr}") +# Alan +def html_length(o) -> str: + if o: # Can be None + return f'{o.length} {o.length_unit}' if o.length > 0 else None + else: + return '-' + @dataclass class Harness: metadata: Metadata @@ -207,6 +214,10 @@ class Harness: [html_caption(connector.image)]] # fmt: on + if connector.strip.sleeve or connector.strip.insulation: + rows.append([ + f'Strip Sleeve: {html_length(connector.strip.sleeve)} Insulation: {html_length(connector.strip.insulation)}' + ]) rows.extend(get_additional_component_table(self, connector)) rows.append([html_line_breaks(connector.notes)]) html.extend(nested_html_table(rows, html_bgcolor_attr(connector.bgcolor)))