Finish one phase of the power board

Change-Id: I93d54abd98aa2a04fbdc0fe9ce0fc08bdcceb195
diff --git a/motors/packages/BIG_WIRE.fp b/motors/packages/BIG_WIRE.fp
new file mode 100644
index 0000000..4661d86
--- /dev/null
+++ b/motors/packages/BIG_WIRE.fp
@@ -0,0 +1,5 @@
+# This is a big surface-soldered wire.
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-2500 0 2500 0 27000 2000 25000 "1" "1" "square"]
+)
diff --git a/motors/packages/DO214AC.fp b/motors/packages/DO214AC.fp
new file mode 100644
index 0000000..443dc9c
--- /dev/null
+++ b/motors/packages/DO214AC.fp
@@ -0,0 +1,8 @@
+# This is the footprint recommended in
+# http://www.onsemi.com/pub/Collateral/MURA115T3-D.PDF.
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-7850 0 -7850 0 9900 2000 7900 "2" "2" "square"]
+	Pad[7850 0 7850 0 9900 2000 7900 "1" "1" "square"]
+	ElementLine[-2400 5000 -2400 -5000 1000]
+)
diff --git a/motors/packages/MSSOP8.fp b/motors/packages/MSSOP8.fp
new file mode 100644
index 0000000..8c552e4
--- /dev/null
+++ b/motors/packages/MSSOP8.fp
@@ -0,0 +1,17 @@
+# This is the footprint recommended in
+# http://cds.linear.com/docs/en/datasheet/1999fd.pdf.
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-3839 7125 -3839 9225 1650 2000 2850 "1" "1" "square"]
+	Pad[-1280 7125 -1280 9225 1650 2000 2850 "2" "2" "square"]
+	Pad[1280 7125 1280 9225 1650 2000 2850 "3" "3" "square"]
+	Pad[3839 7125 3839 9225 1650 2000 2850 "4" "4" "square"]
+	Pad[3839 -7125 3839 -9225 1650 2000 2850 "5" "5" "square"]
+	Pad[1280 -7125 1280 -9225 1650 2000 2850 "6" "6" "square"]
+	Pad[-1280 -7125 -1280 -9225 1650 2000 2850 "7" "7" "square"]
+	Pad[-3839 -7125 -3839 -9225 1650 2000 2850 "8" "8" "square"]
+
+	ElementArc[-4000 4000 1000 1000 0 360 800]
+	ElementLine[-6100 6000 -6100 -6000 800]
+	ElementLine[6100 6000 6100 -6000 800]
+)
diff --git a/motors/packages/PG-HSOF-8.fp b/motors/packages/PG-HSOF-8.fp
new file mode 100644
index 0000000..5fd6625
--- /dev/null
+++ b/motors/packages/PG-HSOF-8.fp
@@ -0,0 +1,131 @@
+# This is the footprint at
+# http://www.infineon.com/export/sites/default/en/product/packages/_images/09018a9080080b81.gif_2110767341.gif.
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	# Big drain SMD pad.
+	Pad[-17126 -28740 17126 -28740 7512 2000 5512 "D" "D" "square,nopaste"]
+	Pad[-11417 -20276 11417 -20276 13417 2000 11417 "D" "D" "square,nopaste"]
+	Pad[-11811 -7283 11811 -7283 16567 2000 14567 "D" "D" "square,nopaste"]
+
+	# Gate SMD pad + paste.
+	Pad[-17248 11417 -17248 19291 5150 2000 1000 "G" "G" "square,nopaste"]
+	Pad[-16535 11417 -16535 19291 1000 0 3150 "G" "G" "square,nopaste"]
+	Pad[-16535 11614 -16535 19094 2756 0 2756 "G" "G" "square"]
+
+	# Awkwardly shaped source SMD pad + paste.
+	Pad[-11098 11417 -11098 19291 5150 2000 1000 "S" "S" "square,nopaste"]
+	Pad[-11811 11417 -11811 19291 1000 0 3150 "S" "S" "square,nopaste"]
+	Pad[-11811 11614 -11811 19094 2756 0 2756 "S" "S" "square"]
+	Pad[-7087 11417 -7087 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[-7087 11614 -7087 19094 2756 0 2756 "S" "S" "square"]
+	Pad[-2362 11417 -2362 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[-2362 11614 -2362 19094 2756 0 2756 "S" "S" "square"]
+	Pad[2362 11417 2362 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[2362 11614 2362 19094 2756 0 2756 "S" "S" "square"]
+	Pad[7087 11417 7087 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[7087 11614 7087 19094 2756 0 2756 "S" "S" "square"]
+	Pad[11811 11417 11811 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[11811 11614 11811 19094 2756 0 2756 "S" "S" "square"]
+	Pad[16535 11417 16535 19291 5150 2000 3150 "S" "S" "square,nopaste"]
+	Pad[16535 11614 16535 19094 2756 0 2756 "S" "S" "square"]
+	Pad[-11098 11417 16535 11417 5150 2000 3150 "S" "S" "square,nopaste"]
+
+	# Bottom row of drain paste.
+	Pad[-16535 -4646 -16535 -4646 3937 0 3937 "D" "D" ""]
+	Pad[-11811 -4646 -11811 -4646 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -4646 -7087 -4646 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -4646 -2362 -4646 3937 0 3937 "D" "D" ""]
+	Pad[2362 -4646 2362 -4646 3937 0 3937 "D" "D" ""]
+	Pad[7087 -4646 7087 -4646 3937 0 3937 "D" "D" ""]
+	Pad[11811 -4646 11811 -4646 3937 0 3937 "D" "D" ""]
+	Pad[16535 -4646 16535 -4646 3937 0 3937 "D" "D" ""]
+
+	# Next row of drain paste up.
+	Pad[-16535 -9370 -16535 -9370 3937 0 3937 "D" "D" ""]
+	Pad[-11811 -9370 -11811 -9370 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -9370 -7087 -9370 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -9370 -2362 -9370 3937 0 3937 "D" "D" ""]
+	Pad[2362 -9370 2362 -9370 3937 0 3937 "D" "D" ""]
+	Pad[7087 -9370 7087 -9370 3937 0 3937 "D" "D" ""]
+	Pad[11811 -9370 11811 -9370 3937 0 3937 "D" "D" ""]
+	Pad[16535 -9370 16535 -9370 3937 0 3937 "D" "D" ""]
+
+	# Next row of drain paste up.
+	Pad[-11811 -14094 -11811 -14094 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -14094 -7087 -14094 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -14094 -2362 -14094 3937 0 3937 "D" "D" ""]
+	Pad[2362 -14094 2362 -14094 3937 0 3937 "D" "D" ""]
+	Pad[7087 -14094 7087 -14094 3937 0 3937 "D" "D" ""]
+	Pad[11811 -14094 11811 -14094 3937 0 3937 "D" "D" ""]
+
+	# Next row of drain paste up.
+	Pad[-11811 -18819 -11811 -18819 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -18819 -7087 -18819 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -18819 -2362 -18819 3937 0 3937 "D" "D" ""]
+	Pad[2362 -18819 2362 -18819 3937 0 3937 "D" "D" ""]
+	Pad[7087 -18819 7087 -18819 3937 0 3937 "D" "D" ""]
+	Pad[11811 -18819 11811 -18819 3937 0 3937 "D" "D" ""]
+
+	# Next row of drain paste up.
+	Pad[-11811 -23543 -11811 -23543 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -23543 -7087 -23543 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -23543 -2362 -23543 3937 0 3937 "D" "D" ""]
+	Pad[2362 -23543 2362 -23543 3937 0 3937 "D" "D" ""]
+	Pad[7087 -23543 7087 -23543 3937 0 3937 "D" "D" ""]
+	Pad[11811 -23543 11811 -23543 3937 0 3937 "D" "D" ""]
+
+	# Top row of drain paste.
+	Pad[-16535 -28268 -16535 -28268 3937 0 3937 "D" "D" ""]
+	Pad[-11811 -28268 -11811 -28268 3937 0 3937 "D" "D" ""]
+	Pad[-7087 -28268 -7087 -28268 3937 0 3937 "D" "D" ""]
+	Pad[-2362 -28268 -2362 -28268 3937 0 3937 "D" "D" ""]
+	Pad[2362 -28268 2362 -28268 3937 0 3937 "D" "D" ""]
+	Pad[7087 -28268 7087 -28268 3937 0 3937 "D" "D" ""]
+	Pad[11811 -28268 11811 -28268 3937 0 3937 "D" "D" ""]
+	Pad[16535 -28268 16535 -28268 3937 0 3937 "D" "D" ""]
+
+	# Top row of drain thermal vias.
+	Pin[-14173 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[-9449 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[-4724 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[0 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[4724 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[9449 -25905 3181 2000 100 1181 "D" "D" ""]
+	Pin[14173 -25905 3181 2000 100 1181 "D" "D" ""]
+
+	# Next row of drain thermal vias down.
+	Pin[-14173 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[-9449 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[-4724 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[0 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[4724 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[9449 -21181 3181 2000 100 1181 "D" "D" ""]
+	Pin[14173 -21181 3181 2000 100 1181 "D" "D" ""]
+
+	# Next row of drain thermal vias down.
+	Pin[-14173 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[-9449 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[-4724 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[0 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[4724 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[9449 -16456 3181 2000 100 1181 "D" "D" ""]
+	Pin[14173 -16456 3181 2000 100 1181 "D" "D" ""]
+
+	# Next row of drain thermal vias down.
+	Pin[-14173 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[-9449 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[-4724 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[0 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[4724 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[9449 -11732 3181 2000 100 1181 "D" "D" ""]
+	Pin[14173 -11732 3181 2000 100 1181 "D" "D" ""]
+
+	# Bottom row of drain thermal vias.
+	Pin[-14173 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[-9449 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[-4724 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[0 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[4724 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[9449 -7008 3181 2000 100 1181 "D" "D" ""]
+	Pin[14173 -7008 3181 2000 100 1181 "D" "D" ""]
+)
diff --git a/motors/packages/WSL4026.fp b/motors/packages/WSL4026.fp
new file mode 100644
index 0000000..fbdcfcf
--- /dev/null
+++ b/motors/packages/WSL4026.fp
@@ -0,0 +1,9 @@
+# This is the footprint recommended in
+# http://www.vishay.com/docs/30132/wsl4026.pdf.
+Element["" "" "" "" 0 0 0 0 0 100 ""]
+(
+	Pad[-19250 -1750 -13150 -1750 5500 2000 3500 "3" "3" "square"]
+	Pad[19250 -1750 13150 -1750 5500 2000 3500 "4" "4" "square"]
+	Pad[-16200 8300 -16200 20700 11600 2000 9600 "1" "1" "square"]
+	Pad[16200 8300 16200 20700 11600 2000 9600 "2" "2" "square"]
+)