Add option to define connector pin colors (#141)
This commit is contained in:
parent
64bd34a7c6
commit
711704dde9
@ -96,6 +96,7 @@ class Connector:
|
|||||||
notes: Optional[MultilineHypertext] = None
|
notes: Optional[MultilineHypertext] = None
|
||||||
pinlabels: List[Pin] = field(default_factory=list)
|
pinlabels: List[Pin] = field(default_factory=list)
|
||||||
pins: List[Pin] = field(default_factory=list)
|
pins: List[Pin] = field(default_factory=list)
|
||||||
|
pincolors: List[Color] = field(default_factory=list)
|
||||||
color: Optional[Color] = None
|
color: Optional[Color] = None
|
||||||
show_name: Optional[bool] = None
|
show_name: Optional[bool] = None
|
||||||
show_pincount: Optional[bool] = None
|
show_pincount: Optional[bool] = None
|
||||||
@ -140,6 +141,9 @@ class Connector:
|
|||||||
if len(self.pins) != len(set(self.pins)):
|
if len(self.pins) != len(set(self.pins)):
|
||||||
raise Exception('Pins are not unique')
|
raise Exception('Pins are not unique')
|
||||||
|
|
||||||
|
if self.pincolors:
|
||||||
|
self.pincolors.extend([None] * (len(self.pins) - len(self.pincolors))) # autofill missing pincolors as 'no color'
|
||||||
|
|
||||||
if self.show_name is None:
|
if self.show_name is None:
|
||||||
self.show_name = not self.autogenerate # hide auto-generated designators by default
|
self.show_name = not self.autogenerate # hide auto-generated designators by default
|
||||||
|
|
||||||
|
|||||||
@ -110,7 +110,9 @@ class Harness:
|
|||||||
pinhtml = []
|
pinhtml = []
|
||||||
pinhtml.append('<table border="0" cellspacing="0" cellpadding="3" cellborder="1">')
|
pinhtml.append('<table border="0" cellspacing="0" cellpadding="3" cellborder="1">')
|
||||||
|
|
||||||
for pin, pinlabel in zip(connector.pins, connector.pinlabels):
|
for pin, pinlabel, pincolor in zip(connector.pins,
|
||||||
|
connector.pinlabels,
|
||||||
|
connector.pincolors if connector.pincolors else [None] * len(connector.pins)):
|
||||||
if connector.hide_disconnected_pins and not connector.visible_pins.get(pin, False):
|
if connector.hide_disconnected_pins and not connector.visible_pins.get(pin, False):
|
||||||
continue
|
continue
|
||||||
pinhtml.append(' <tr>')
|
pinhtml.append(' <tr>')
|
||||||
@ -118,6 +120,14 @@ class Harness:
|
|||||||
pinhtml.append(f' <td port="p{pin}l">{pin}</td>')
|
pinhtml.append(f' <td port="p{pin}l">{pin}</td>')
|
||||||
if pinlabel:
|
if pinlabel:
|
||||||
pinhtml.append(f' <td>{pinlabel}</td>')
|
pinhtml.append(f' <td>{pinlabel}</td>')
|
||||||
|
if connector.pincolors:
|
||||||
|
if pincolor in wv_colors._color_hex.keys():
|
||||||
|
pinhtml.append(f'<td sides="tbl">{pincolor}</td>')
|
||||||
|
pinhtml.append(f'<td sides="tbr"><table border="0" cellborder="1"><tr><td bgcolor="{wv_colors.translate_color(pincolor, "HEX")}" width="8" height="8" fixedsize="true"></td></tr></table></td>')
|
||||||
|
else:
|
||||||
|
pinhtml.append(f'<td sides="tbl"></td>')
|
||||||
|
pinhtml.append(f'<td sides="tbr"></td>')
|
||||||
|
|
||||||
if connector.ports_right:
|
if connector.ports_right:
|
||||||
pinhtml.append(f' <td port="p{pin}r">{pin}</td>')
|
pinhtml.append(f' <td port="p{pin}r">{pin}</td>')
|
||||||
pinhtml.append(' </tr>')
|
pinhtml.append(' </tr>')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user