Finish the pistol grip code

Change-Id: I95c03a95ac0ec64b4314ec310ad6535176b1d529
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index 05fc4a3..c499243 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -160,3 +160,62 @@
     '//y2016/control_loops/drivetrain:polydrivetrain_plants',
   ],
 )
+
+genrule(
+  name = 'genrule_haptic_wheel',
+  visibility = ['//visibility:private'],
+  cmd = '$(location //frc971/control_loops/python:haptic_wheel) $(OUTS)',
+  tools = [
+    '//frc971/control_loops/python:haptic_wheel',
+  ],
+  outs = [
+    'haptic_wheel.h',
+    'haptic_wheel.cc',
+    'integral_haptic_wheel.h',
+    'integral_haptic_wheel.cc',
+    'haptic_trigger.h',
+    'haptic_trigger.cc',
+    'integral_haptic_trigger.h',
+    'integral_haptic_trigger.cc',
+  ],
+  restricted_to = ["//tools:k8", "//tools:roborio", "//tools:armhf-debian", "//tools:cortex-m4f"],
+)
+
+cc_library(
+  name = 'haptic_input_uc',
+  hdrs = [
+    'haptic_wheel.h',
+    'integral_haptic_wheel.h',
+    'haptic_trigger.h',
+    'integral_haptic_trigger.h',
+  ],
+  srcs = [
+    'haptic_wheel.cc',
+    'integral_haptic_wheel.cc',
+    'haptic_trigger.cc',
+    'integral_haptic_trigger.cc',
+  ],
+  deps = [
+    '//frc971/control_loops:state_feedback_loop_uc',
+  ],
+  restricted_to = ["//tools:cortex-m4f"],
+)
+
+cc_library(
+  name = 'haptic_wheel',
+  hdrs = [
+    'haptic_wheel.h',
+    'integral_haptic_wheel.h',
+    'haptic_trigger.h',
+    'integral_haptic_trigger.h',
+  ],
+  srcs = [
+    'haptic_wheel.cc',
+    'integral_haptic_wheel.cc',
+    'haptic_trigger.cc',
+    'integral_haptic_trigger.cc',
+  ],
+  deps = [
+    '//frc971/control_loops:state_feedback_loop',
+  ],
+)