# HG changeset patch # User Mychaela Falconia # Date 1593926673 0 # Node ID 6ea9f0b2dbd2aa6c3f1695f9c8ac8105ef62de72 # Parent 1d9b33bc87304ffb8713e8b0e71230f47df9b5e8 m4-fp/btb.inc: Harwin M402M connector family added diff -r 1d9b33bc8730 -r 6ea9f0b2dbd2 ifctf-part-lib/m4-fp/btb.inc --- a/ifctf-part-lib/m4-fp/btb.inc Sun Jun 28 20:02:47 2020 +0000 +++ b/ifctf-part-lib/m4-fp/btb.inc Sun Jul 05 05:24:33 2020 +0000 @@ -81,3 +81,64 @@ define(`PKG_DF40C_80DP', `COMMON_DF40C_HDR(`$1',`$2',`$3',40)') define(`PKG_DF40C_90DP', `COMMON_DF40C_HDR(`$1',`$2',`$3',45)') define(`PKG_DF40C_100DP', `COMMON_DF40C_HDR(`$1',`$2',`$3',50)') + +# Harwin M402Mx-xx05 or Panasonic AXK6F equivalent +# +# $1: canonical name +# $2: name on PCB +# $3: value +# $4: contacts per side +define(`COMMON_M402_HDR', + ` +Element[0x00 "$1" "$2" "$3" 200000 100000 0 0 0 100 0x00] +( + # X position preliminary computations (um units) + define(`dimB', eval(($4 - 1) * 500)) + define(`dimA', eval(dimB + 3500)) + # pad geometry + define(`padwidth', 250) + define(`youter', 2200) + define(`yinner', 800) + define(`maskextra', 125) + # xpos variable keeps track of X position of pad-pair in um units + define(`xpos', eval(dimB/2)) + define(`CURPIN', 1) + forloop(i, 1, $4, ` + Pad[xpos`um' eval(youter-padwidth/2)`um' + xpos`um' eval(yinner+padwidth/2)`um' + padwidth`um' 10mil eval(padwidth+maskextra)`um' + "" "CURPIN" "square"] + define(`CURPIN', eval(CURPIN + 1)) + Pad[xpos`um' eval(-youter+padwidth/2)`um' + xpos`um' eval(-yinner-padwidth/2)`um' + padwidth`um' 10mil eval(padwidth+maskextra)`um' + "" "CURPIN" "square"] + define(`CURPIN', eval(CURPIN + 1)) + define(`xpos', eval(xpos - 500)) + ') + # silk outline + define(`silkW', 150) + define(`silkX', eval(dimA/2 + silkW/2)) + define(`silkY', eval(2200 + 125 + silkW/2)) + ElementLine[-silkX`um' -silkY`um' silkX`um' -silkY`um' silkW`um'] + ElementLine[-silkX`um' silkY`um' silkX`um' silkY`um' silkW`um'] + ElementLine[-silkX`um' -silkY`um' -silkX`um' silkY`um' silkW`um'] + ElementLine[ silkX`um' -silkY`um' silkX`um' silkY`um' silkW`um'] +)') + +define(`PKG_M402M_10', `COMMON_M402_HDR(`$1',`$2',`$3', 5)') +define(`PKG_M402M_12', `COMMON_M402_HDR(`$1',`$2',`$3', 6)') +define(`PKG_M402M_14', `COMMON_M402_HDR(`$1',`$2',`$3', 7)') +define(`PKG_M402M_16', `COMMON_M402_HDR(`$1',`$2',`$3', 8)') +define(`PKG_M402M_20', `COMMON_M402_HDR(`$1',`$2',`$3',10)') +define(`PKG_M402M_22', `COMMON_M402_HDR(`$1',`$2',`$3',11)') +define(`PKG_M402M_24', `COMMON_M402_HDR(`$1',`$2',`$3',12)') +define(`PKG_M402M_26', `COMMON_M402_HDR(`$1',`$2',`$3',13)') +define(`PKG_M402M_30', `COMMON_M402_HDR(`$1',`$2',`$3',15)') +define(`PKG_M402M_34', `COMMON_M402_HDR(`$1',`$2',`$3',17)') +define(`PKG_M402M_40', `COMMON_M402_HDR(`$1',`$2',`$3',20)') +define(`PKG_M402M_50', `COMMON_M402_HDR(`$1',`$2',`$3',25)') +define(`PKG_M402M_60', `COMMON_M402_HDR(`$1',`$2',`$3',30)') +define(`PKG_M402M_70', `COMMON_M402_HDR(`$1',`$2',`$3',35)') +define(`PKG_M402M_80', `COMMON_M402_HDR(`$1',`$2',`$3',40)') +define(`PKG_M402M_100', `COMMON_M402_HDR(`$1',`$2',`$3',50)')