Switch all robots over to use EventLoop

Stop using the old QueueGroup constructor for ControlLoop

Change-Id: I027febf86e75399a97cdb4dc50dbc475705e0393
diff --git a/y2014/control_loops/claw/BUILD b/y2014/control_loops/claw/BUILD
index f267251..0764895 100644
--- a/y2014/control_loops/claw/BUILD
+++ b/y2014/control_loops/claw/BUILD
@@ -1,105 +1,106 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
 
-load('//aos/build:queues.bzl', 'queue_library')
+load("//aos/build:queues.bzl", "queue_library")
 
 cc_binary(
-  name = 'replay_claw',
-  srcs = [
-    'replay_claw.cc',
-  ],
-  deps = [
-    ':claw_queue',
-    '//aos/controls:replay_control_loop',
-    '//aos:init',
-  ],
+    name = "replay_claw",
+    srcs = [
+        "replay_claw.cc",
+    ],
+    deps = [
+        ":claw_queue",
+        "//aos:init",
+        "//aos/controls:replay_control_loop",
+    ],
 )
 
 queue_library(
-  name = 'claw_queue',
-  srcs = [
-    'claw.q',
-  ],
-  deps = [
-    '//aos/controls:control_loop_queues',
-    '//frc971/control_loops:queues',
-  ],
+    name = "claw_queue",
+    srcs = [
+        "claw.q",
+    ],
+    deps = [
+        "//aos/controls:control_loop_queues",
+        "//frc971/control_loops:queues",
+    ],
 )
 
 genrule(
-  name = 'genrule_claw',
-  visibility = ['//visibility:private'],
-  cmd = '$(location //y2014/control_loops/python:claw) $(OUTS)',
-  tools = [
-    '//y2014/control_loops/python:claw',
-  ],
-  outs = [
-    'claw_motor_plant.h',
-    'claw_motor_plant.cc',
-  ],
+    name = "genrule_claw",
+    outs = [
+        "claw_motor_plant.h",
+        "claw_motor_plant.cc",
+    ],
+    cmd = "$(location //y2014/control_loops/python:claw) $(OUTS)",
+    tools = [
+        "//y2014/control_loops/python:claw",
+    ],
+    visibility = ["//visibility:private"],
 )
 
 cc_library(
-  name = 'claw_lib',
-  srcs = [
-    'claw.cc',
-    'claw_motor_plant.cc',
-  ],
-  hdrs = [
-    'claw.h',
-    'claw_motor_plant.h',
-  ],
-  deps = [
-    ':claw_queue',
-    '//aos/controls:control_loop',
-    '//aos/controls:polytope',
-    '//aos/logging:queue_logging',
-    '//aos/logging:matrix_logging',
-    '//aos:math',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/control_loops:coerce_goal',
-    '//frc971/control_loops:hall_effect_tracker',
-    '//y2014:constants',
-  ],
-  linkopts = [
-    '-lm',
-  ],
+    name = "claw_lib",
+    srcs = [
+        "claw.cc",
+        "claw_motor_plant.cc",
+    ],
+    hdrs = [
+        "claw.h",
+        "claw_motor_plant.h",
+    ],
+    linkopts = [
+        "-lm",
+    ],
+    deps = [
+        ":claw_queue",
+        "//aos:math",
+        "//aos/controls:control_loop",
+        "//aos/controls:polytope",
+        "//aos/logging:matrix_logging",
+        "//aos/logging:queue_logging",
+        "//frc971/control_loops:coerce_goal",
+        "//frc971/control_loops:hall_effect_tracker",
+        "//frc971/control_loops:state_feedback_loop",
+        "//y2014:constants",
+    ],
 )
 
 cc_test(
-  name = 'claw_lib_test',
-  srcs = [
-    'claw_lib_test.cc',
-  ],
-  deps = [
-    ':claw_lib',
-    ':claw_queue',
-    '//aos/controls:control_loop_test',
-    '//aos/testing:googletest',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/control_loops:team_number_test_environment',
-  ],
+    name = "claw_lib_test",
+    srcs = [
+        "claw_lib_test.cc",
+    ],
+    deps = [
+        ":claw_lib",
+        ":claw_queue",
+        "//aos/controls:control_loop_test",
+        "//aos/testing:googletest",
+        "//frc971/control_loops:state_feedback_loop",
+        "//frc971/control_loops:team_number_test_environment",
+    ],
 )
 
 cc_binary(
-  name = 'claw_calibration',
-  srcs = [
-    'claw_calibration.cc',
-  ],
-  deps = [
-    '//aos:init',
-    ':claw_queue',
-    '//aos/controls:control_loop',
-    '//y2014:constants',
-  ],
+    name = "claw_calibration",
+    srcs = [
+        "claw_calibration.cc",
+    ],
+    deps = [
+        ":claw_queue",
+        "//aos:init",
+        "//aos/controls:control_loop",
+        "//y2014:constants",
+    ],
 )
 
 cc_binary(
-  name = 'claw',
-  srcs = [
-    'claw_main.cc',
-  ],
-  deps = [
-    '//aos:init',
-    ':claw_lib',
-  ],
+    name = "claw",
+    srcs = [
+        "claw_main.cc",
+    ],
+    deps = [
+        ":claw_lib",
+        "//aos:init",
+        "//aos/events:shm-event-loop",
+    ],
 )
