diff --git a/src/test.py b/src/test.py index eded2db..536df0f 100644 --- a/src/test.py +++ b/src/test.py @@ -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 diff --git a/src/wireviz.py b/src/wireviz.py index 6cb68c0..6c97aba 100644 --- a/src/wireviz.py +++ b/src/wireviz.py @@ -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 + '{'