changeset 120:6ea9f0b2dbd2

m4-fp/btb.inc: Harwin M402M connector family added
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 05 Jul 2020 05:24:33 +0000
parents 1d9b33bc8730
children 993d1715a09c
files ifctf-part-lib/m4-fp/btb.inc
diffstat 1 files changed, 61 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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)')