From 5ece1275b3dbd19ac3787c512ddf55187b9ca30f Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 5 Sep 2018 20:50:43 -0600 Subject: [PATCH] add footprint for the DFN12 variant used by OnSemi for the NCP45560, et al --- packages/506CD.5c | 86 +++++++++++++++++++++++++++ packages/Makefile | 3 +- symbols/onsemi/NCP45560.sym | 114 +++++++++++++++++++----------------- 3 files changed, 147 insertions(+), 56 deletions(-) create mode 100644 packages/506CD.5c diff --git a/packages/506CD.5c b/packages/506CD.5c new file mode 100644 index 0000000..c4aca6e --- /dev/null +++ b/packages/506CD.5c @@ -0,0 +1,86 @@ +/* + * Copyright © 2018 Bdale Garbee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +load "footprint.5c" +import Footprint; + +real pad_width = 0.48; +real pad_height = 0.32; +real pad_one_height = 0.45; +real pad_spacing = 0.50; /* center to center, along the pads */ +real pad_center = 3.30 - pad_width; /* center to center, across the part */ + +real center_width = 2.10; +real center_height = 2.86; + +real package_width = 3; +real package_height = 3; + +real pad_x_off = pad_center / 2; + +real num_pad = 6; /* per side */ + +element_start("506CD"); + +real pad_off(int n) { + return pad_spacing * (n - (num_pad - 1) / 2); +} + +/* +real dot_off = -.3; + +line(-package_width/2 + dot_off, -package_height/2 + dot_off, + -package_width/2 + dot_off, -package_height/2 + dot_off); +*/ + +for (int pad = 0; pad < num_pad; pad++) { + /* left side */ + + if (pad == 0) { + pad_mm(-pad_x_off, + pad_off(pad) - (pad_one_height - pad_height)/2, + pad_width, + pad_one_height, + sprintf("%d", 1), + sprintf("%d", 1)); + } else { + pad_mm(-pad_x_off, + pad_off(pad), + pad_width, + pad_height, + sprintf("%d", pad + 1), + sprintf("%d", pad + 1)); + } + + /* right side */ + + pad_mm(pad_x_off, + -pad_off(pad), + pad_width, + pad_height, + sprintf("%d", pad + num_pad + 1), + sprintf("%d", pad + num_pad + 1)); + +} + +/* center pad */ +pad_mm(0, 0, + center_width, + center_height, + "13", "13"); + +element_end(); diff --git a/packages/Makefile b/packages/Makefile index 128cfdb..b42c55a 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -115,7 +115,8 @@ FOOTPRINTS= \ RN4678.fp \ JTIBM15.fp \ s-pqfp-g32.fp \ - A29100-009.fp + A29100-009.fp \ + 506CD.fp .5c.fp: nickle $*.5c -o $@ diff --git a/symbols/onsemi/NCP45560.sym b/symbols/onsemi/NCP45560.sym index 61b8be1..691bbbb 100644 --- a/symbols/onsemi/NCP45560.sym +++ b/symbols/onsemi/NCP45560.sym @@ -1,123 +1,127 @@ v 20180820 2 -P 2400 2500 2100 2500 1 0 0 +P 3400 2500 3100 2500 1 0 0 { -T 2400 2500 5 10 0 0 0 6 1 +T 3400 2500 5 10 0 0 0 6 1 pintype=pas -T 2045 2495 5 10 1 1 0 6 1 +T 3045 2495 5 10 1 1 0 6 1 pinlabel=VIN -T 2195 2545 5 10 1 1 0 0 1 +T 3195 2545 5 10 1 1 0 0 1 pinnumber=13 } -B 300 0 1800 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -T 595 2595 8 10 0 1 0 0 1 +B 1300 0 1800 3200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +T 1595 2595 8 10 0 1 0 0 1 device=IC -T 295 3295 8 10 1 1 0 0 1 +T 1295 3295 8 10 1 1 0 0 1 refdes=U? -P 2400 100 2100 100 1 0 0 +P 3400 100 3100 100 1 0 0 { -T 2400 100 5 10 0 0 0 0 1 +T 3400 100 5 10 0 0 0 0 1 pintype=pas -T 2045 95 5 10 1 1 0 6 1 +T 3045 95 5 10 1 1 0 6 1 pinlabel=BLEED -T 2195 145 5 10 1 1 0 0 1 +T 3195 145 5 10 1 1 0 0 1 pinnumber=7 } -P 0 2100 300 2100 1 0 0 +P 1000 2100 1300 2100 1 0 0 { -T 0 2100 5 10 0 0 0 0 1 +T 1000 2100 5 10 0 0 0 0 1 pintype=in -T 355 2095 5 10 1 1 0 0 1 +T 1355 2095 5 10 1 1 0 0 1 pinlabel=EN -T 205 2145 5 10 1 1 0 6 1 +T 1205 2145 5 10 1 1 0 6 1 pinnumber=2 } -P 2400 2100 2100 2100 1 0 0 +P 3400 2100 3100 2100 1 0 0 { -T 2400 2100 5 10 0 0 0 0 1 +T 3400 2100 5 10 0 0 0 0 1 pintype=pas -T 2045 2095 5 10 1 1 0 6 1 +T 3045 2095 5 10 1 1 0 6 1 pinlabel=VOUT -T 2195 2145 5 10 1 1 0 0 1 +T 3195 2145 5 10 1 1 0 0 1 pinnumber=8 } -P 0 1300 300 1300 1 0 0 +P 1000 1300 1300 1300 1 0 0 { -T 0 1300 5 10 0 0 0 6 1 +T 1000 1300 5 10 0 0 0 6 1 pintype=pas -T 355 1295 5 10 1 1 0 0 1 +T 1355 1295 5 10 1 1 0 0 1 pinlabel=SR -T 205 1345 5 10 1 1 0 6 1 +T 1205 1345 5 10 1 1 0 6 1 pinnumber=5 } -P 0 100 300 100 1 0 0 +P 1000 100 1300 100 1 0 0 { -T 0 100 5 10 0 0 0 0 1 +T 1000 100 5 10 0 0 0 0 1 pintype=pwr -T 355 95 5 10 1 1 0 0 1 +T 1355 95 5 10 1 1 0 0 1 pinlabel=GND -T 205 145 5 10 1 1 0 6 1 +T 1205 145 5 10 1 1 0 6 1 pinnumber=4 } -P 0 2900 300 2900 1 0 0 +P 1000 2900 1300 2900 1 0 0 { -T 0 2900 5 10 0 0 0 0 1 +T 1000 2900 5 10 0 0 0 0 1 pintype=pwr -T 355 2895 5 10 1 1 0 0 1 +T 1355 2895 5 10 1 1 0 0 1 pinlabel=VCC -T 205 2945 5 10 1 1 0 6 1 +T 1205 2945 5 10 1 1 0 6 1 pinnumber=3 } -P 0 1700 300 1700 1 0 0 +P 1000 1700 1300 1700 1 0 0 { -T 0 1700 5 10 0 0 0 0 1 +T 1000 1700 5 10 0 0 0 0 1 pintype=out -T 355 1695 5 10 1 1 0 0 1 +T 1355 1695 5 10 1 1 0 0 1 pinlabel=PG -T 205 1745 5 10 1 1 0 6 1 +T 1205 1745 5 10 1 1 0 6 1 pinnumber=6 } -P 2400 2900 2100 2900 1 0 0 +P 3400 2900 3100 2900 1 0 0 { -T 2400 2900 5 10 0 0 0 6 1 +T 3400 2900 5 10 0 0 0 6 1 pintype=pas -T 2045 2895 5 10 1 1 0 6 1 +T 3045 2895 5 10 1 1 0 6 1 pinlabel=VIN -T 2195 2945 5 10 1 1 0 0 1 +T 3195 2945 5 10 1 1 0 0 1 pinnumber=1 } -P 2400 1700 2100 1700 1 0 0 +P 3400 1700 3100 1700 1 0 0 { -T 2400 1700 5 10 0 0 0 0 1 +T 3400 1700 5 10 0 0 0 0 1 pintype=pas -T 2045 1695 5 10 1 1 0 6 1 +T 3045 1695 5 10 1 1 0 6 1 pinlabel=VOUT -T 2195 1745 5 10 1 1 0 0 1 +T 3195 1745 5 10 1 1 0 0 1 pinnumber=9 } -P 2400 1300 2100 1300 1 0 0 +P 3400 1300 3100 1300 1 0 0 { -T 2400 1300 5 10 0 0 0 0 1 +T 3400 1300 5 10 0 0 0 0 1 pintype=pas -T 2045 1295 5 10 1 1 0 6 1 +T 3045 1295 5 10 1 1 0 6 1 pinlabel=VOUT -T 2195 1345 5 10 1 1 0 0 1 +T 3195 1345 5 10 1 1 0 0 1 pinnumber=10 } -P 2400 900 2100 900 1 0 0 +P 3400 900 3100 900 1 0 0 { -T 2400 900 5 10 0 0 0 0 1 +T 3400 900 5 10 0 0 0 0 1 pintype=pwr -T 2045 895 5 10 1 1 0 6 1 +T 3045 895 5 10 1 1 0 6 1 pinlabel=VOUT -T 2195 945 5 10 1 1 0 0 1 +T 3195 945 5 10 1 1 0 0 1 pinnumber=11 } -P 2400 500 2100 500 1 0 0 +P 3400 500 3100 500 1 0 0 { -T 2400 500 5 10 0 0 0 0 1 +T 3400 500 5 10 0 0 0 0 1 pintype=pas -T 2045 495 5 10 1 1 0 6 1 +T 3045 495 5 10 1 1 0 6 1 pinlabel=VOUT -T 2195 545 5 10 1 1 0 0 1 +T 3195 545 5 10 1 1 0 0 1 pinnumber=12 } +T 1332 3600 8 10 0 0 0 0 1 +datasheet=onsemi/NCP45560-D.PDF +T 1332 3900 8 10 0 0 0 0 1 +footprint=506CD -- 2.47.2