Add example 2

This commit is contained in:
Daniel Rojas 2020-05-22 13:22:31 +02:00
parent 429d958e6d
commit 0ae58148e0
2 changed files with 85 additions and 7 deletions

49
src/output/output_ex2.dot Normal file
View File

@ -0,0 +1,49 @@
digraph G {
graph [rankdir = LR, ranksep=2, fontname = "arial"];
edge [arrowhead=none, fontname = "arial"];
node [shape=record, style=rounded, fontname = "arial"];
X1[label="X1 | {{GND|+5V|SCL|SDA|MISO|MOSI|SCK|N/C} | {<p1>1|<p2>2|<p3>3|<p4>4|<p5>5|<p6>6|<p7>7|<p8>8}}}"]
X2[label="X2 | {{<p1>1|<p2>2|<p3>3|<p4>4} | {GND|+5V|SCL|SDA}}}"]
X3[label="X3 | {{<p1>1|<p2>2|<p3>3|<p4>4} | {GND|+5V|SCL|SDA}}}"]
X4[label="X4 | {{<p1>1|<p2>2|<p3>3|<p4>4|<p5>5} | {GND|+12V|MISO|MOSI|SCK}}}"]
X5[label="X5 | {{GND|+12V} | {<p1>1|<p2>2}}}"]
W1[label="{{<w1i>1|<w2i>2|<w3i>3|<w4i>4} | {BK|RD|YE|GN} | {<w1o>1|<w2o>2|<w3o>3|<w4o>4}}}"]
{edge[style=bold]
{edge[color="#000000:#000000:#000000"] X1:p1 -> W1:w1i; W1:w1o -> X2:p1}
{edge[color="#000000:#ff0000:#000000"] X1:p2 -> W1:w2i; W1:w2o -> X2:p2}
{edge[color="#000000:#ffff00:#000000"] X1:p3 -> W1:w3i; W1:w3o -> X2:p3}
{edge[color="#000000:#00ff00:#000000"] X1:p4 -> W1:w4i; W1:w4o -> X2:p4}
}
W2[label="{{<w1i>1|<w2i>2|<w3i>3|<w4i>4} | {BK|RD|YE|GN} | {<w1o>1|<w2o>2|<w3o>3|<w4o>4}}}"]
{edge[style=bold]
{edge[color="#000000:#000000:#000000"] X1:p1 -> W2:w1i; W2:w1o -> X3:p1}
{edge[color="#000000:#ff0000:#000000"] X1:p2 -> W2:w2i; W2:w2o -> X3:p2}
{edge[color="#000000:#ffff00:#000000"] X1:p3 -> W2:w3i; W2:w3o -> X3:p3}
{edge[color="#000000:#00ff00:#000000"] X1:p4 -> W2:w4i; W2:w4o -> X3:p4}
}
W3[label="{{<w1i>1|<w2i>2|<w3i>3|<w4i>4} | {BK|BU|OG|VT} | {<w1o>1|<w2o>2|<w3o>3|<w4o>4}}}"]
{edge[style=bold]
{edge[color="#000000:#000000:#000000"] X1:p1 -> W3:w1i; W3:w1o -> X4:p1}
{edge[color="#000000:#0000ff:#000000"] X1:p5 -> W3:w2i; W3:w2o -> X4:p3}
{edge[color="#000000:#ff8000:#000000"] X1:p6 -> W3:w3i; W3:w3o -> X4:p4}
{edge[color="#000000:#8000ff:#000000"] X1:p7 -> W3:w4i; W3:w4o -> X4:p5}
}
W4[label="{{<w1i>1|<w2i>2} | {BK|RD} | {<w1o>1|<w2o>2}}}"]
{edge[style=bold]
{edge[color="#000000:#000000:#000000"] X5:p1 -> W4:w1i; W4:w1o -> X4:p1}
{edge[color="#000000:#ff0000:#000000"] X5:p2 -> W4:w2i; W4:w2o -> X4:p2}
}
}

View File

@ -1,15 +1,44 @@
import wireviz
PINOUT_SERIAL = ('DCD','RX','TX','DTR','GND','DSR','RTS','CTS','RI')
COLORS_WEIRD = ("infrared","ultraviolet","transparent","invisible")
PINOUT_I2C = ('GND','+5V','SCL','SDA')
COLORS_I2C = ('BK', 'RD', 'YE', 'GN')
PINOUT_SPI_DATAONLY = ('MISO','MOSI','SCK')
# example 1
X1 = wireviz.Node("X1", pinout=PINOUT_SERIAL, ports_right=True)
X2 = wireviz.Node("X2", num_pins=6, ports_left=True)
W1 = wireviz.Cable("W1", show_name=True, num_wires=3, color_code="DIN", shield=True)
W1.connect(X1,(2,3,5),(1,2,3),X2,(1,3,2))
X2.loop(5,6)
objects = [X1, X2, W1]
# X1 = wireviz.Node("X1", pinout=PINOUT_SERIAL, ports_right=True)
# X2 = wireviz.Node("X2", num_pins=6, ports_left=True)
# W1 = wireviz.Cable("W1", show_name=True, num_wires=3, color_code="DIN", shield=True)
# W1.connect(X1,(2,3,5),(1,2,3),X2,(1,3,2))
# X2.loop(5,6)
# objects = [X1, X2, W1]
# example 2
X1 = wireviz.Node("X1", pinout=(
'GND',
'+5V',
'SCL',
'SDA',
'MISO',
'MOSI',
'SCK',
'N/C'
), ports_right=True)
X2 = wireviz.Node("X2", pinout=PINOUT_I2C, ports_left=True)
X3 = wireviz.Node("X3", pinout=PINOUT_I2C, ports_left=True)
X4 = wireviz.Node("X4", pinout=('GND','+12V')+PINOUT_SPI_DATAONLY, ports_left=True)
X5 = wireviz.Node("X5", pinout=('GND','+12V'), ports_right=True)
W1 = wireviz.Cable("W1", colors=COLORS_I2C)
W2 = wireviz.Cable("W2", colors=COLORS_I2C)
W3 = wireviz.Cable("W3", colors=('BK','BU','OG','VT'))
W4 = wireviz.Cable("W4", colors=('BK','RD'))
W1.connect(X1,(1,2,3,4),(1,2,3,4),X2,(1,2,3,4))
W2.connect(X1,(1,2,3,4),(1,2,3,4),X3,(1,2,3,4))
W3.connect(X1,(1,5,6,7),(1,2,3,4),X4,(1,3,4,5))
W4.connect(X5,(1,2),(1,2),X4,(1,2))
objects = [X1, X2, X3, X4, X5, W1, W2, W3, W4]
with open('output/output.dot','w') as f:
with open('input/header.dot','r') as infile: