Improve color looping
This commit is contained in:
parent
81b2cb5423
commit
049d439d7c
@ -8,9 +8,22 @@ Harness.add(Node('X2', num_pins=10, ports_left=True))
|
|||||||
Harness.add(Cable('W1', num_wires=10, color_code='IEC'))
|
Harness.add(Cable('W1', num_wires=10, color_code='IEC'))
|
||||||
Harness.objects['W1'].connect_all_straight('X1','X2')
|
Harness.objects['W1'].connect_all_straight('X1','X2')
|
||||||
|
|
||||||
Harness.add(Node('X3', num_pins=20, ports_right=True))
|
Harness.add(Node('X3', num_pins=12, ports_right=True))
|
||||||
Harness.add(Node('X4', num_pins=20, ports_left=True))
|
Harness.add(Node('X4', num_pins=12, ports_left=True))
|
||||||
Harness.add(Cable('W2', num_wires=20, color_code='DIN'))
|
Harness.add(Cable('W2', num_wires=12, color_code='DIN'))
|
||||||
Harness.objects['W2'].connect_all_straight('X3','X4')
|
Harness.objects['W2'].connect_all_straight('X3','X4')
|
||||||
|
|
||||||
|
Harness.add(Node('X5', num_pins=20, ports_right=True))
|
||||||
|
Harness.add(Node('X6', num_pins=20, ports_left=True))
|
||||||
|
Harness.add(Cable('W3', num_wires=20, colors=('RD','YE','BU')))
|
||||||
|
Harness.objects['W3'].connect_all_straight('X5','X6')
|
||||||
|
|
||||||
|
Harness.add(Node('X7', num_pins=6, ports_right=True))
|
||||||
|
Harness.add(Node('X8', num_pins=6, ports_left=True))
|
||||||
|
Harness.add(Cable('W4', num_wires=6, length=1, mm2=1))
|
||||||
|
Harness.objects['W4'].connect_all_straight('X7','X8')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Harness.graphviz()
|
Harness.graphviz()
|
||||||
|
|||||||
@ -175,26 +175,26 @@ class Cable:
|
|||||||
if num_wires is None:
|
if num_wires is None:
|
||||||
raise Exception('Unknown number of wires')
|
raise Exception('Unknown number of wires')
|
||||||
else:
|
else:
|
||||||
|
if color_code is None:
|
||||||
|
raise Exception('No color code')
|
||||||
# choose color code
|
# choose color code
|
||||||
if color_code not in COLOR_CODES:
|
if color_code not in COLOR_CODES:
|
||||||
raise Exception('Unknown color code')
|
raise Exception('Unknown color code')
|
||||||
else:
|
else:
|
||||||
cc = COLOR_CODES[color_code]
|
cc = COLOR_CODES[color_code]
|
||||||
|
n = num_wires
|
||||||
|
else: # custom color pallet was specified
|
||||||
|
cc = colors
|
||||||
|
if num_wires is None: # assume number of wires = number of items in custom pallet
|
||||||
|
n = len(cc)
|
||||||
|
else: # number of wires was specified
|
||||||
|
n = num_wires
|
||||||
|
|
||||||
cc = tuple(cc)
|
cc = tuple(cc)
|
||||||
if num_wires <= len(cc):
|
if n > len(cc):
|
||||||
self.colors = cc[:num_wires]
|
m = num_wires // len(cc) + 1
|
||||||
else:
|
cc = cc * int(m)
|
||||||
n = num_wires / len(cc) + 1
|
self.colors = cc[:n]
|
||||||
cc = cc * int(n)
|
|
||||||
self.colors = cc[:num_wires]
|
|
||||||
|
|
||||||
else: # custom color pallet was specified
|
|
||||||
if num_wires is None: # assume number of wires = number of items in custom pallet
|
|
||||||
self.colors = colors
|
|
||||||
else: # number of wires was specified
|
|
||||||
# TODO: loop through colors if num_wires > len(colors)
|
|
||||||
self.colors = colors[:num_wires]
|
|
||||||
|
|
||||||
def connect(self, from_name, from_pin, via, to_name, to_pin):
|
def connect(self, from_name, from_pin, via, to_name, to_pin):
|
||||||
if from_pin == 'auto':
|
if from_pin == 'auto':
|
||||||
@ -270,6 +270,7 @@ class Cable:
|
|||||||
else:
|
else:
|
||||||
l = []
|
l = []
|
||||||
for i,x in enumerate(self.colors,1):
|
for i,x in enumerate(self.colors,1):
|
||||||
|
if x in color_full:
|
||||||
if self.color_mode == 'full':
|
if self.color_mode == 'full':
|
||||||
x = color_full[x].lower()
|
x = color_full[x].lower()
|
||||||
elif self.color_mode == 'FULL':
|
elif self.color_mode == 'FULL':
|
||||||
@ -284,6 +285,8 @@ class Cable:
|
|||||||
x = x.upper()
|
x = x.upper()
|
||||||
else:
|
else:
|
||||||
raise Exception('Unknown color mode')
|
raise Exception('Unknown color mode')
|
||||||
|
else:
|
||||||
|
x = ''
|
||||||
l.append('<w{wireno}>{wirecolor}'.format(wireno=i,wirecolor=x))
|
l.append('<w{wireno}>{wirecolor}'.format(wireno=i,wirecolor=x))
|
||||||
s = s + '|'.join(l)
|
s = s + '|'.join(l)
|
||||||
if self.shield == True:
|
if self.shield == True:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user