Skip to content

Commit 8e58392

Browse files
authored
Add: FPC 0.5mm pitch top and bottom connector JLC parts numbers (#378)
This should cover most of the popular P0.5 fpc sizes. FCC and FCA are just different packages.
1 parent b91e359 commit 8e58392

File tree

1 file changed

+59
-15
lines changed

1 file changed

+59
-15
lines changed

edg/parts/PassiveConnector_Fpc.py

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,42 +54,86 @@ def part_footprint_mfr_name(self, length: int) -> Tuple[str, str, str]:
5454
class Afc01(Fpc050Bottom, FootprintPassiveConnector, JlcPart):
5555
"""Jushuo AFC01 series bottom-contact 0.5mm-pitch FPC connectors, with partial JLC numbers for some parts
5656
and re-using the probably-compatible but not-purpose-designed FH12 footprint."""
57-
_afc01_pins = set(range(4, 60+1)) # as listed by the part table
57+
_afc01_pins = set(range(4, 60 + 1)) # as listed by the part table
5858
allowed_pins = _afc01_pins.intersection(HiroseFh12sh._kicad_pins)
5959
PART_NUMBERS = { # partial list of the ones currently used
60-
8: 'C262657',
61-
15: 'C262664',
62-
24: 'C262669',
63-
30: 'C262671',
64-
40: 'C262674',
65-
50: 'C262676',
60+
# including -FCC (tube) and -FCA (T&R) suffix
61+
4: 'C262260', # FCC
62+
5: 'C262654', # FCA
63+
6: 'C262262', # FCC
64+
7: 'C262263', # FCC
65+
8: 'C262657', # also C262264 for -FCC
66+
9: 'C262265', # FCC
67+
10: 'C262266', # FCC
68+
12: 'C262268', # FCC
69+
13: 'C262269', # FCC
70+
14: 'C577443', # FCC
71+
15: 'C262664', # also C262271 for -FCC
72+
16: 'C262272', # FCC
73+
18: 'C262273', # FCC
74+
20: 'C262274', # FCC
75+
22: 'C262275', # FCC
76+
24: 'C262669', # also C262276 for -FCC
77+
26: 'C262277', # FCC
78+
28: 'C262278', # FCC
79+
30: 'C262671', # also C262279 for -FCC
80+
32: 'C262280', # FCC
81+
36: 'C262673', # FCA
82+
40: 'C262674', # also C262282 for FCC
83+
45: 'C13507', # FCC
84+
50: 'C262676', # also C262284 for FCC
85+
54: 'C262677', # FCA
86+
60: 'C2918970' # FCC
6687
}
88+
6789
def part_footprint_mfr_name(self, length: int) -> Tuple[str, str, str]:
6890
# TODO this isn't the intended hook and uses side effects, but it works for now
6991
self.assign(self.lcsc_part, self.PART_NUMBERS[length])
7092
self.assign(self.actual_basic_part, False)
7193
return (f'Connector_FFC-FPC:Hirose_FH12-{length}S-0.5SH_1x{length:02d}-1MP_P0.50mm_Horizontal',
72-
"Jushuo", f"AFC01-S{length:02d}FCA-00") # CA is T&R packaging
94+
"Jushuo", f"AFC01-S{length:02d}FC*-00") # CA is T&R packaging
7395

7496

7597
class Afc07Top(Fpc050Top, FootprintPassiveConnector, JlcPart):
7698
"""Jushuo AFC07 series slide-lock top-contact 0.5mm-pitch FPC connectors, with partial JLC numbers for some parts
7799
and re-using the probably-compatible but not-purpose-designed FH12 footprint."""
78-
_afc07_pins = set(range(4, 60+1)) # as listed by the part table
100+
_afc07_pins = set(range(4, 60 + 1)) # as listed by the part table
79101
allowed_pins = _afc07_pins.intersection(HiroseFh12sh._kicad_pins)
80102
PART_NUMBERS = { # partial list of the ones currently used
81-
8: 'C262581',
82-
24: 'C262643',
83-
30: 'C262645',
84-
40: 'C262648',
85-
50: 'C262650',
103+
# including -ECC (tube) and -ECA (T&R) suffix
104+
4: 'C2764271', # ECA
105+
5: 'C262230', # also C262578 for -ECA
106+
6: 'C413943', # ECC
107+
7: 'C262232', # ECC
108+
8: 'C262581', # also C11084 for -ECC
109+
10: 'C262583', # ECA
110+
12: 'C11086', # ECC
111+
13: 'C262238', # ECC
112+
14: 'C11087', # also C262587 for -ECA
113+
15: 'C262240', # also C262588 for -ECA
114+
16: 'C11088', # ECC
115+
18: 'C11089', # also C2840708 for -ECC
116+
20: 'C262641', # ECA
117+
22: 'C262642', # also C11091 for -ECC
118+
24: 'C262643', # also C11092 for -ECC
119+
26: 'C262644', # also C11094 for -ECC
120+
28: 'C2886796', # ECA
121+
30: 'C262645', # also C262645 for -ECA
122+
32: 'C11096', # ECC
123+
34: 'C262252', # ECC
124+
36: 'C262254', # ECC
125+
40: 'C262648', # also C11097 for -ECC
126+
45: 'C262256', # ECC
127+
50: 'C262650', # also C11098 for -ECC
128+
54: 'C262258', # also C2691600 for -ECC
129+
60: 'C262652' # ECA
86130
}
87131
def part_footprint_mfr_name(self, length: int) -> Tuple[str, str, str]:
88132
# TODO this isn't the intended hook and uses side effects, but it works for now
89133
self.assign(self.lcsc_part, self.PART_NUMBERS[length])
90134
self.assign(self.actual_basic_part, False)
91135
return (f'Connector_FFC-FPC:Hirose_FH12-{length}S-0.5SH_1x{length:02d}-1MP_P0.50mm_Horizontal',
92-
"Jushuo", f"AFC07-S{length:02d}ECA-00") # CA is packaging
136+
"Jushuo", f"AFC07-S{length:02d}EC*-00") # CA is packaging
93137

94138

95139
class Te1734839(Fpc050Top, FootprintPassiveConnector):

0 commit comments

Comments
 (0)