Convert joystick readers to ActionJoystickInput

This removes most direct users of the autonomous queues.  Convert the
rest over to EventLoops.

Change-Id: I47ac7d5583d597cc9244573d810d512210d1e111
diff --git a/y2016/dashboard/dashboard.cc b/y2016/dashboard/dashboard.cc
index af6019c..98fcd7b 100644
--- a/y2016/dashboard/dashboard.cc
+++ b/y2016/dashboard/dashboard.cc
@@ -18,9 +18,7 @@
 #include "aos/seasocks/seasocks_logger.h"
 #include "aos/time/time.h"
 #include "aos/util/phased_loop.h"
-
 #include "frc971/autonomous/auto.q.h"
-
 #include "y2016/control_loops/superstructure/superstructure.q.h"
 #include "y2016/queues/ball_detector.q.h"
 #include "y2016/vision/vision.q.h"
@@ -57,6 +55,9 @@
       ball_detector_fetcher_(
           event_loop->MakeFetcher<::y2016::sensors::BallDetector>(
               ".y2016.sensors.ball_detector")),
+      autonomous_mode_fetcher_(
+          event_loop->MakeFetcher<::frc971::autonomous::AutonomousMode>(
+              ".frc971.autonomous.auto_mode")),
       cur_raw_data_("no data"),
       sample_id_(0),
       measure_index_(0),
@@ -88,7 +89,7 @@
   // gone wrong with reading the auto queue.
   int auto_mode_indicator = -1;
 
-  ::frc971::autonomous::auto_mode.FetchLatest();
+  autonomous_mode_fetcher_.Fetch();
   ::y2016::control_loops::superstructure_queue.status.FetchLatest();
   ball_detector_fetcher_.Fetch();
   vision_status_fetcher_.Fetch();
@@ -129,8 +130,8 @@
     }
   }
 
-  if (::frc971::autonomous::auto_mode.get()) {
-    auto_mode_indicator = ::frc971::autonomous::auto_mode->mode;
+  if (autonomous_mode_fetcher_.get()) {
+    auto_mode_indicator = autonomous_mode_fetcher_->mode;
   }
 
   AddPoint("big indicator", big_indicator);
diff --git a/y2016/dashboard/dashboard.h b/y2016/dashboard/dashboard.h
index 665d656..2e01f40 100644
--- a/y2016/dashboard/dashboard.h
+++ b/y2016/dashboard/dashboard.h
@@ -17,6 +17,7 @@
 #include "aos/events/event-loop.h"
 #include "aos/mutex/mutex.h"
 #include "aos/time/time.h"
+#include "frc971/autonomous/auto.q.h"
 #include "y2016/queues/ball_detector.q.h"
 #include "y2016/vision/vision.q.h"
 
@@ -66,6 +67,7 @@
 
   ::aos::Fetcher<::y2016::vision::VisionStatus> vision_status_fetcher_;
   ::aos::Fetcher<::y2016::sensors::BallDetector> ball_detector_fetcher_;
+  ::aos::Fetcher<::frc971::autonomous::AutonomousMode> autonomous_mode_fetcher_;
 
   // Storage vector that is written and overwritten with data in a FIFO fashion.
   ::std::vector<SampleItem> sample_items_;