/* MACHINE-GENERATED ! */

frame pad {
	__0: vec @(col*e-Px/2, row*-e-Py/2)
	__1: vec .(0mm, Py)
	__2: vec __0(Px, 0mm)
	rpad "$rname$cname" __1 .
}

frame pads {
	table
	    { ?rnamerev, rname }
	    { 0, "A" }
	    { 1, "B" }
	    { 2, "C" }
	    { 3, "D" }

	set cname = Nc-col

	set rnamerev = Nr-row-1

	loop row = 0, Nr-1

	loop col = 0, Nc-1

	frame pad @
}

frame outline {
	__0: vec @(D1/2, -E1/2)
	__1: vec .(D/2, E/2)
	__2: vec __0(-D/2, -E/2)
	rect __1 . 5mil
	__3: vec @(0mm, (E-E1)/2)
	__4: vec @(-(D-D1)/2, 0mm)
	line __3 . 5mil
}

package "YFC-$pins"
unit mm

table
    { pins, Nr, Nc, Px, Py, e, D1, E1, D, E }
    { 12, 4, 3, 0.23mm, Px, 0.4mm, e*(Nc-1), e*(Nr-1), 1.17mm, 1.57mm }

frame outline @
frame pads @
measy pad.__0 -> pad.__1 1mm
measy pad.__0 -> pad.__0 1.5mm
measx pad.__0 -> pad.__2 -1mm
measx pad.__0 -> pad.__0 -1.5mm
measy pad.__0 >> pad.__1 2.4mm
measx pad.__0 >> pad.__2 -2.4mm
measy outline.__2 >> outline.__1 2.5mm
measx outline.__2 >> outline.__1 -2.5mm
measx pad.__0 >> pad.__0 -1.8mm
measy pad.__0 >> pad.__0 1.7mm
