Generate some footprints

This commit is contained in:
Kelvin Ly 2019-12-01 00:21:06 -05:00
parent 458bfbaeb1
commit e65a76d408
12 changed files with 76187 additions and 77 deletions

BIN
21-0140.PDF Normal file

Binary file not shown.

BIN
90-0023.PDF Normal file

Binary file not shown.

View File

@ -19,8 +19,9 @@ U 1 1 5DCA154B
P 2200 1600
F 0 "C1" H 2210 1670 50 0000 L CNN
F 1 "470 uF 63V" H 2210 1520 50 0000 L CNN
F 2 "" H 2200 1600 50 0001 C CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 2200 1600 50 0001 C CNN
F 3 "~" H 2200 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 2200 1600 50 0001 C CNN "Mouser"
1 2200 1600
1 0 0 -1
$EndComp
@ -30,8 +31,9 @@ U 1 1 5DCAD005
P 1200 1300
F 0 "J1" H 1200 1400 50 0000 C CNN
F 1 "Conn_01x02" H 1200 1100 50 0000 C CNN
F 2 "" H 1200 1300 50 0001 C CNN
F 2 "bldc-parts:Battery_Connector" H 1200 1300 50 0001 C CNN
F 3 "~" H 1200 1300 50 0001 C CNN
F 4 "NoPart" H 1200 1300 50 0001 C CNN "Mouser"
1 1200 1300
-1 0 0 -1
$EndComp
@ -41,8 +43,9 @@ U 1 1 5DCAFA7B
P 2700 1600
F 0 "C2" H 2710 1670 50 0000 L CNN
F 1 "470 uF 63V" H 2710 1520 50 0000 L CNN
F 2 "" H 2700 1600 50 0001 C CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 2700 1600 50 0001 C CNN
F 3 "~" H 2700 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 2700 1600 50 0001 C CNN "Mouser"
1 2700 1600
1 0 0 -1
$EndComp
@ -52,8 +55,9 @@ U 1 1 5DCAFF60
P 3200 1600
F 0 "C3" H 3210 1670 50 0000 L CNN
F 1 "470 uF 63V" H 3210 1520 50 0000 L CNN
F 2 "" H 3200 1600 50 0001 C CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 3200 1600 50 0001 C CNN
F 3 "~" H 3200 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 3200 1600 50 0001 C CNN "Mouser"
1 3200 1600
1 0 0 -1
$EndComp
@ -63,8 +67,9 @@ U 1 1 5DCD5043
P 10250 2650
F 0 "U4" H 9850 1300 50 0000 L CNN
F 1 "DRV8353RSRGZ" H 10650 4000 50 0000 R CNN
F 2 "" H 10250 2650 50 0001 L CNN
F 2 "bldc-parts:TI_RGZ-48" H 10250 2650 50 0001 L CNN
F 3 "" H 10250 2650 50 0001 L CNN
F 4 "595-DRV8353RSRGZR" H 10250 2650 50 0001 C CNN "Mouser"
1 10250 2650
1 0 0 -1
$EndComp
@ -497,8 +502,9 @@ U 1 1 5DD5022D
P 11700 1550
F 0 "R34" H 11730 1570 50 0000 L CNN
F 1 "100kR" H 11730 1510 50 0000 L CNN
F 2 "" H 11700 1550 50 0001 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 11700 1550 50 0001 C CNN
F 3 "~" H 11700 1550 50 0001 C CNN
F 4 "603-AC0402FR-13100KL" H 11700 1550 50 0001 C CNN "Mouser"
1 11700 1550
0 -1 -1 0
$EndComp
@ -508,8 +514,9 @@ U 1 1 5DD50553
P 11450 1650
F 0 "R29" H 11480 1670 50 0000 L CNN
F 1 "100kR" H 11480 1610 50 0000 L CNN
F 2 "" H 11450 1650 50 0001 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 11450 1650 50 0001 C CNN
F 3 "~" H 11450 1650 50 0001 C CNN
F 4 "603-AC0402FR-13100KL" H 11450 1650 50 0001 C CNN "Mouser"
1 11450 1650
0 -1 -1 0
$EndComp
@ -833,9 +840,9 @@ U 1 1 5DE3B5EA
P 2000 3800
F 0 "R3" V 1825 3800 50 0000 C CNN
F 1 "2.0mR 5W" V 1900 3800 50 0000 C CNN
F 2 "" V 1930 3800 50 0001 C CNN
F 2 "bldc-parts:TT_OARS-XP-4Terminal" V 1930 3800 50 0001 C CNN
F 3 "~" H 2000 3800 50 0001 C CNN
F 4 " 652-CSS2H5930K2L00F " V 2000 3800 50 0001 C CNN "Mouser"
F 4 "66-OARSXPR002FLF" V 2000 3800 50 0001 C CNN "Mouser"
1 2000 3800
-1 0 0 -1
$EndComp
@ -1090,8 +1097,6 @@ Wire Wire Line
5450 1700 5550 1700
Wire Wire Line
5450 1600 5550 1600
Text Notes 1950 1150 0 50 ~ 0
TODO figure out DC link capacitance amount
Text Notes 12350 3450 0 50 ~ 0
FB = 2.5V
Text Label 5500 2700 2 50 ~ 0
@ -1448,6 +1453,7 @@ F 0 "U3" H 7400 7800 60 0000 C CNN
F 1 "ICE40UP5K-SG48" H 7400 7950 60 0000 C CNN
F 2 "" H 7400 7800 60 0001 C CNN
F 3 "" H 7400 7800 60 0001 C CNN
F 4 "842-ICE40UP5K-SG48I" H 7400 7800 50 0001 C CNN "Mouser"
1 7400 7800
1 0 0 -1
$EndComp
@ -3140,8 +3146,9 @@ U 1 1 6264C16A
P 15400 6650
F 0 "J3" H 15400 7050 50 0000 C CNN
F 1 "Conn_01x08" H 15400 6150 50 0000 C CNN
F 2 "" H 15400 6650 50 0001 C CNN
F 2 "Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical" H 15400 6650 50 0001 C CNN
F 3 "~" H 15400 6650 50 0001 C CNN
F 4 "NoPart" H 15400 6650 50 0001 C CNN "Mouser"
1 15400 6650
1 0 0 -1
$EndComp
@ -3637,7 +3644,7 @@ U 1 1 5DE86A1D
P 2000 3250
F 0 "Q2" H 1750 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 2400 3250 50 0000 C CNN
F 2 "" H 2000 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 2000 3250 50 0001 C CNN
F 3 "" H 2000 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 2000 3250 50 0001 C CNN "Mouser"
1 2000 3250
@ -3649,7 +3656,7 @@ U 1 1 5DE87C22
P 3200 2700
F 0 "Q3" H 2950 2850 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 3600 2700 50 0000 C CNN
F 2 "" H 3200 2700 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 3200 2700 50 0001 C CNN
F 3 "" H 3200 2700 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 3200 2700 50 0001 C CNN "Mouser"
1 3200 2700
@ -3661,7 +3668,7 @@ U 1 1 5DE892AF
P 3200 3250
F 0 "Q4" H 2950 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 3600 3250 50 0000 C CNN
F 2 "" H 3200 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 3200 3250 50 0001 C CNN
F 3 "" H 3200 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 3200 3250 50 0001 C CNN "Mouser"
1 3200 3250
@ -3673,7 +3680,7 @@ U 1 1 5DE89DC8
P 4400 2700
F 0 "Q5" H 4150 2850 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 4800 2700 50 0000 C CNN
F 2 "" H 4400 2700 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 4400 2700 50 0001 C CNN
F 3 "" H 4400 2700 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 4400 2700 50 0001 C CNN "Mouser"
1 4400 2700
@ -3685,7 +3692,7 @@ U 1 1 5DE8AE13
P 4400 3250
F 0 "Q6" H 4150 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 4800 3250 50 0000 C CNN
F 2 "" H 4400 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 4400 3250 50 0001 C CNN
F 3 "" H 4400 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 4400 3250 50 0001 C CNN "Mouser"
1 4400 3250
@ -3902,8 +3909,6 @@ Wire Wire Line
Connection ~ 1800 5250
Wire Wire Line
1800 5250 2100 5250
Text Notes 2350 4000 0 50 ~ 0
TODO footprint shunt resistor
Connection ~ 2700 1300
Wire Wire Line
2200 1300 2700 1300
@ -3912,4 +3917,6 @@ Wire Wire Line
Connection ~ 3200 1300
Wire Wire Line
3200 1300 4400 1300
Text Label 2000 3550 2 50 ~ 0
VDRAIN
$EndSCHEMATC

