11from ..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'
0 commit comments