diff --git a/src/wireviz/DataClasses.py b/src/wireviz/DataClasses.py index f3bb3430..31cbce00 100644 --- a/src/wireviz/DataClasses.py +++ b/src/wireviz/DataClasses.py @@ -95,8 +95,8 @@ class Connector: pincount: Optional[int] = None image: Optional[Image] = None notes: Optional[MultilineHypertext] = None - pinlabels: List[Pin] = field(default_factory=list) pins: List[Pin] = field(default_factory=list) + pinlabels: List[Pin] = field(default_factory=list) pincolors: List[Color] = field(default_factory=list) color: Optional[Color] = None show_name: Optional[bool] = None diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py index 5a8c1728..14a48ad8 100644 --- a/src/wireviz/Harness.py +++ b/src/wireviz/Harness.py @@ -78,7 +78,10 @@ def connect(self, from_name: str, from_pin: (int, str), via_name: str, via_wire: raise Exception(f'{via_name}:{via_wire} is used for more than one wire.') via_wire = cable.wirelabels.index(via_wire) + 1 # list index starts at 0, wire IDs start at 1 - self.cables[via_name].connect(from_name, from_pin, via_wire, to_name, to_pin) + from_pin_id = self.connectors[from_name].pins.index(from_pin) if from_pin is not None else None + to_pin_id = self.connectors[to_name].pins.index(to_pin) if to_pin is not None else None + + self.cables[via_name].connect(from_name, from_pin_id, via_wire, to_name, to_pin_id) if from_name in self.connectors: self.connectors[from_name].activate_pin(from_pin) if to_name in self.connectors: @@ -135,12 +138,12 @@ def create_graph(self) -> Graph: pinhtml = [] pinhtml.append('
{pin} | ') + pinhtml.append(f'{pinname} | ') if pinlabel: pinhtml.append(f'{pinlabel} | ') if connector.pincolors: @@ -155,7 +158,7 @@ def create_graph(self) -> Graph: pinhtml.append( '') if connector.ports_right: - pinhtml.append(f' | {pin} | ') + pinhtml.append(f'{pinname} | ') pinhtml.append('