View File

@ -19,8 +19,9 @@ U 1 1 5DCA154B
P 2200 1600
F 0 "C1" H 2210 1670 50 0000 L CNN
F 1 "470 uF 63V" H 2210 1520 50 0000 L CNN
F 2 "" H 2200 1600 50 0001 C CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 2200 1600 50 0001 C CNN
F 3 "~" H 2200 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 2200 1600 50 0001 C CNN "Mouser"
1 2200 1600
1 0 0 -1
$EndComp
@ -30,31 +31,34 @@ U 1 1 5DCAD005
P 1200 1300
F 0 "J1" H 1200 1400 50 0000 C CNN
F 1 "Conn_01x02" H 1200 1100 50 0000 C CNN
F 2 "" H 1200 1300 50 0001 C CNN
F 2 "bldc-parts:Battery_Connector" H 1200 1300 50 0001 C CNN
F 3 "~" H 1200 1300 50 0001 C CNN
F 4 "NoPart" H 1200 1300 50 0001 C CNN "Mouser"
1 1200 1300
-1 0 0 -1
$EndComp
$Comp
L Device:C_Small C2
U 1 1 5DCAFA7B
P 2600 1600
F 0 "C2" H 2610 1670 50 0000 L CNN
F 1 "470 uF 63V" H 2610 1520 50 0000 L CNN
F 2 "" H 2600 1600 50 0001 C CNN
F 3 "~" H 2600 1600 50 0001 C CNN
1 2600 1600
P 2700 1600
F 0 "C2" H 2710 1670 50 0000 L CNN
F 1 "470 uF 63V" H 2710 1520 50 0000 L CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 2700 1600 50 0001 C CNN
F 3 "~" H 2700 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 2700 1600 50 0001 C CNN "Mouser"
1 2700 1600
1 0 0 -1
$EndComp
$Comp
L Device:C_Small C3
U 1 1 5DCAFF60
P 3000 1600
F 0 "C3" H 3010 1670 50 0000 L CNN
F 1 "470 uF 63V" H 3010 1520 50 0000 L CNN
F 2 "" H 3000 1600 50 0001 C CNN
F 3 "~" H 3000 1600 50 0001 C CNN
1 3000 1600
P 3200 1600
F 0 "C3" H 3210 1670 50 0000 L CNN
F 1 "470 uF 63V" H 3210 1520 50 0000 L CNN
F 2 "Capacitor_THT:CP_Radial_D12.5mm_P5.00mm" H 3200 1600 50 0001 C CNN
F 3 "~" H 3200 1600 50 0001 C CNN
F 4 "647-UVZ1J471MHD" H 3200 1600 50 0001 C CNN "Mouser"
1 3200 1600
1 0 0 -1
$EndComp
$Comp
@ -65,6 +69,7 @@ F 0 "U4" H 9850 1300 50 0000 L CNN
F 1 "DRV8353RSRGZ" H 10650 4000 50 0000 R CNN
F 2 "" H 10250 2650 50 0001 L CNN
F 3 "" H 10250 2650 50 0001 L CNN
F 4 "595-DRV8353RSRGZR" H 10250 2650 50 0001 C CNN "Mouser"
1 10250 2650
1 0 0 -1
$EndComp
@ -497,8 +502,9 @@ U 1 1 5DD5022D
P 11700 1550
F 0 "R34" H 11730 1570 50 0000 L CNN
F 1 "100kR" H 11730 1510 50 0000 L CNN
F 2 "" H 11700 1550 50 0001 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 11700 1550 50 0001 C CNN
F 3 "~" H 11700 1550 50 0001 C CNN
F 4 "603-AC0402FR-13100KL" H 11700 1550 50 0001 C CNN "Mouser"
1 11700 1550
0 -1 -1 0
$EndComp
@ -508,8 +514,9 @@ U 1 1 5DD50553
P 11450 1650
F 0 "R29" H 11480 1670 50 0000 L CNN
F 1 "100kR" H 11480 1610 50 0000 L CNN
F 2 "" H 11450 1650 50 0001 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 11450 1650 50 0001 C CNN
F 3 "~" H 11450 1650 50 0001 C CNN
F 4 "603-AC0402FR-13100KL" H 11450 1650 50 0001 C CNN "Mouser"
1 11450 1650
0 -1 -1 0
$EndComp
@ -833,9 +840,9 @@ U 1 1 5DE3B5EA
P 2000 3800
F 0 "R3" V 1825 3800 50 0000 C CNN
F 1 "2.0mR 5W" V 1900 3800 50 0000 C CNN
F 2 "" V 1930 3800 50 0001 C CNN
F 2 "bldc-parts:TT_OARS-XP-4Terminal" V 1930 3800 50 0001 C CNN
F 3 "~" H 2000 3800 50 0001 C CNN
F 4 " 652-CSS2H5930K2L00F " V 2000 3800 50 0001 C CNN "Mouser"
F 4 "66-OARSXPR002FLF" V 2000 3800 50 0001 C CNN "Mouser"
1 2000 3800
-1 0 0 -1
$EndComp
@ -924,44 +931,36 @@ Wire Wire Line
Wire Wire Line
2200 1500 2200 1300
Connection ~ 2200 1300
Wire Wire Line
2200 1300 2600 1300
$Comp
L power:GND #PWR0122
U 1 1 5DF7580E
P 2600 1800
F 0 "#PWR0122" H 2600 1550 50 0001 C CNN
F 1 "GND" H 2600 1650 50 0000 C CNN
F 2 "" H 2600 1800 50 0001 C CNN
F 3 "" H 2600 1800 50 0001 C CNN
1 2600 1800
P 2700 1800
F 0 "#PWR0122" H 2700 1550 50 0001 C CNN
F 1 "GND" H 2700 1650 50 0000 C CNN
F 2 "" H 2700 1800 50 0001 C CNN
F 3 "" H 2700 1800 50 0001 C CNN
1 2700 1800
1 0 0 -1
$EndComp
$Comp
L power:GND #PWR0123
U 1 1 5DF75E04
P 3000 1800
F 0 "#PWR0123" H 3000 1550 50 0001 C CNN
F 1 "GND" H 3000 1650 50 0000 C CNN
F 2 "" H 3000 1800 50 0001 C CNN
F 3 "" H 3000 1800 50 0001 C CNN
1 3000 1800
P 3200 1800
F 0 "#PWR0123" H 3200 1550 50 0001 C CNN
F 1 "GND" H 3200 1650 50 0000 C CNN
F 2 "" H 3200 1800 50 0001 C CNN
F 3 "" H 3200 1800 50 0001 C CNN
1 3200 1800
1 0 0 -1
$EndComp
Wire Wire Line
3000 1800 3000 1700
3200 1800 3200 1700
Wire Wire Line
3000 1500 3000 1300
Connection ~ 3000 1300
3200 1500 3200 1300
Wire Wire Line
3000 1300 4400 1300
2700 1500 2700 1300
Wire Wire Line
2600 1500 2600 1300
Connection ~ 2600 1300
Wire Wire Line
2600 1300 3000 1300
Wire Wire Line
2600 1700 2600 1800
2700 1700 2700 1800
$Comp
L Device:C_Small C50
U 1 1 5DF94C9F
@ -1098,8 +1097,6 @@ Wire Wire Line
5450 1700 5550 1700
Wire Wire Line
5450 1600 5550 1600
Text Notes 1950 1150 0 50 ~ 0
TODO figure out DC link capacitance amount
Text Notes 12350 3450 0 50 ~ 0
FB = 2.5V
Text Label 5500 2700 2 50 ~ 0
@ -1456,6 +1453,7 @@ F 0 "U3" H 7400 7800 60 0000 C CNN
F 1 "ICE40UP5K-SG48" H 7400 7950 60 0000 C CNN
F 2 "" H 7400 7800 60 0001 C CNN
F 3 "" H 7400 7800 60 0001 C CNN
F 4 "842-ICE40UP5K-SG48I" H 7400 7800 50 0001 C CNN "Mouser"
1 7400 7800
1 0 0 -1
$EndComp
@ -3148,8 +3146,9 @@ U 1 1 6264C16A
P 15400 6650
F 0 "J3" H 15400 7050 50 0000 C CNN
F 1 "Conn_01x08" H 15400 6150 50 0000 C CNN
F 2 "" H 15400 6650 50 0001 C CNN
F 2 "Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical" H 15400 6650 50 0001 C CNN
F 3 "~" H 15400 6650 50 0001 C CNN
F 4 "NoPart" H 15400 6650 50 0001 C CNN "Mouser"
1 15400 6650
1 0 0 -1
$EndComp
@ -3645,7 +3644,7 @@ U 1 1 5DE86A1D
P 2000 3250
F 0 "Q2" H 1750 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 2400 3250 50 0000 C CNN
F 2 "" H 2000 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 2000 3250 50 0001 C CNN
F 3 "" H 2000 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 2000 3250 50 0001 C CNN "Mouser"
1 2000 3250
@ -3657,7 +3656,7 @@ U 1 1 5DE87C22
P 3200 2700
F 0 "Q3" H 2950 2850 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 3600 2700 50 0000 C CNN
F 2 "" H 3200 2700 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 3200 2700 50 0001 C CNN
F 3 "" H 3200 2700 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 3200 2700 50 0001 C CNN "Mouser"
1 3200 2700
@ -3669,7 +3668,7 @@ U 1 1 5DE892AF
P 3200 3250
F 0 "Q4" H 2950 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 3600 3250 50 0000 C CNN
F 2 "" H 3200 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 3200 3250 50 0001 C CNN
F 3 "" H 3200 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 3200 3250 50 0001 C CNN "Mouser"
1 3200 3250
@ -3681,7 +3680,7 @@ U 1 1 5DE89DC8
P 4400 2700
F 0 "Q5" H 4150 2850 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 4800 2700 50 0000 C CNN
F 2 "" H 4400 2700 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 4400 2700 50 0001 C CNN
F 3 "" H 4400 2700 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 4400 2700 50 0001 C CNN "Mouser"
1 4400 2700
@ -3693,7 +3692,7 @@ U 1 1 5DE8AE13
P 4400 3250
F 0 "Q6" H 4150 3400 50 0000 C CNN
F 1 "IPC90N04S5L3R3ATMA1" V 4800 3250 50 0000 C CNN
F 2 "" H 4400 3250 50 0001 C CNN
F 2 "bldc-parts:Infineon_PG-TDSON-8-33" H 4400 3250 50 0001 C CNN
F 3 "" H 4400 3250 50 0001 C CNN
F 4 "726-IPC90N04S5L3R3AT" H 4400 3250 50 0001 C CNN "Mouser"
1 4400 3250
@ -3910,6 +3909,14 @@ Wire Wire Line
Connection ~ 1800 5250
Wire Wire Line
1800 5250 2100 5250
Text Notes 2350 4000 0 50 ~ 0
TODO footprint shunt resistor
Connection ~ 2700 1300
Wire Wire Line
2200 1300 2700 1300
Wire Wire Line
2700 1300 3200 1300
Connection ~ 3200 1300
Wire Wire Line
3200 1300 4400 1300
Text Label 2000 3550 2 50 ~ 0
VDRAIN
$EndSCHEMATC

