Skip to content

Commit 9cb5d39

Browse files
committed
swap pin for ssrs
1 parent b827752 commit 9cb5d39

File tree

2 files changed

+25
-11
lines changed

2 files changed

+25
-11
lines changed

edg/parts/SolidStateRelay_Toshiba.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
from ..abstract_parts import *
22

33

4-
class Tlp3545a(SolidStateRelay, FootprintBlock):
5-
def contents(self):
6-
super().contents()
4+
class Tlp3545a(SolidStateRelay, FootprintBlock, GeneratorBlock):
5+
@init_in_parent
6+
def __init__(self, *args, swap: BoolLike = False, **kwargs):
7+
super().__init__(*args, **kwargs)
8+
self.swap = self.ArgParameter(swap)
9+
self.generator_param(self.swap)
10+
11+
def generate(self):
12+
super().generate()
713
self.assign(self.led_forward_voltage, (1.50, 1.80)*Volt)
814
self.assign(self.led_current_limit, (5, 30)*mAmp)
915
self.assign(self.led_current_recommendation, (5, 25)*mAmp) # typ=10mA
@@ -17,18 +23,24 @@ def contents(self):
1723
'1': self.leda,
1824
'2': self.ledk,
1925
# '3': nc,
20-
'4': self.feta, # 'A' connection
26+
'4': self.feta if not self.get(self.swap) else self.fetb, # 'A' connection
2127
# '5': source - common
22-
'6': self.fetb,
28+
'6': self.fetb if not self.get(self.swap) else self.feta,
2329
},
2430
mfr='Toshiba', part='TLP3545A(TP1,F',
2531
datasheet='https://toshiba.semicon-storage.com/info/docget.jsp?did=60318&prodName=TLP3545A'
2632
)
2733

2834

29-
class Tlp170am(SolidStateRelay, FootprintBlock):
30-
def contents(self):
31-
super().contents()
35+
class Tlp170am(SolidStateRelay, FootprintBlock, GeneratorBlock):
36+
@init_in_parent
37+
def __init__(self, *args, swap: BoolLike = False, **kwargs):
38+
super().__init__(*args, **kwargs)
39+
self.swap = self.ArgParameter(swap)
40+
self.generator_param(self.swap)
41+
42+
def generate(self):
43+
super().generate()
3244
self.assign(self.led_forward_voltage, (1.1, 1.4)*Volt) # 1.27 nominal
3345
self.assign(self.led_current_limit, (2, 30)*mAmp)
3446
self.assign(self.led_current_recommendation, (2, 25)*mAmp) # typ=2mA
@@ -41,8 +53,8 @@ def contents(self):
4153
{
4254
'1': self.leda,
4355
'2': self.ledk,
44-
'3': self.feta,
45-
'4': self.fetb,
56+
'3': self.feta if not self.get(self.swap) else self.fetb,
57+
'4': self.fetb if not self.get(self.swap) else self.feta,
4658
},
4759
mfr='Toshiba', part='TLP170AM(TPL,E',
4860
datasheet='https://toshiba.semicon-storage.com/info/TLP170AM_datasheet_en_20210524.pdf?did=69016&prodName=TLP170AM'

examples/test_usb_source_measure.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -948,14 +948,16 @@ def refinements(self) -> Refinements:
948948

949949
(['oled', 'iref_res', 'require_basic_part'], False),
950950

951+
(['control', 'isense', 'ranges[0]', 'pwr_sw', 'ic', 'swap'], True), # better pinning
951952
# reduce maximum SSR drive current to be within the IO expander limit
952953
(['control', 'isense', 'ranges[0]', 'pwr_sw', 'ic', 'led_current_recommendation'], Range(0.002, 0.010)),
953954
(['control', 'isense', 'ranges[1]', 'pwr_sw', 'ic', 'led_current_recommendation'], Range(0.002, 0.010)),
954955
(['control', 'isense', 'ranges[2]', 'pwr_sw', 'ic', 'led_current_recommendation'], Range(0.002, 0.010)),
955956
(['vusb_sense', 'Rs', 'res', 'res', 'require_basic_part'], False),
956957
(['convin_sense', 'Rs', 'res', 'res', 'require_basic_part'], False),
957958

958-
(['spk_drv', 'pwr', 'current_draw'], Range(6.0e-7, 0.25)), # assume speakers will be pretty mild
959+
(['spk_drv', 'pwr', 'current_draw'], Range(6.0e-7, 0.25)),
960+
# assume speakers will be pretty mild
959961
],
960962
class_values=[
961963
# (CompactKeystone5015, ['lcsc_part'], 'C5199798'), # RH-5015 is out of stock

0 commit comments

Comments
 (0)