Adding PCB

Change-Id: Ia2df600eefc90c440d28793458bb0aa9eaa34878
diff --git a/motors/packages/1824440000.fp b/motors/packages/1824440000.fp
new file mode 100644
index 0000000..efccefa
--- /dev/null
+++ b/motors/packages/1824440000.fp
@@ -0,0 +1,18 @@
+# This is the footprint for a Weidmuller 1824440000
+# (4 position Horizontal push in terminal block).
+Element[0x0 "" "" "" 0 0 0 0 0 100 0x0]
+(
+	Pin[-5.25mm 0 1.95mm 30mil 2.15mm 1.15mm "1" "1" ""]
+	Pin[-5.25mm 7mm 1.95mm 30mil 2.15mm 1.15mm "1" "1" ""]
+	Pin[-1.75mm 0 1.95mm 30mil 2.15mm 1.15mm "2" "2" ""]
+	Pin[-1.75mm 7mm 1.95mm 30mil 2.15mm 1.15mm "2" "2" ""]
+	Pin[1.75mm 0 1.95mm 30mil 2.15mm 1.15mm "3" "3" ""]
+	Pin[1.75mm 7mm 1.95mm 30mil 2.15mm 1.15mm "3" "3" ""]
+	Pin[5.25mm 0 1.95mm 30mil 2.15mm 1.15mm "4" "4" ""]
+	Pin[5.25mm 7mm 1.95mm 30mil 2.15mm 1.15mm "4" "4" ""]
+
+	ElementLine[-7.35mm -2mm 7.35mm -2mm 800]
+	ElementLine[7.35mm -2mm 7.35mm 10mm 800]
+	ElementLine[7.35mm 10mm -7.35mm 10mm 800]
+	ElementLine[-7.35mm -2mm -7.35mm 10mm 800]
+)
diff --git a/motors/packages/CLF7045NI-D.fp b/motors/packages/CLF7045NI-D.fp
new file mode 100644
index 0000000..c6ee5f0
--- /dev/null
+++ b/motors/packages/CLF7045NI-D.fp
@@ -0,0 +1,12 @@
+# This is the footprint recommended by TDK in:
+# https://product.tdk.com/info/en/catalog/datasheets/inductor_automotive_power_clf7045ni-d_en.pdf
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-2.75mm 0mm -2.95mm 0mm 2.2mm 2000 2.4mm "1" "1" "square"]
+	Pad[2.75mm 0mm 2.95mm 0mm 2.2mm 2000 2.4mm "2" "2" "square"]
+
+	ElementLine[4.5mm 3.7mm -4.5mm 3.7mm 1000]
+	ElementLine[4.5mm -3.7mm -4.5mm -3.7mm 1000]
+	ElementLine[4.5mm -3.7mm 4.5mm 3.7mm 1000]
+       	ElementLine[-4.5mm -3.7mm -4.5mm 3.7mm 1000] 
+)
diff --git a/motors/packages/MTG6mmX2.7mm.fp b/motors/packages/MTG6mmX2.7mm.fp
new file mode 100644
index 0000000..dadcc0f
--- /dev/null
+++ b/motors/packages/MTG6mmX2.7mm.fp
@@ -0,0 +1,4 @@
+Element[0x0 "M2.5 bolt" "" "" 0 0 0 0 0 100 0x0]
+(
+   Pin[0 0 6mm 2000 6.25mm 2.7mm "1" "1" 0x01]
+)
diff --git a/motors/packages/Pad80d40.fp b/motors/packages/Pad80d40.fp
new file mode 100644
index 0000000..8df90ba
--- /dev/null
+++ b/motors/packages/Pad80d40.fp
@@ -0,0 +1,10 @@
+
+Element["" "" "" "" 1520.00mil 1210.00mil 0.0000 0.0000 0 100 ""]
+(
+	Pin[0.0000 0.0000 80.00mil 20.00mil 86.00mil 40.00mil "" "1" ""]
+	ElementArc [0.0000 0.0000 50.00mil 50.00mil 90 90 6.00mil]
+	ElementArc [0.0000 0.0000 50.00mil 50.00mil 180 90 6.00mil]
+	ElementArc [0.0000 0.0000 50.00mil 50.00mil 270 90 6.00mil]
+	ElementArc [0.0000 0.0000 50.00mil 50.00mil 0 90 6.00mil]
+
+	)
diff --git a/motors/packages/SPM12565XT.fp b/motors/packages/SPM12565XT.fp
new file mode 100644
index 0000000..ed467ac
--- /dev/null
+++ b/motors/packages/SPM12565XT.fp
@@ -0,0 +1,14 @@
+# This is the footprint recommended by TDK in:
+# https://product.tdk.com/info/en/catalog/datasheets/inductor_commercial_power_spm12565xt_en.pdf
+#
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-3.65mm 0mm -6.05mm 0mm 2.8mm 2000 3mm "1" "1" "square"]
+	Pad[3.65mm 0mm 6.05mm 0mm 2.8mm 2000 3mm "2" "2" "square"]
+
+	ElementLine[-7.85mm 6.6mm -7.85mm -4.6mm 1000]
+	ElementLine[7.85mm 6.6mm 7.85mm -6.6mm 1000]
+	ElementLine[7.85mm 6.6mm -7.85mm 6.6mm 1000]
+       	ElementLine[7.85mm -6.6mm -5.85mm -6.6mm 1000] 
+        ElementLine[-7.85mm -4.6mm -5.85mm -6.6mm 1000]
+)
diff --git a/motors/packages/TO263-2.fp b/motors/packages/TO263-2.fp
new file mode 100644
index 0000000..45bae57
--- /dev/null
+++ b/motors/packages/TO263-2.fp
@@ -0,0 +1,50 @@
+	# pad 1,2,3 width (1/100 mil)
+	# pad 1,2,3 length (1/100 mil)
+	# x value for pads 1,3 (1/100 mil)
+	# y value for pads 1,2,3 (1/100 mil)
+	# tab pad width (1/100 mil)
+	# ideally we would be able to have a polygon
+	# pad because the recommendation is a T shape where
+	# the width is 328 mil on the thinner part and 425 mil on the
+	# thicker part
+	# tab pad length (1/100 mil)
+	#define(`PADL2',  `27500')
+	# x value for the tab pad (1/100 mil)
+	# y value for the tab pad (1/100 mil)
+	#define(`PADY2', `-21025')
+	# package width (1/100 mil)
+	# package height (1/100 mil)
+	# y values for drawing the pad.  Recall we draw the pad with an aperture
+	# we need a line segment of length PADL1 - PADW1 so we have end points:
+	# PADY1 +/- 0.5*(PADL1 - PADW1)
+	# width of soldermask relief (5 mil on each side)
+	# silkscreen width (1/100 mils)
+	# clearance to polygons (1/100 mils)
+	# how much space to leave around the part before the
+	# silk screen (1/100 mils)
+	# X values for silk on sides and top
+	# X values for silk on sides and bottom
+# Element [SFlags "Desc" "Name" "Value" MX MY TX TY TDir TScale TSFlags]
+Element[ "" "Transistor" "" "TO263" 0 0 0 0 0 100 ""]
+(
+# Pad [rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
+# the signal pads
+Pad[ -10000 23175 -10000 18875 4200 2000 5200 "1"  "1" "square"]
+#Pad[      0 23175      0 18875 4200 2000 5200 "2"  "2" "square"]
+Pad[  10000 23175  10000 18875 4200 2000 5200 "3"  "3" "square"]
+# the tab pad
+Pad[ 5900  -10900  -5900  -10900  21000  2000 22000  "4"  "4" "square"]
+Pad[ 17500 -24150 -17500 -24150 7500 2000 8500 "4"  "4" "square"]
+# ElementLine[ x1 y1 x2 y2 width]
+# top and upper sides:
+ElementLine[ 22550 15475  22550 -29200 1000 ]
+ElementLine[ 22550 -29200  -22550 -29200 1000 ]
+ElementLine[ -22550 -29200  -22550 15475 1000 ]
+# bottom and lower sides
+ElementLine[ -15500 15475 -15500 26575 1000 ]
+ElementLine[ -15500 26575  15500 26575 1000 ]
+ElementLine[  15500 26575  15500 15475 1000 ]
+# and the two connecting lines
+ElementLine[ -22550 15475 -15500 15475 1000 ]
+ElementLine[ 22550 15475  15500 15475 1000 ]
+)
diff --git a/motors/packages/TO263-7.fp b/motors/packages/TO263-7.fp
new file mode 100644
index 0000000..3cb54f8
--- /dev/null
+++ b/motors/packages/TO263-7.fp
@@ -0,0 +1,49 @@
+	# pad 1,2,3 width (1/100 mil)
+	# pad 1,2,3 length (1/100 mil)
+	# x value for pads 1,3 (1/100 mil)
+	# y value for pads 1,2,3 (1/100 mil)
+	# tab pad width (1/100 mil)
+	# ideally we would be able to have a polygon
+	# pad because the recommendation is a T shape where
+	# the width is 328 mil on the thinner part and 425 mil on the
+	# thicker part
+	# tab pad length (1/100 mil)
+	#define(`PADL2',  `27500')
+	# x value for the tab pad (1/100 mil)
+	# y value for the tab pad (1/100 mil)
+	#define(`PADY2', `-21025')
+	# package width (1/100 mil)
+	# package height (1/100 mil)
+	# y values for drawing the pad.  Recall we draw the pad with an aperture
+	# we need a line segment of length PADL1 - PADW1 so we have end points:
+	# PADY1 +/- 0.5*(PADL1 - PADW1)
+	# width of soldermask relief (5 mil on each side)
+	# silkscreen width (1/100 mils)
+	# clearance to polygons (1/100 mils)
+	# how much space to leave around the part before the
+	# silk screen (1/100 mils)
+	# X values for silk on sides and top
+	# X values for silk on sides and bottom
+# Element [SFlags "Desc" "Name" "Value" MX MY TX TY TDir TScale TSFlags]
+Element[ "" "Transistor" "" "TO263" 0 0 0 0 0 100 ""]
+(
+# Pad [rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
+# the signal pads
+
+Pad[ -15000 10725 -15000 5825 3600 2000 4400 "1" "1" "square"]
+Pad[ -10000 10725 -10000 5825 3600 2000 4400 "2" "2" "square"]
+Pad[ -5000 10725 -5000  5825 3600 2000 4400 "3" "3" "square"]
+Pad[ 0 10725 0 5825 3600 2000 4400 "4" "4" "square"]
+Pad[ 5000 10725 5000 5825 3600 2000 4400 "5" "5" "square"]
+Pad[ 10000 10725 10000 5825 3600 2000 4400 "6" "6" "square"]
+Pad[ 15000 10725 15000 5825 3600 2000 4400 "7" "7" "square"]
+Pad[ -750 -24525 750 -24525 41000 2000 41800 "8" "8" "square"]
+
+#ElementLine[ x1 y1 x2 y2 width]
+ElementLine[ -22750 14025 22750 14025 1000 ]
+ElementLine[ -22750 14025 -22750 -46525 1000 ]
+ElementLine[ 22750 14025 22750 -46525 1000 ]
+ElementLine[ -22750 -46525 22750 -46525 1000 ]
+
+
+)