diff --git a/y2014/control_loops/claw/claw.cc b/y2014/control_loops/claw/claw.cc
index 82ca3a5..7a28a23 100644
--- a/y2014/control_loops/claw/claw.cc
+++ b/y2014/control_loops/claw/claw.cc
@@ -373,8 +373,9 @@
   return false;
 }
 
-ClawMotor::ClawMotor(::y2014::control_loops::ClawQueue *my_claw)
-    : aos::controls::ControlLoop<::y2014::control_loops::ClawQueue>(my_claw),
+ClawMotor::ClawMotor(::aos::EventLoop *event_loop, const ::std::string &name)
+    : aos::controls::ControlLoop<::y2014::control_loops::ClawQueue>(event_loop,
+                                                                    name),
       has_top_claw_goal_(false),
       top_claw_goal_(0.0),
       top_claw_(this),
diff --git a/y2014/control_loops/claw/claw.h b/y2014/control_loops/claw/claw.h
index 7995512..082ddce 100644
--- a/y2014/control_loops/claw/claw.h
+++ b/y2014/control_loops/claw/claw.h
@@ -185,8 +185,9 @@
 class ClawMotor
     : public aos::controls::ControlLoop<::y2014::control_loops::ClawQueue> {
  public:
-  explicit ClawMotor(::y2014::control_loops::ClawQueue *my_claw =
-                         &::y2014::control_loops::claw_queue);
+  explicit ClawMotor(
+      ::aos::EventLoop *event_loop,
+      const ::std::string &name = ".y2014.control_loops.claw_queue");
 
   // True if the state machine is ready.
   bool capped_goal() const { return capped_goal_; }
diff --git a/y2014/control_loops/claw/claw_lib_test.cc b/y2014/control_loops/claw/claw_lib_test.cc
index f10e61e..6545dcb 100644
--- a/y2014/control_loops/claw/claw_lib_test.cc
+++ b/y2014/control_loops/claw/claw_lib_test.cc
@@ -245,6 +245,7 @@
   // is no longer valid.
   ::y2014::control_loops::ClawQueue claw_queue;
 
+  ::aos::ShmEventLoop event_loop_;
   // Create a loop and simulation plant.
   ClawMotor claw_motor_;
   ClawMotorSimulation claw_motor_plant_;
@@ -259,7 +260,7 @@
                    ".y2014.control_loops.claw_queue.position",
                    ".y2014.control_loops.claw_queue.output",
                    ".y2014.control_loops.claw_queue.status"),
-        claw_motor_(&claw_queue),
+        claw_motor_(&event_loop_),
         claw_motor_plant_(0.4, 0.2),
         min_separation_(constants::GetValues().claw.claw_min_separation) {}
 
diff --git a/y2014/control_loops/claw/claw_main.cc b/y2014/control_loops/claw/claw_main.cc
index 5bb61ba..85497d9 100644
--- a/y2014/control_loops/claw/claw_main.cc
+++ b/y2014/control_loops/claw/claw_main.cc
@@ -1,10 +1,12 @@
 #include "y2014/control_loops/claw/claw.h"
 
+#include "aos/events/shm-event-loop.h"
 #include "aos/init.h"
 
 int main() {
   ::aos::Init();
-  ::y2014::control_loops::ClawMotor claw;
+  ::aos::ShmEventLoop event_loop;
+  ::y2014::control_loops::ClawMotor claw(&event_loop);
   claw.Run();
   ::aos::Cleanup();
   return 0;
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
index bed5cd9..858f7e0 100644
--- a/y2014/control_loops/drivetrain/BUILD
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -77,6 +77,7 @@
     deps = [
         ":drivetrain_base",
         "//aos:init",
+        "//aos/events:shm-event-loop",
         "//frc971/control_loops/drivetrain:drivetrain_lib",
     ],
 )
diff --git a/y2014/control_loops/drivetrain/drivetrain_main.cc b/y2014/control_loops/drivetrain/drivetrain_main.cc
index ae20bc8..19c2659 100644
--- a/y2014/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2014/control_loops/drivetrain/drivetrain_main.cc
@@ -1,13 +1,16 @@
 #include "aos/init.h"
 
-#include "y2014/control_loops/drivetrain/drivetrain_base.h"
+#include "aos/events/shm-event-loop.h"
 #include "frc971/control_loops/drivetrain/drivetrain.h"
+#include "y2014/control_loops/drivetrain/drivetrain_base.h"
 
 using ::frc971::control_loops::drivetrain::DrivetrainLoop;
 
 int main() {
   ::aos::Init();
-  DrivetrainLoop drivetrain(::y2014::control_loops::GetDrivetrainConfig());
+  ::aos::ShmEventLoop event_loop;
+  DrivetrainLoop drivetrain(::y2014::control_loops::GetDrivetrainConfig(),
+                            &event_loop);
   drivetrain.Run();
   ::aos::Cleanup();
   return 0;
diff --git a/y2014/control_loops/shooter/BUILD b/y2014/control_loops/shooter/BUILD
index 810d239..b58ff98 100644
--- a/y2014/control_loops/shooter/BUILD
+++ b/y2014/control_loops/shooter/BUILD
@@ -1,91 +1,92 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
 
-load('//aos/build:queues.bzl', 'queue_library')
+load("//aos/build:queues.bzl", "queue_library")
 
 cc_binary(
-  name = 'replay_shooter',
-  srcs = [
-    'replay_shooter.cc',
-  ],
-  deps = [
-    ':shooter_queue',
-    '//aos/controls:replay_control_loop',
-    '//aos:init',
-  ],
+    name = "replay_shooter",
+    srcs = [
+        "replay_shooter.cc",
+    ],
+    deps = [
+        ":shooter_queue",
+        "//aos:init",
+        "//aos/controls:replay_control_loop",
+    ],
 )
 
 queue_library(
-  name = 'shooter_queue',
-  srcs = [
-    'shooter.q',
-  ],
-  deps = [
-    '//aos/controls:control_loop_queues',
-    '//frc971/control_loops:queues',
-  ],
+    name = "shooter_queue",
+    srcs = [
+        "shooter.q",
+    ],
+    deps = [
+        "//aos/controls:control_loop_queues",
+        "//frc971/control_loops:queues",
+    ],
 )
 
 genrule(
-  name = 'genrule_shooter',
-  visibility = ['//visibility:private'],
-  cmd = '$(location //y2014/control_loops/python:shooter) $(OUTS)',
-  tools = [
-    '//y2014/control_loops/python:shooter',
-  ],
-  outs = [
-    'shooter_motor_plant.cc',
-    'shooter_motor_plant.h',
-    'unaugmented_shooter_motor_plant.cc',
-    'unaugmented_shooter_motor_plant.h',
-  ],
+    name = "genrule_shooter",
+    outs = [
+        "shooter_motor_plant.cc",
+        "shooter_motor_plant.h",
+        "unaugmented_shooter_motor_plant.cc",
+        "unaugmented_shooter_motor_plant.h",
+    ],
+    cmd = "$(location //y2014/control_loops/python:shooter) $(OUTS)",
+    tools = [
+        "//y2014/control_loops/python:shooter",
+    ],
+    visibility = ["//visibility:private"],
 )
 
 cc_library(
-  name = 'shooter_lib',
-  srcs = [
-    'shooter.cc',
-    'shooter_motor_plant.cc',
-    'unaugmented_shooter_motor_plant.cc',
-  ],
-  hdrs = [
-    'shooter.h',
-    'shooter_motor_plant.h',
-    'unaugmented_shooter_motor_plant.h',
-  ],
-  deps = [
-    ':shooter_queue',
-    '//aos/controls:control_loop',
-    '//y2014:constants',
-    '//frc971/control_loops:state_feedback_loop',
-    '//aos/logging:queue_logging',
-  ],
-  linkopts = [
-    '-lm',
-  ],
+    name = "shooter_lib",
+    srcs = [
+        "shooter.cc",
+        "shooter_motor_plant.cc",
+        "unaugmented_shooter_motor_plant.cc",
+    ],
+    hdrs = [
+        "shooter.h",
+        "shooter_motor_plant.h",
+        "unaugmented_shooter_motor_plant.h",
+    ],
+    linkopts = [
+        "-lm",
+    ],
+    deps = [
+        ":shooter_queue",
+        "//aos/controls:control_loop",
+        "//aos/logging:queue_logging",
+        "//frc971/control_loops:state_feedback_loop",
+        "//y2014:constants",
+    ],
 )
 
 cc_test(
-  name = 'shooter_lib_test',
-  srcs = [
-    'shooter_lib_test.cc',
-  ],
-  deps = [
-    ':shooter_lib',
-    ':shooter_queue',
-    '//aos/controls:control_loop_test',
-    '//aos/testing:googletest',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/control_loops:team_number_test_environment',
-  ],
+    name = "shooter_lib_test",
+    srcs = [
+        "shooter_lib_test.cc",
+    ],
+    deps = [
+        ":shooter_lib",
+        ":shooter_queue",
+        "//aos/controls:control_loop_test",
+        "//aos/testing:googletest",
+        "//frc971/control_loops:state_feedback_loop",
+        "//frc971/control_loops:team_number_test_environment",
+    ],
 )
 
 cc_binary(
-  name = 'shooter',
-  srcs = [
-    'shooter_main.cc',
-  ],
-  deps = [
-    '//aos:init',
-    ':shooter_lib',
-  ],
+    name = "shooter",
+    srcs = [
+        "shooter_main.cc",
+    ],
+    deps = [
+        ":shooter_lib",
+        "//aos:init",
+        "//aos/events:shm-event-loop",
+    ],
 )
diff --git a/y2014/control_loops/shooter/shooter.cc b/y2014/control_loops/shooter/shooter.cc
index 7f3a3b0..d87c638 100644
--- a/y2014/control_loops/shooter/shooter.cc
+++ b/y2014/control_loops/shooter/shooter.cc
@@ -116,9 +116,10 @@
                  previous_offset, offset_));
 }
 
-ShooterMotor::ShooterMotor(::y2014::control_loops::ShooterQueue *my_shooter)
+ShooterMotor::ShooterMotor(::aos::EventLoop *event_loop,
+                           const ::std::string &name)
     : aos::controls::ControlLoop<::y2014::control_loops::ShooterQueue>(
-          my_shooter),
+          event_loop, name),
       shooter_(MakeShooterLoop()),
       state_(STATE_INITIALIZE),
       cycles_not_moved_(0),
diff --git a/y2014/control_loops/shooter/shooter.h b/y2014/control_loops/shooter/shooter.h
index 75a05db..a9a255b 100644
--- a/y2014/control_loops/shooter/shooter.h
+++ b/y2014/control_loops/shooter/shooter.h
@@ -129,8 +129,9 @@
 class ShooterMotor
     : public aos::controls::ControlLoop<::y2014::control_loops::ShooterQueue> {
  public:
-  explicit ShooterMotor(::y2014::control_loops::ShooterQueue *my_shooter =
-                            &::y2014::control_loops::shooter_queue);
+  explicit ShooterMotor(
+      ::aos::EventLoop *event_loop,
+      const ::std::string &name = ".y2014.control_loops.shooter_queue");
 
   // True if the goal was moved to avoid goal windup.
   bool capped_goal() const { return shooter_.capped_goal(); }
diff --git a/y2014/control_loops/shooter/shooter_lib_test.cc b/y2014/control_loops/shooter/shooter_lib_test.cc
index a5ac55c..e88a33e 100644
--- a/y2014/control_loops/shooter/shooter_lib_test.cc
+++ b/y2014/control_loops/shooter/shooter_lib_test.cc
@@ -289,6 +289,7 @@
   // is no longer valid.
   ::y2014::control_loops::ShooterQueue shooter_queue_;
 
+  ::aos::ShmEventLoop event_loop_;
   // Create a loop and simulation plant.
   ShooterMotor shooter_motor_;
   ShooterSimulation shooter_motor_plant_;
@@ -303,7 +304,7 @@
                        ".y2014.control_loops.shooter_queue.position",
                        ".y2014.control_loops.shooter_queue.output",
                        ".y2014.control_loops.shooter_queue.status"),
-        shooter_motor_(&shooter_queue_),
+        shooter_motor_(&event_loop_),
         shooter_motor_plant_(0.2) {}
 
   void VerifyNearGoal() {
diff --git a/y2014/control_loops/shooter/shooter_main.cc b/y2014/control_loops/shooter/shooter_main.cc
index b6f4a8c..a7b60f9 100644
--- a/y2014/control_loops/shooter/shooter_main.cc
+++ b/y2014/control_loops/shooter/shooter_main.cc
@@ -1,10 +1,12 @@
 #include "y2014/control_loops/shooter/shooter.h"
 
+#include "aos/events/shm-event-loop.h"
 #include "aos/init.h"
 
 int main() {
   ::aos::Init();
-  ::y2014::control_loops::ShooterMotor shooter;
+  ::aos::ShmEventLoop event_loop;
+  ::y2014::control_loops::ShooterMotor shooter(&event_loop);
   shooter.Run();
   ::aos::Cleanup();
   return 0;