diff --git a/AUTHORS b/AUTHORS index 2a998d2..caa3b5a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -119,6 +119,7 @@ Werner Almesberger modules/sod.fpd modules/1059.fpd modules/0805-6.fpd + modules/df40.fpd Xiangfu diff --git a/modules/HIERARCHY b/modules/HIERARCHY index 6b3eba7..2044890 100644 --- a/modules/HIERARCHY +++ b/modules/HIERARCHY @@ -106,6 +106,35 @@ Connector he-shrouded-2x2pins-2mm he-shrouded-3x2pins-2mm he-shrouded-7x2pins-2mm + DF40 + Male + DF40-10DP + DF40-12DP + DF40-20DP + DF40-24DP + DF40-30DP + DF40-34DP + DF40-40DP + DF40-50DP + DF40-60DP + DF40-70DP + DF40-80DP + DF40-90DP + DF40-100DP + Female + DF40-10DS + DF40-12DS + DF40-20DS + DF40-24DS + DF40-30DS + DF40-34DS + DF40-40DS + DF40-50DS + DF40-60DS + DF40-70DS + DF40-80DS + DF40-90DS + DF40-100DS TH Battery KS-1060 diff --git a/modules/Makefile b/modules/Makefile index ef1b310..7a83b3a 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -1,7 +1,7 @@ MODULES=0805-6 1059 8_10-card 8_10-socket-ra 8_10-socket-ra-push-pull \ bat-clip-aa-th bga \ c-smd c-t-smd \ - dcjack dfn din-5 dip dip4of6 do-214 dvi-recept-ra \ + dcjack df40 dfn din-5 dip dip4of6 do-214 dvi-recept-ra \ e-switch320 er-oled-fpc30 eus evqq7 \ fiducial \ header he-2row-dip he-shrouded \ diff --git a/modules/df40.fpd b/modules/df40.fpd new file mode 100644 index 0000000..784c3da --- /dev/null +++ b/modules/df40.fpd @@ -0,0 +1,144 @@ +/* MACHINE-GENERATED ! */ + +frame pad { + set px = X/2 + + set py = Y/2 + + __0: vec @(px, py) + __1: vec @(-px, -py) + pad "$n" . __0 +} + +frame pads { + set x = e*(xi-pins/4+0.5) + + set y = (Yi+Yo)/2*(yi-0.5) + + set n = 2*xi+yi+1 + + loop xi = 0, pins/2-1 + + loop yi = 0, 1 + + __0: vec @(x, y) + frame pad . +} + +frame outline { + table + { dx } + { -1 } + { 1 } + + set x = dx*A/2 + + set y = Yout/2 + + __0: vec @(x, y) + __1: vec @(x, -y) + line __0 . w +} + +frame corner_pad { + set py = Y/2 + + set x = cpx/2 + + set y = Y/2 + + __0: vec @(x, y) + __1: vec @(-x, -y) + pad "0" . __0 +} + +frame corner { + set cpx = 0.65mm + + table + { dx } + { -1 } + { 1 } + + table + { dy } + { -1 } + { 1 } + + set x = dx*((pins/2-1)*e/2+0.3mm+cpx/2) + + set y = (Yi+Yo)/4*dy + + loop if = 1, corners + + __0: vec @(x, y) + frame corner_pad . +} + +frame keepout { + table + { dx } + { -1 } + { 1 } + + set x = ((pins/2-1)*e+X)/2 + + set y = K/2*dx + + loop if = 1, keepout + + __0: vec @(-x, y) + __1: vec @(x, y) + line __0 . w +} + +package "DF40-${pins}${type}" +unit mm + +table + { pins } + { 10 } + { 12 } + { 20 } + { 24 } + { 30 } + { 34 } + { 40 } + { 50 } + { 60 } + { 70 } + { 80 } + { 90 } + { 100 } + +set e = 0.4mm + +set A = pins*e/2+side + +set K = 1.5mm + +set X = 0.2mm + +set Y = (Yo-Yi)/2 + +set w = 5mil + +table + { type, Yi, Yo, Yout, side, keepout, corners } + { "DS", 2.38mm, 3.78mm, 2.94mm, 2.6mm, 1, 0 } + { "DP", 2.05mm, 3.37mm, 1.85mm, 1.52mm, 0, 1 } + +frame pads @ +frame keepout @ +frame outline @ +frame corner @ +measy pad.__1 -> pad.__0 side/2+0.5mm +measx pads.__0 >> pads.__0 -Y/2-0.5mm +measx pad.__1 -> pad.__0 Y+0.5mm +measy keepout.__0 >> keepout.__0 0mm +measx outline.__0 >> outline.__0 0.5mm +measy pad.__1 >> pad.__0 side/2+1mm +measy pad.__0 -> pad.__1 side/2+X+0.5mm +measx corner_pad.__1 -> corner_pad.__0 -0.5mm +measx corner_pad.__0 -> pads.__0 -Y-0.5mm +measy outline.__1 -> outline.__0 -0.5mm