View File

@ -0,0 +1,12 @@
(module Battery_Connector (layer F.Cu) (tedit 5DE32807)
(fp_text reference REF** (at 2 0 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Battery_Connector (at 0 -0.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 1 -2.1) (end 1 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 0.8 -1.9) (end 1.2 -1.9) (layer F.SilkS) (width 0.12))
(pad 1 smd rect (at 0 -1) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 0 1) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
)

View File

@ -1,17 +1,17 @@
(module Infineon_PG-TDSON-8-33 (layer F.Cu) (tedit 5DE134AD)
(module Infineon_PG-TDSON-8-33 (layer F.Cu) (tedit 5DE34633)
(fp_text reference REF** (at 0 0.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Infineon_PG-TDSON-8-33 (at 0 -0.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 -1.7) (end -1.7 -1.3) (layer F.SilkS) (width 0.12))
(fp_line (start -1.7 -1.3) (end -1.7 1.7) (layer F.SilkS) (width 0.12))
(fp_line (start -1.7 1.7) (end -1.3 1.7) (layer F.SilkS) (width 0.12))
(fp_line (start -1.3 1.7) (end -1.7 1.3) (layer F.SilkS) (width 0.12))
(fp_line (start -1.7 1.3) (end -1.7 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start -1.7 -1.7) (end -1.3 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 1.3 1.7) (end 1.7 1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 1.7 1.7) (end 1.7 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 1.7 -1.7) (end 1.3 -1.7) (layer F.SilkS) (width 0.12))
(fp_circle (center -1.7 -1.7) (end -1.8 -1.6) (layer F.SilkS) (width 0.12))
(fp_circle (center -1.7 1.7) (end -1.558579 1.7) (layer F.SilkS) (width 0.12))
(fp_line (start -1.9 -1.9) (end -1.9 1.9) (layer F.CrtYd) (width 0.12))
(fp_line (start -1.9 1.9) (end 1.9 1.9) (layer F.CrtYd) (width 0.12))
(fp_line (start 1.9 1.9) (end 1.9 -1.9) (layer F.CrtYd) (width 0.12))
@ -29,6 +29,11 @@
(fp_poly (pts (xy -0.21 -1.25) (xy -0.46 -1.25) (xy -0.48 -1.85) (xy -0.21 -1.85)) (layer F.Paste) (width 0.1))
(fp_poly (pts (xy 0.46 -1.25) (xy 0.2 -1.25) (xy 0.2 -1.85) (xy 0.47 -1.85)) (layer F.Paste) (width 0.1))
(fp_poly (pts (xy 1.1 -1.25) (xy 0.86 -1.25) (xy 0.86 -1.85) (xy 1.1 -1.85)) (layer F.Paste) (width 0.1))
(fp_line (start -1.8 -1.8) (end 1.8 -1.8) (layer F.Fab) (width 0.12))
(fp_line (start 1.8 -1.8) (end 1.8 1.8) (layer F.Fab) (width 0.12))
(fp_line (start 1.8 1.8) (end -1.6 1.8) (layer F.Fab) (width 0.12))
(fp_line (start -1.8 1.6) (end -1.8 -1.8) (layer F.Fab) (width 0.12))
(fp_line (start -1.6 1.8) (end -1.8 1.6) (layer F.Fab) (width 0.12))
(pad 6 smd rect (at 0.325 -1.58) (size 0.34 0.65) (layers F.Cu F.Mask))
(pad 3 smd rect (at 0.325 1.675) (size 0.34 0.45) (layers F.Cu F.Mask))
(pad 2 smd rect (at -0.325 1.675) (size 0.34 0.45) (layers F.Cu F.Mask))

View File

@ -0,0 +1,95 @@
(module Maxim_TQFN-28 (layer F.Cu) (tedit 5DE34D78)
(fp_text reference REF** (at 0.0 0.0) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0.0 0.0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value %V (at 0 -0.5) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -2.175 2.7000000000000006) (end -2.6999999999999997 2.1750000000000007) (layer F.SilkS) (width 0.15))
(fp_line (start 2.7000000000000006 2.6999999999999997) (end 2.1750000000000007 2.6999999999999997) (layer F.SilkS) (width 0.15))
(fp_line (start 2.7000000000000006 2.175) (end 2.7000000000000006 2.6999999999999997) (layer F.SilkS) (width 0.15))
(fp_line (start 2.6999999999999997 -2.1750000000000007) (end 2.6999999999999997 -2.7000000000000006) (layer F.SilkS) (width 0.15))
(fp_line (start 2.6999999999999997 -2.7000000000000006) (end 2.175 -2.7000000000000006) (layer F.SilkS) (width 0.15))
(fp_line (start -2.1750000000000007 -2.6999999999999997) (end -2.7000000000000006 -2.6999999999999997) (layer F.SilkS) (width 0.15))
(fp_line (start -2.7000000000000006 -2.6999999999999997) (end -2.7000000000000006 -2.175) (layer F.SilkS) (width 0.15))
(fp_circle (center -2.6999999999999997 2.7000000000000006) (end -2.8499999999999996 2.7000000000000006) (layer F.SilkS) (width 0.15))
(fp_line (start -2.5499999999999994 2.2500000000000004) (end -2.2499999999999996 2.5500000000000003) (layer F.Fab) (width 0.15))
(fp_line (start -2.5500000000000003 -2.5499999999999994) (end -2.5499999999999994 2.2500000000000004) (layer F.Fab) (width 0.15))
(fp_line (start 2.5499999999999994 -2.5500000000000003) (end -2.5500000000000003 -2.5499999999999994) (layer F.Fab) (width 0.15))
(fp_line (start 2.5500000000000003 2.5499999999999994) (end 2.5499999999999994 -2.5500000000000003) (layer F.Fab) (width 0.15))
(fp_line (start -2.2499999999999996 2.5500000000000003) (end 2.5500000000000003 2.5499999999999994) (layer F.Fab) (width 0.15))
(fp_line (start -1.7999999999999994 2.8000000000000003) (end -2.7999999999999994 2.8000000000000003) (layer F.CrtYd) (width 0.15))
(fp_line (start -2.7999999999999994 2.8000000000000003) (end -2.8000000000000003 -2.7999999999999994) (layer F.CrtYd) (width 0.15))
(fp_line (start -2.8000000000000003 -2.7999999999999994) (end -1.8000000000000003 -2.7999999999999994) (layer F.CrtYd) (width 0.15))
(fp_line (start -1.8000000000000003 -2.7999999999999994) (end -1.8000000000000003 -2.6399999999999992) (layer F.CrtYd) (width 0.15))
(fp_line (start -1.8000000000000003 -2.6399999999999992) (end 1.7999999999999994 -2.64) (layer F.CrtYd) (width 0.15))
(fp_line (start 1.7999999999999994 -2.64) (end 1.7999999999999994 -2.8000000000000003) (layer F.CrtYd) (width 0.15))
(fp_line (start 1.7999999999999994 -2.8000000000000003) (end 2.7999999999999994 -2.8000000000000003) (layer F.CrtYd) (width 0.15))
(fp_line (start 2.7999999999999994 -2.8000000000000003) (end 2.8000000000000003 2.7999999999999994) (layer F.CrtYd) (width 0.15))
(fp_line (start 2.8000000000000003 2.7999999999999994) (end 1.8000000000000003 2.7999999999999994) (layer F.CrtYd) (width 0.15))
(fp_line (start 1.8000000000000003 2.7999999999999994) (end 1.8000000000000003 2.6399999999999992) (layer F.CrtYd) (width 0.15))
(fp_line (start 1.8000000000000003 2.6399999999999992) (end -1.7999999999999994 2.64) (layer F.CrtYd) (width 0.15))
(fp_line (start -1.7999999999999994 2.64) (end -1.7999999999999994 2.8000000000000003) (layer F.CrtYd) (width 0.15))
(pad 1 smd rect (at -1.4999999999999996 2.3400000000000003) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 2 smd rect (at -0.9999999999999996 2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 3 smd rect (at -0.49999999999999956 2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 4 smd rect (at 4.2985102650072094e-16 2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 5 smd rect (at 0.5000000000000004 2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 6 smd rect (at 1.0000000000000004 2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 7 smd rect (at 1.5000000000000004 2.3399999999999994) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 8 smd rect (at 2.3400000000000003 1.4999999999999996) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 9 smd rect (at 2.34 0.9999999999999996) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 10 smd rect (at 2.34 0.49999999999999956) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 11 smd rect (at 2.34 -4.2985102650072094e-16) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 12 smd rect (at 2.34 -0.5000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 13 smd rect (at 2.34 -1.0000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 14 smd rect (at 2.3399999999999994 -1.5000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 15 smd rect (at 1.4999999999999996 -2.3400000000000003) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 16 smd rect (at 0.9999999999999996 -2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 17 smd rect (at 0.49999999999999956 -2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 18 smd rect (at -4.2985102650072094e-16 -2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 19 smd rect (at -0.5000000000000004 -2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 20 smd rect (at -1.0000000000000004 -2.34) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 21 smd rect (at -1.5000000000000004 -2.3399999999999994) (size 0.3 0.9500000000000002) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 22 smd rect (at -2.3400000000000003 -1.4999999999999996) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 23 smd rect (at -2.34 -0.9999999999999996) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 24 smd rect (at -2.34 -0.49999999999999956) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 25 smd rect (at -2.34 4.2985102650072094e-16) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 26 smd rect (at -2.34 0.5000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 27 smd rect (at -2.34 1.0000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 28 smd rect (at -2.3399999999999994 1.5000000000000004) (size 0.9500000000000002 0.3) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
(pad 0 smd rect (at 0.0 -0.0) (size 3.25 3.25) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin 0.1))
)

View File

@ -0,0 +1,143 @@
(module TI_RGZ-48 (layer F.Cu) (tedit 5DE3454F)
(fp_text reference REF** (at 0 0) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value %V (at 0 -0.5) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -3.7 -3.07) (end -3.07 -3.7) (layer F.SilkS) (width 0.15))
(fp_line (start -3.7 3.7) (end -3.7 3.07) (layer F.SilkS) (width 0.15))
(fp_line (start -3.07 3.7) (end -3.7 3.7) (layer F.SilkS) (width 0.15))
(fp_line (start 3.07 3.7) (end 3.7 3.7) (layer F.SilkS) (width 0.15))
(fp_line (start 3.7 3.7) (end 3.7 3.07) (layer F.SilkS) (width 0.15))
(fp_line (start 3.7 -3.07) (end 3.7 -3.7) (layer F.SilkS) (width 0.15))
(fp_line (start 3.7 -3.7) (end 3.07 -3.7) (layer F.SilkS) (width 0.15))
(fp_circle (center -3.7 -3.7) (end -3.7 -3.85) (layer F.SilkS) (width 0.15))
(fp_line (start -3.25 -3.55) (end -3.55 -3.25) (layer F.Fab) (width 0.15))
(fp_line (start 3.55 -3.55) (end -3.25 -3.55) (layer F.Fab) (width 0.15))
(fp_line (start 3.55 3.55) (end 3.55 -3.55) (layer F.Fab) (width 0.15))
(fp_line (start -3.55 3.55) (end 3.55 3.55) (layer F.Fab) (width 0.15))
(fp_line (start -3.55 -3.25) (end -3.55 3.55) (layer F.Fab) (width 0.15))
(fp_line (start -3.8 -3.02) (end -3.8 -3.8) (layer F.CrtYd) (width 0.15))
(fp_line (start -3.8 -3.8) (end 3.8 -3.8) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.8 -3.8) (end 3.8 -3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.8 -3.02) (end 3.85 -3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.85 -3.02) (end 3.85 3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.85 3.02) (end 3.8 3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.8 3.02) (end 3.8 3.8) (layer F.CrtYd) (width 0.15))
(fp_line (start 3.8 3.8) (end -3.8 3.8) (layer F.CrtYd) (width 0.15))
(fp_line (start -3.8 3.8) (end -3.8 3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start -3.8 3.02) (end -3.85 3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start -3.85 3.02) (end -3.85 -3.02) (layer F.CrtYd) (width 0.15))
(fp_line (start -3.85 -3.02) (end -3.8 -3.02) (layer F.CrtYd) (width 0.15))
(pad 1 smd roundrect (at -3.4 -2.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 2 smd roundrect (at -3.4 -2.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 3 smd roundrect (at -3.4 -1.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 4 smd roundrect (at -3.4 -1.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 5 smd roundrect (at -3.4 -0.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 6 smd roundrect (at -3.4 -0.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 7 smd roundrect (at -3.4 0.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 8 smd roundrect (at -3.4 0.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 9 smd roundrect (at -3.4 1.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 10 smd roundrect (at -3.4 1.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 11 smd roundrect (at -3.4 2.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 12 smd roundrect (at -3.4 2.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 13 smd roundrect (at -2.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 14 smd roundrect (at -2.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 15 smd roundrect (at -1.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 16 smd roundrect (at -1.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 17 smd roundrect (at -0.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 18 smd roundrect (at -0.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 19 smd roundrect (at 0.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 20 smd roundrect (at 0.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 21 smd roundrect (at 1.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 22 smd roundrect (at 1.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 23 smd roundrect (at 2.25 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 24 smd roundrect (at 2.75 3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 25 smd roundrect (at 3.4 2.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 26 smd roundrect (at 3.4 2.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 27 smd roundrect (at 3.4 1.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 28 smd roundrect (at 3.4 1.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 29 smd roundrect (at 3.4 0.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 30 smd roundrect (at 3.4 0.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 31 smd roundrect (at 3.4 -0.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 32 smd roundrect (at 3.4 -0.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 33 smd roundrect (at 3.4 -1.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 34 smd roundrect (at 3.4 -1.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 35 smd roundrect (at 3.4 -2.25) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 36 smd roundrect (at 3.4 -2.75) (size 0.6 0.24) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 37 smd roundrect (at 2.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 38 smd roundrect (at 2.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 39 smd roundrect (at 1.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 40 smd roundrect (at 1.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 41 smd roundrect (at 0.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 42 smd roundrect (at 0.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 43 smd roundrect (at -0.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 44 smd roundrect (at -0.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 45 smd roundrect (at -1.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 46 smd roundrect (at -1.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 47 smd roundrect (at -2.25 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 48 smd roundrect (at -2.75 -3.4) (size 0.24 0.6) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.2083333333333333)
(solder_mask_margin 0.1))
(pad 0 smd roundrect (at 0 0.188) (size 4.6 4.975) (layers F.Cu F.Mask) (roundrect_rratio 0.011)
(solder_mask_margin 0.1))
(pad 0 smd rect (at 0 0.188) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at 1.48 0.188) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at 1.48 1.758) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at 0 1.758) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at 0 -1.382) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at 1.48 -1.382) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at -1.48 0.188) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at -1.48 1.758) (size 1.28 1.37) (layers F.Paste))
(pad 0 smd rect (at -1.48 -1.382) (size 1.28 1.37) (layers F.Paste))
)

View File

@ -0,0 +1,24 @@
(module TT_OARS-XP-4Terminal (layer F.Cu) (tedit 5DE34592)
(fp_text reference REF** (at 0 0.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value TT_OARS-XP-4Terminal (at 0 -0.5) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.4 -1.9) (end 1.4 -1.9) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 1.9) (end 1.4 1.9) (layer F.SilkS) (width 0.12))
(fp_line (start -5.5 -3.8) (end 5.5 -3.8) (layer F.CrtYd) (width 0.12))
(fp_line (start 5.5 -3.8) (end 5.5 3.8) (layer F.CrtYd) (width 0.12))
(fp_line (start 5.5 3.8) (end -5.5 3.8) (layer F.CrtYd) (width 0.12))
(fp_line (start -5.5 3.8) (end -5.5 -3.8) (layer F.CrtYd) (width 0.12))
(fp_line (start -5.4 -3.7) (end 5.4 -3.7) (layer F.Fab) (width 0.12))
(fp_line (start 5.4 -3.7) (end 5.4 3.7) (layer F.Fab) (width 0.12))
(fp_line (start 5.4 3.7) (end -5.4 3.7) (layer F.Fab) (width 0.12))
(fp_line (start -5.4 3.7) (end -5.4 -3.7) (layer F.Fab) (width 0.12))
(pad 2 smd rect (at -3.45 0) (size 3.67 0.51) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at 3.45 0) (size 3.67 0.51) (layers F.Cu F.Paste F.Mask))
(pad 1 smd rect (at -3.45 -2.16) (size 3.67 2.79) (layers F.Cu F.Paste F.Mask))
(pad 1 smd rect (at -3.45 2.16) (size 3.67 2.79) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at 3.45 2.16) (size 3.67 2.79) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at 3.45 -2.16) (size 3.67 2.79) (layers F.Cu F.Paste F.Mask))
)

File diff suppressed because it is too large Load Diff

304
gen_maxim_tqfn28.py Normal file
View File

@ -0,0 +1,304 @@
#!/usr/bin/env python3
# QFN/QFP-style packages with ground plane
# version 0.0.7
# added solder mask parameter
# added optional indicator circle
# added ground pad
# made ground pad optional
# fix silkscreen pin 1 marker
# added rounded pads option
# added reference designator to fab layer
# make fab layer pin drawing optional
# added TI's weird ground pad extensions
# v0.0.5
# added indicator marker to fab layer
# v0.0.6
# removed TI extensions
# converted for use in QFN/QFP packages
# - add pads for QFN/QFP
# - add fab pad drawings for QFN/QFP
# - fix silkscreen
# v0.0.7
# - add ground pad offset
# - add rotation
PARTNAME = "Maxim_TQFN-28"
total_pins = 28
num_per_edge = total_pins // 4
M1 = 0.2 # silkscreen margin
M2 = 0.05 # fab outline margin
M3 = 0.3 # courtyard margin
Z = 4.68 + 0.95 # distance across outer edges of pads
G = 4.68 - 0.95 # distance across inner edges of pads
X = (Z+G)/2. # distance between pad centers
C = 0.5 # footprint pad spacing
w = 0.3 # footprint pad width
h = (Z-G)/2. # footprint pad length
show_fab_pads = False
H = 5.0 # distance from physical pad end to opposite pad end
e = C # physical pad spacing, same as above
b = 0.30 # physical pad width
L1 = -0.4 # physical pad length
D1 = 5.0 # package width
E1 = 5.0 # package height
has_ground_pad = True
G1 = 3.25 # ground pad width
H1 = 3.25 # ground pad height
I1 = 0.0 # ground pad x offset
J1 = 0.0 # ground pad y offset
ground_pad_num = 0
# NOTE: need to test with SMD footprints
# need to make sure pad size adjustment works
# nsmd = positive
solder_mask_margin = 0.10
indicator_circle_dia = 0.3
pad_radius = None
rotation = 270
if solder_mask_margin < 0.0:
w -= 2.0*solder_mask_margin
h -= 2.0*solder_mask_margin
G1 -= 2.0*solder_mask_margin
H1 -= 2.0*solder_mask_margin
import math
def _x(x, y):
return x*math.cos(rotation*math.pi/180.) - y*math.sin(rotation*math.pi/180.)
def _y(x, y):
return x*math.sin(rotation*math.pi/180.) + y*math.cos(rotation*math.pi/180.)
def xy(x, y):
return (_x(x, y), _y(x, y))
def xyxy(x1, y1, x2, y2):
return (_x(x1, y1), _y(x1, y1), _x(x2, y2), _y(x2, y2))
if rotation == 90 or rotation == 270:
h, w = w, h
H1, G1 = G1, H1
import time
gen_time = hex(int(time.time()))[2:].upper()
prologue = """(module {} (layer F.Cu) (tedit {})
(fp_text reference REF** (at 0.0 0.0) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0.0 0.0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value %V (at 0 -0.5) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
"""
prologue = prologue.format(PARTNAME, gen_time, PARTNAME)
epilogue = """)"""
print(prologue)
# print silkscreen outline
inner_edge = C*(num_per_edge/2 - 0.5) + w/2 + M1
x = D1/2 + M1
y = E1/2 + M1
for x, y, nx, ny in [
(-x, -inner_edge, -inner_edge, -y),
(-x, y, -x, inner_edge), (-inner_edge, y, -x, y),
(inner_edge, y, x, y), (x, y, x, inner_edge),
(x, -inner_edge, x, -y), (x, -y, inner_edge, -y)]:
print(""" (fp_line (start {} {}) (end {} {}) (layer F.SilkS) (width 0.15))""".
format(*xyxy(x, y, nx, ny)))
if indicator_circle_dia is not None:
x = D1/2 + M1 #+ 0.5*indicator_circle_dia
y = E1/2 + M1 #+ 0.5*indicator_circle_dia
# add indicator circle
print(""" (fp_circle (center {} {}) (end {} {}) (layer F.SilkS) (width 0.15))""".
format(*xyxy(-x, -y, -x, -y - indicator_circle_dia/2.0)))
# draw package outline in fab layer
FC = 0.3
fab_points = [(-D1/2 - M2 + FC, -E1/2 - M2),
(D1/2 + M2, -E1/2 - M2),
(D1/2 + M2, E1/2 + M2),
(-D1/2 + -M2, E1/2 + M2),
(-D1/2 + -M2, -E1/2 - M2 + FC)]
nx, ny = fab_points[-1]
for x, y in fab_points:
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x, y, nx, ny)))
nx, ny = x, y
if show_fab_pads:
for i in range(num_per_edge):
x_pos = -D1/2 - M2
y_pos = C*(i-(num_per_edge/2-0.5))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos, y_pos - b/2 - M2, x_pos - L1, y_pos - b/2 - M2)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos - L1, y_pos - b/2 - M2, x_pos - L1, y_pos + b/2 + M2)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos - L1, y_pos + b/2 + M2, x_pos, y_pos + b/2 + M2)))
for i in range(num_per_edge):
x_pos = C*(i-(num_per_edge/2-0.5))
y_pos = E1/2 + M2
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos - b/2 - M2, y_pos, x_pos - b/2 - M2, y_pos + L1)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos - b/2 - M2, y_pos + L1, x_pos + b/2 + M2, y_pos + L1)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos + b/2 + M2, y_pos + L1, x_pos + b/2 + M2, y_pos)))
for i in range(num_per_edge):
x_pos = D1/2 + M2
y_pos = -C*(i-(num_per_edge/2-0.5))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos, y_pos + b/2 + M2, x_pos + L1, y_pos + b/2 + M2)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos + L1, y_pos + b/2 + M2, x_pos + L1, y_pos - b/2 - M2)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos + L1, y_pos - b/2 - M2, x_pos, y_pos - b/2 - M2)))
for i in range(num_per_edge):
x_pos = -C*(i-(num_per_edge/2-0.5))
y_pos = -E1/2 - M2
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos + b/2 + M2, y_pos, x_pos + b/2 + M2, y_pos - L1)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos + b/2 + M2, y_pos - L1, x_pos - b/2 - M2, y_pos - L1)))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(*xyxy(x_pos - b/2 - M2, y_pos - L1, x_pos - b/2 - M2, y_pos)))
# print courtyard outline
inner_x = D1/2 + M3
outer_x = X/2 + h/2 + M3/2
inner_y = C*(num_per_edge/2-0.5) + b/2 + M3/2
outer_y = E1/2 + M3
pts = [
(-inner_x, -outer_y),
(inner_x, -outer_y),
(inner_x, -inner_y),
(outer_x, -inner_y),
(outer_x, inner_y),
(inner_x, inner_y),
(inner_x, outer_y),
(-inner_x, outer_y),
(-inner_x, inner_y),
(-outer_x, inner_y),
(-outer_x, -inner_y),
(-inner_x, -inner_y)
]
nx, ny = pts[-1]
for px, py in pts:
x, y, nx, ny = nx, ny, px, py
print(""" (fp_line (start {} {}) (end {} {}) (layer F.CrtYd) (width 0.15))""".
format(*xyxy(x, y, nx, ny)))
padtype = "rect"
padext = ""
if pad_radius is not None:
padtype = "roundrect"
padext = "(roundrect_rratio {})".format(pad_radius/min(h, w))
for i in range(0, num_per_edge):
tx, ty = xy(-X/2, C*(i-(num_per_edge/2-0.5)))
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1,
padtype,
tx,
ty,
h,
w,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
tx, ty = xy(C*(i-(num_per_edge/2-0.5)), X/2)
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+1*num_per_edge,
padtype,
tx,
ty,
w,
h,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
tx, ty = xy(X/2, -C*(i-(num_per_edge/2-0.5)))
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+2*num_per_edge,
padtype,
tx,
ty,
h,
w,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
tx, ty = xy(-C*(i-(num_per_edge/2-0.5)), -X/2)
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+3*num_per_edge,
padtype,
tx,
ty,
w,
h,
padext,
solder_mask_margin))
if has_ground_pad:
tx, ty = xy(I1, J1)
if pad_radius is None:
# add ground pad
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin {}))""".
format(
ground_pad_num,
"rect",
tx,
ty,
G1,
H1,
solder_mask_margin))
else:
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
(roundrect_rratio {}) (solder_mask_margin {}))""".
format(
ground_pad_num,
"roundrect",
tx,
ty,
G1,
H1,
pad_radius/min(G1, H1),
solder_mask_margin))
print(epilogue)

284
gen_ti_rgz48.py Normal file
View File

@ -0,0 +1,284 @@
#!/usr/bin/env python3
# QFN/QFP-style packages with ground plane
# version 0.0.7
# added solder mask parameter
# added optional indicator circle
# added ground pad
# made ground pad optional
# fix silkscreen pin 1 marker
# added rounded pads option
# added reference designator to fab layer
# make fab layer pin drawing optional
# added TI's weird ground pad extensions
# v0.0.5
# added indicator marker to fab layer
# v0.0.6
# removed TI extensions
# converted for use in QFN/QFP packages
# - add pads for QFN/QFP
# - add fab pad drawings for QFN/QFP
# - fix silkscreen
# v0.0.7
# - add ground pad offset
PARTNAME = "TI-RGZ-48"
total_pins = 48
num_per_edge = total_pins // 4
M1 = 0.2 # silkscreen margin
M2 = 0.05 # fab outline margin
M3 = 0.3 # courtyard margin
Z = 6.8 + 0.6 # distance across outer edges of pads
G = 6.8 - 0.6 # distance across inner edges of pads
X = (Z+G)/2. # distance between pad centers
C = 0.5 # footprint pad spacing
w = 0.24 # footprint pad width
h = (Z-G)/2. # footprint pad length
show_fab_pads = False
H = 7.0 # distance from physical pad end to opposite pad end
e = C # physical pad spacing, same as above
b = 0.24 # physical pad width
L1 = -0.4 # physical pad length
D1 = 7.0 # package width
E1 = 7.0 # package height
has_ground_pad = True
G1 = 4.60 # ground pad width
H1 = 4.975 # ground pad height
I1 = 0.0 # ground pad x offset
J1 = 0.188 # ground pad y offset
ground_pad_num = 0
# NOTE: need to test with SMD footprints
# need to make sure pad size adjustment works
# nsmd = positive
solder_mask_margin = 0.10
indicator_circle_dia = 0.3
pad_radius = 0.05
if solder_mask_margin < 0.0:
w -= 2.0*solder_mask_margin
h -= 2.0*solder_mask_margin
G1 -= 2.0*solder_mask_margin
H1 -= 2.0*solder_mask_margin
import math
import time
gen_time = hex(int(time.time()))[2:].upper()
prologue = """(module {} (layer F.Cu) (tedit {})
(fp_text reference REF** (at 0.0 0.0) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0.0 0.0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value %V (at 0 -0.5) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
"""
prologue = prologue.format(PARTNAME, gen_time, PARTNAME)
epilogue = """)"""
print(prologue)
# print silkscreen outline
inner_edge = C*(num_per_edge/2 - 0.5) + w/2 + M1
x = D1/2 + M1
y = E1/2 + M1
for x, y, nx, ny in [
(-x, -inner_edge, -inner_edge, -y),
(-x, y, -x, inner_edge), (-inner_edge, y, -x, y),
(inner_edge, y, x, y), (x, y, x, inner_edge),
(x, -inner_edge, x, -y), (x, -y, inner_edge, -y)]:
print(""" (fp_line (start {} {}) (end {} {}) (layer F.SilkS) (width 0.15))""".
format(x, y, nx, ny))
if indicator_circle_dia is not None:
x = D1/2 + M1 #+ 0.5*indicator_circle_dia
y = E1/2 + M1 #+ 0.5*indicator_circle_dia
# add indicator circle
print(""" (fp_circle (center {} {}) (end {} {}) (layer F.SilkS) (width 0.15))""".
format(-x, -y, -x, -y - indicator_circle_dia/2.0))
# draw package outline in fab layer
FC = 0.3
fab_points = [(-D1/2 - M2 + FC, -E1/2 - M2),
(D1/2 + M2, -E1/2 - M2),
(D1/2 + M2, E1/2 + M2),
(-D1/2 + -M2, E1/2 + M2),
(-D1/2 + -M2, -E1/2 - M2 + FC)]
nx, ny = fab_points[-1]
for x, y in fab_points:
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x, y, nx, ny))
nx, ny = x, y
if show_fab_pads:
for i in range(num_per_edge):
x_pos = -D1/2 - M2
y_pos = C*(i-(num_per_edge/2-0.5))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos, y_pos - b/2 - M2, x_pos - L1, y_pos - b/2 - M2))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos - L1, y_pos - b/2 - M2, x_pos - L1, y_pos + b/2 + M2))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos - L1, y_pos + b/2 + M2, x_pos, y_pos + b/2 + M2))
for i in range(num_per_edge):
x_pos = C*(i-(num_per_edge/2-0.5))
y_pos = E1/2 + M2
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos - b/2 - M2, y_pos, x_pos - b/2 - M2, y_pos + L1))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos - b/2 - M2, y_pos + L1, x_pos + b/2 + M2, y_pos + L1))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos + b/2 + M2, y_pos + L1, x_pos + b/2 + M2, y_pos))
for i in range(num_per_edge):
x_pos = D1/2 + M2
y_pos = -C*(i-(num_per_edge/2-0.5))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos, y_pos + b/2 + M2, x_pos + L1, y_pos + b/2 + M2))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos + L1, y_pos + b/2 + M2, x_pos + L1, y_pos - b/2 - M2))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos + L1, y_pos - b/2 - M2, x_pos, y_pos - b/2 - M2))
for i in range(num_per_edge):
x_pos = -C*(i-(num_per_edge/2-0.5))
y_pos = -E1/2 - M2
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos + b/2 + M2, y_pos, x_pos + b/2 + M2, y_pos - L1))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos + b/2 + M2, y_pos - L1, x_pos - b/2 - M2, y_pos - L1))
print(""" (fp_line (start {} {}) (end {} {}) (layer F.Fab) (width 0.15))""".
format(x_pos - b/2 - M2, y_pos - L1, x_pos - b/2 - M2, y_pos))
# print courtyard outline
inner_x = D1/2 + M3
outer_x = X/2 + h/2 + M3/2
inner_y = C*(num_per_edge/2-0.5) + b/2 + M3/2
outer_y = E1/2 + M3
pts = [
(-inner_x, -outer_y),
(inner_x, -outer_y),
(inner_x, -inner_y),
(outer_x, -inner_y),
(outer_x, inner_y),
(inner_x, inner_y),
(inner_x, outer_y),
(-inner_x, outer_y),
(-inner_x, inner_y),
(-outer_x, inner_y),
(-outer_x, -inner_y),
(-inner_x, -inner_y)
]
nx, ny = pts[-1]
for px, py in pts:
x, y, nx, ny = nx, ny, px, py
print(""" (fp_line (start {} {}) (end {} {}) (layer F.CrtYd) (width 0.15))""".
format(x, y, nx, ny))
padtype = "rect"
padext = ""
if pad_radius is not None:
padtype = "roundrect"
padext = "(roundrect_rratio {})".format(pad_radius/min(h, w))
for i in range(0, num_per_edge):
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1,
padtype,
-X/2,
C*(i-(num_per_edge/2-0.5)),
h,
w,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+1*num_per_edge,
padtype,
C*(i-(num_per_edge/2-0.5)),
X/2,
w,
h,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+2*num_per_edge,
padtype,
X/2,
-C*(i-(num_per_edge/2-0.5)),
h,
w,
padext,
solder_mask_margin))
for i in range(0, num_per_edge):
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
{} (solder_mask_margin {}))""".
format(
i+1+3*num_per_edge,
padtype,
-C*(i-(num_per_edge/2-0.5)),
-X/2,
w,
h,
padext,
solder_mask_margin))
if has_ground_pad:
if pad_radius is None:
# add ground pad
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
(solder_mask_margin {}))""".
format(
ground_pad_num,
"rect",
I1,
J1,
G1,
H1,
solder_mask_margin))
else:
print(""" (pad {} smd {} (at {} {}) (size {} {}) (layers F.Cu F.Paste F.Mask)
(roundrect_rratio {}) (solder_mask_margin {}))""".
format(
ground_pad_num,
"roundrect",
I1,
J1,
G1,
H1,
pad_radius/min(G1, H1),
solder_mask_margin))
print(epilogue)