Skip to content

Commit 60084b8

Browse files
committed
cleaning
1 parent 5feb02a commit 60084b8

3 files changed

Lines changed: 46 additions & 39 deletions

File tree

edg/abstract_parts/BaseIoControllerWrapped.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,19 @@ def _remap_assigns_to_value(assigns: Dict[str, Tuple[Optional[str], Optional[str
121121
else:
122122
raise ValueError(f"invalid assign for {name}: {assign}")
123123
return pin_assigns
124+
125+
def _make_pinning(
126+
self, fixed_pinning: Dict[str, Union[Passive, HasPassivePort]], remapping: Dict[str, str]
127+
) -> Dict[str, Union[Passive, HasPassivePort]]:
128+
"""Creates the footprint pinning dict for the wrapped footprint, given the fixed pinning and
129+
remapping from pin name to this footprint's pin number.
130+
This generates pinning for all BaseIoController IOs.
131+
As a side effect, this assigns self.actual_pin_assigns.
132+
133+
This wraps the above helpers, this should be used in most cases.
134+
"""
135+
remapped_pin_assigns = self._remap_pin_assigns_list(remapping, self.get(self.pin_assigns))
136+
pin_dict = self._generator_pin_dict()
137+
fixed_pinning.update(self._remap_to_footprint_pinning(remapped_pin_assigns, pin_dict))
138+
self.assign(self.actual_pin_assigns, self._remap_assigns_to_value(remapped_pin_assigns))
139+
return fixed_pinning

edg/parts/microcontroller/Rp2040.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -415,20 +415,17 @@ def __init__(self, **kwargs: Any) -> None:
415415
def generate(self) -> None:
416416
super().generate()
417417

418-
pinning: Dict[str, Union[Passive, HasPassivePort]] = {
419-
"12": self.v3v3,
420-
"13": self.gnd,
421-
"14": self.vcc, # VUsb
422-
}
423-
remapped_pin_assigns = self._remap_pin_assigns_list(self._PIN_REMAPPING, self.get(self.pin_assigns))
424-
pin_dict = self._generator_pin_dict()
425-
pinning.update(self._remap_to_footprint_pinning(remapped_pin_assigns, pin_dict))
426-
self.assign(self.actual_pin_assigns, self._remap_assigns_to_value(remapped_pin_assigns))
427-
428418
self.footprint(
429419
"U",
430420
"Seeed Studio XIAO Series Library:XIAO-RP2040-SMD",
431-
pinning,
421+
self._make_pinning(
422+
{
423+
"12": self.v3v3,
424+
"13": self.gnd,
425+
"14": self.vcc, # VUsb
426+
},
427+
self._PIN_REMAPPING,
428+
),
432429
mfr="",
433430
part="XIAO RP2040",
434431
datasheet="https://www.seeedstudio.com/XIAO-RP2040-v1-0-p-5026.html",

edg/parts/microcontroller/nRF52840.py

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -478,23 +478,20 @@ def __init__(self, **kwargs: Any) -> None:
478478
def generate(self) -> None:
479479
super().generate()
480480

481-
pinning: Dict[str, HasPassivePort] = {
482-
"14": self.vdd_nrf,
483-
"1": self.gnd,
484-
"25": self.gnd,
485-
"37": self.gnd,
486-
"22": self.vbus,
487-
"21": self.p0_18,
488-
}
489-
remapped_pin_assigns = self._remap_pin_assigns_list(self._PIN_REMAPPING, self.get(self.pin_assigns))
490-
pin_dict = self._generator_pin_dict()
491-
pinning.update(self._remap_to_footprint_pinning(remapped_pin_assigns, pin_dict))
492-
self.assign(self.actual_pin_assigns, self._remap_assigns_to_value(remapped_pin_assigns))
493-
494481
self.footprint(
495482
"U",
496483
"edg:Holyiot-18010-NRF52840",
497-
pinning,
484+
self._make_pinning(
485+
{
486+
"14": self.vdd_nrf,
487+
"1": self.gnd,
488+
"25": self.gnd,
489+
"37": self.gnd,
490+
"22": self.vbus,
491+
"21": self.p0_18,
492+
},
493+
self._PIN_REMAPPING,
494+
),
498495
mfr="Holyiot",
499496
part="18010",
500497
datasheet="http://www.holyiot.com/tp/2019042516322180424.pdf",
@@ -645,23 +642,20 @@ def __init__(self, **kwargs: Any) -> None:
645642
def generate(self) -> None:
646643
super().generate()
647644

648-
pinning: Dict[str, Union[HasPassivePort, Passive]] = {
649-
"2": self.pwr,
650-
"4": self.gnd,
651-
# "1": reset,
652-
"26": self.vusb,
653-
# 'EN': '27', # controls the onboard 3.3 LDO, internally pulled up
654-
# 'Vbat': '28',
655-
}
656-
remapped_pin_assigns = self._remap_pin_assigns_list(self._PIN_REMAPPING, self.get(self.pin_assigns))
657-
pin_dict = self._generator_pin_dict()
658-
pinning.update(self._remap_to_footprint_pinning(remapped_pin_assigns, pin_dict))
659-
self.assign(self.actual_pin_assigns, self._remap_assigns_to_value(remapped_pin_assigns))
660-
661645
self.footprint(
662646
"U",
663647
"bldc:FEATHERWING_NODIM",
664-
pinning,
648+
self._make_pinning(
649+
{
650+
"2": self.pwr,
651+
"4": self.gnd,
652+
# "1": reset,
653+
"26": self.vusb,
654+
# 'EN': '27', # controls the onboard 3.3 LDO, internally pulled up
655+
# 'Vbat': '28',
656+
},
657+
self._PIN_REMAPPING,
658+
),
665659
mfr="Adafruit",
666660
part="Feather nRF52840 Express",
667661
datasheet="https://learn.adafruit.com/assets/68545",

0 commit comments

Comments
 (0)