Add basic parameter support for connectors and wires
This commit is contained in:
parent
ee7d1ef4e3
commit
abba76bba4
@ -8,9 +8,9 @@ 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)
|
||||
X1 = wireviz.Node('X1', type='D-Sub DE-9', gender='female', pinout=PINOUT_SERIAL, ports_right=True)
|
||||
X2 = wireviz.Node('X2', type='Molex KK 254', gender='female', num_pins=6, ports_left=True)
|
||||
W1 = wireviz.Cable('W1', mm2=0.25, length=0.2, show_name=False, num_wires=3, color_code='DIN', shield=True)
|
||||
# Option 1: define wires and shield in one line
|
||||
# W1.connect(X1,(5,2,3,5),(1,2,3,'s'),X2,(1,3,2,None))
|
||||
# Option 2: define wires and shield separately
|
||||
|
||||
@ -18,8 +18,10 @@ color_dict = {'BK': '#000000',
|
||||
|
||||
class Node:
|
||||
|
||||
def __init__(self, name, show_name=True, num_pins=None, pinout=None, ports_left=False, ports_right=False):
|
||||
def __init__(self, name, type=None, gender=None, show_name=True, num_pins=None, pinout=None, ports_left=False, ports_right=False):
|
||||
self.name = name
|
||||
self.type = type
|
||||
self.gender = gender
|
||||
self.show_name = show_name
|
||||
self.ports_left = ports_left
|
||||
self.ports_right = ports_right
|
||||
@ -61,8 +63,18 @@ class Node:
|
||||
if self.show_name == True:
|
||||
s = s + '{name} | '.format(name=self.name)
|
||||
|
||||
#print parameters
|
||||
s = s + '{'
|
||||
l = []
|
||||
if self.type is not None:
|
||||
l.append('{}'.format(self.type))
|
||||
if self.gender is not None:
|
||||
l.append('{}'.format(self.gender))
|
||||
if len(l) > 0:
|
||||
s = s + ', '.join(l)
|
||||
s = s + '} | '
|
||||
|
||||
s = s + '{'
|
||||
# print pinout
|
||||
if self.ports_left == True:
|
||||
s = s + '{'
|
||||
@ -98,8 +110,11 @@ class Node:
|
||||
|
||||
class Cable:
|
||||
|
||||
def __init__(self, name, show_name=False, num_wires=None, colors=None, color_code=None, shield=False):
|
||||
def __init__(self, name, mm2=0, awg=0, length=0, show_name=False, num_wires=None, colors=None, color_code=None, shield=False):
|
||||
self.name = name
|
||||
self.mm2 = mm2
|
||||
self.awg = awg
|
||||
self.length = length
|
||||
self.show_name = show_name
|
||||
self.shield = shield
|
||||
self.connections = []
|
||||
@ -163,6 +178,19 @@ class Cable:
|
||||
if self.show_name == True:
|
||||
s = s + '{name} | '.format(name=self.name)
|
||||
|
||||
#print parameters
|
||||
s = s + '{'
|
||||
l = []
|
||||
if self.mm2 > 0:
|
||||
l.append('{} mm²'.format(self.mm2))
|
||||
if self.awg > 0:
|
||||
l.append('{} AWG'.format(self.awg))
|
||||
if self.length > 0:
|
||||
l.append('{} m'.format(self.length))
|
||||
if len(l) > 0:
|
||||
s = s + '|'.join(l)
|
||||
s = s + '} | '
|
||||
|
||||
s = s + '{'
|
||||
# print pinout
|
||||
s = s + '{'
|
||||
@ -191,6 +219,7 @@ class Cable:
|
||||
|
||||
s = s + '}}"]'
|
||||
|
||||
# print connections
|
||||
s = s + '\n\n{edge[style=bold]\n'
|
||||
for x in self.connections:
|
||||
s = s + '{'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user