Make a mutual drivetrain between robots.

Change-Id: I23cc9634d9af5d0482dc5a5501dccc064b7b53d3
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
index 54d6581..9d7edb6 100644
--- a/y2014/control_loops/drivetrain/BUILD
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -2,29 +2,6 @@
 
 load('/aos/build/queues', 'queue_library')
 
-cc_binary(
-  name = 'replay_drivetrain',
-  srcs = [
-    'replay_drivetrain.cc',
-  ],
-  deps = [
-    ':drivetrain_queue',
-    '//aos/common/controls:replay_control_loop',
-    '//aos/linux_code:init',
-    '//frc971/queues:gyro',
-  ],
-)
-
-queue_library(
-  name = 'drivetrain_queue',
-  srcs = [
-    'drivetrain.q',
-  ],
-  deps = [
-    '//aos/common/controls:control_loop_queues',
-  ],
-)
-
 genrule(
   name = 'genrule_drivetrain',
   visibility = ['//visibility:private'],
@@ -73,83 +50,17 @@
 )
 
 cc_library(
-  name = 'ssdrivetrain',
+  name = 'drivetrain_base',
   srcs = [
-    'ssdrivetrain.cc',
+    'drivetrain_base.cc',
   ],
   hdrs = [
-    'ssdrivetrain.h',
+    'drivetrain_base.h',
   ],
   deps = [
-    ':drivetrain_queue',
+    ':polydrivetrain_plants',
     '//y2014:constants',
-    '//aos/common/controls:polytope',
-    '//aos/common:math',
-    '//aos/common/messages:robot_state',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/control_loops:coerce_goal',
-    '//aos/common/util:log_interval',
-    '//aos/common/logging:queue_logging',
-    '//aos/common/logging:matrix_logging',
-  ],
-)
-
-cc_library(
-  name = 'polydrivetrain',
-  srcs = [
-    'polydrivetrain.cc',
-  ],
-  hdrs = [
-    'polydrivetrain.h',
-  ],
-  deps = [
-    ':drivetrain_queue',
-    '//y2014:constants',
-    '//aos/common/controls:polytope',
-    '//aos/common:math',
-    '//aos/common/messages:robot_state',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/control_loops:coerce_goal',
-    '//aos/common/util:log_interval',
-    '//aos/common/logging:queue_logging',
-    '//aos/common/logging:matrix_logging',
-  ],
-)
-
-cc_library(
-  name = 'drivetrain_lib',
-  srcs = [
-    'drivetrain.cc',
-  ],
-  hdrs = [
-    'drivetrain.h',
-  ],
-  deps = [
-    ':drivetrain_queue',
-    ':polydrivetrain',
-    ':ssdrivetrain',
-    '//aos/common/controls:control_loop',
-    '//y2014:constants',
-    '//frc971/queues:gyro',
-    '//aos/common/util:log_interval',
-    '//aos/common/logging:queue_logging',
-    '//aos/common/logging:matrix_logging',
-  ],
-)
-
-cc_test(
-  name = 'drivetrain_lib_test',
-  srcs = [
-    'drivetrain_lib_test.cc',
-  ],
-  deps = [
-    '//aos/testing:googletest',
-    ':drivetrain_queue',
-    ':drivetrain_lib',
-    '//aos/common/controls:control_loop_test',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/queues:gyro',
-    '//aos/common:queues',
+    '//frc971/control_loops/drivetrain:drivetrain_config',
   ],
 )
 
@@ -159,8 +70,8 @@
     'drivetrain_main.cc',
   ],
   deps = [
+    ':drivetrain_base',
     '//aos/linux_code:init',
-    ':drivetrain_lib',
-    ':drivetrain_queue',
+    '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )