Switch all robots over to use EventLoop

Stop using the old QueueGroup constructor for ControlLoop

Change-Id: I027febf86e75399a97cdb4dc50dbc475705e0393
diff --git a/y2017/control_loops/superstructure/BUILD b/y2017/control_loops/superstructure/BUILD
index 732c6dc..e7e6f73 100644
--- a/y2017/control_loops/superstructure/BUILD
+++ b/y2017/control_loops/superstructure/BUILD
@@ -65,6 +65,7 @@
         ":superstructure_lib",
         ":superstructure_queue",
         "//aos:init",
+        "//aos/events:shm-event-loop",
     ],
 )
 
diff --git a/y2017/control_loops/superstructure/superstructure.cc b/y2017/control_loops/superstructure/superstructure.cc
index 054fab4..730cd24 100644
--- a/y2017/control_loops/superstructure/superstructure.cc
+++ b/y2017/control_loops/superstructure/superstructure.cc
@@ -23,10 +23,10 @@
 typedef ::y2017::constants::Values::ShotParams ShotParams;
 using ::frc971::control_loops::drivetrain_queue;
 
-Superstructure::Superstructure(
-    control_loops::SuperstructureQueue *superstructure_queue)
-    : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(
-          superstructure_queue) {
+Superstructure::Superstructure(::aos::EventLoop *event_loop,
+                               const ::std::string &name)
+    : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(event_loop,
+                                                                     name) {
   shot_interpolation_table_ =
       ::frc971::shooter_interpolation::InterpolationTable<ShotParams>({
           // { distance_to_target, { shot_angle, shot_power, indexer_velocity }},
diff --git a/y2017/control_loops/superstructure/superstructure.h b/y2017/control_loops/superstructure/superstructure.h
index 399e166..580b6a5 100644
--- a/y2017/control_loops/superstructure/superstructure.h
+++ b/y2017/control_loops/superstructure/superstructure.h
@@ -20,8 +20,8 @@
     : public ::aos::controls::ControlLoop<control_loops::SuperstructureQueue> {
  public:
   explicit Superstructure(
-      control_loops::SuperstructureQueue *my_superstructure =
-          &control_loops::superstructure_queue);
+      ::aos::EventLoop *event_loop,
+      const ::std::string &name = ".y2017.control_loops.superstructure_queue");
 
   const hood::Hood &hood() const { return hood_; }
   const intake::Intake &intake() const { return intake_; }
diff --git a/y2017/control_loops/superstructure/superstructure_lib_test.cc b/y2017/control_loops/superstructure/superstructure_lib_test.cc
index de47690..c8f55ff 100644
--- a/y2017/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2017/control_loops/superstructure/superstructure_lib_test.cc
@@ -134,11 +134,12 @@
         column_plant_(new ColumnPlant(
             ::y2017::control_loops::superstructure::column::MakeColumnPlant())),
 
-        superstructure_queue_(".y2017.control_loops.superstructure",
-                              ".y2017.control_loops.superstructure.goal",
-                              ".y2017.control_loops.superstructure.position",
-                              ".y2017.control_loops.superstructure.output",
-                              ".y2017.control_loops.superstructure.status") {
+        superstructure_queue_(
+            ".y2017.control_loops.superstructure_queue",
+            ".y2017.control_loops.superstructure_queue.goal",
+            ".y2017.control_loops.superstructure_queue.position",
+            ".y2017.control_loops.superstructure_queue.output",
+            ".y2017.control_loops.superstructure_queue.status") {
     // Start the hood out in the middle by default.
     InitializeHoodPosition((constants::Values::kHoodRange.lower +
                             constants::Values::kHoodRange.upper) /
@@ -432,12 +433,13 @@
 class SuperstructureTest : public ::aos::testing::ControlLoopTest {
  protected:
   SuperstructureTest()
-      : superstructure_queue_(".y2017.control_loops.superstructure",
-                              ".y2017.control_loops.superstructure.goal",
-                              ".y2017.control_loops.superstructure.position",
-                              ".y2017.control_loops.superstructure.output",
-                              ".y2017.control_loops.superstructure.status"),
-        superstructure_(&superstructure_queue_) {
+      : superstructure_queue_(
+            ".y2017.control_loops.superstructure_queue",
+            ".y2017.control_loops.superstructure_queue.goal",
+            ".y2017.control_loops.superstructure_queue.position",
+            ".y2017.control_loops.superstructure_queue.output",
+            ".y2017.control_loops.superstructure_queue.status"),
+        superstructure_(&event_loop_) {
     set_team_id(::frc971::control_loops::testing::kTeamNumber);
   }
 
@@ -562,6 +564,7 @@
   // that is no longer valid.
   SuperstructureQueue superstructure_queue_;
 
+  ::aos::ShmEventLoop event_loop_;
   // Create a control loop and simulation.
   Superstructure superstructure_;
   SuperstructureSimulation superstructure_plant_;
diff --git a/y2017/control_loops/superstructure/superstructure_main.cc b/y2017/control_loops/superstructure/superstructure_main.cc
index 6ab834b..6ebf91a 100644
--- a/y2017/control_loops/superstructure/superstructure_main.cc
+++ b/y2017/control_loops/superstructure/superstructure_main.cc
@@ -1,10 +1,13 @@
 #include "y2017/control_loops/superstructure/superstructure.h"
 
+#include "aos/events/shm-event-loop.h"
 #include "aos/init.h"
 
 int main() {
   ::aos::Init();
-  ::y2017::control_loops::superstructure::Superstructure superstructure;
+  ::aos::ShmEventLoop event_loop;
+  ::y2017::control_loops::superstructure::Superstructure superstructure(
+      &event_loop);
   superstructure.Run();
   ::aos::Cleanup();
   return 0;