Move PDP values out to a separate queue so the timestamps make sense etc

Change-Id: Iad5303c3446dc29f339f02af9c9c99dd7c75d8e0
diff --git a/y2015_bot3/wpilib/wpilib_interface.cc b/y2015_bot3/wpilib/wpilib_interface.cc
index 6eee1ef..ad87fa5 100644
--- a/y2015_bot3/wpilib/wpilib_interface.cc
+++ b/y2015_bot3/wpilib/wpilib_interface.cc
@@ -94,8 +94,7 @@
 // Reads in our inputs. (sensors, voltages, etc.)
 class SensorReader {
  public:
-  SensorReader(::frc971::wpilib::PDPFetcher *pdp_fetcher)
-      : pdp_fetcher_(pdp_fetcher) {
+  SensorReader() {
     // Set it to filter out anything shorter than 1/4 of the minimum pulse width
     // we should ever see.
     filter_.SetPeriodNanoSeconds(
@@ -154,7 +153,7 @@
   }
 
   void RunIteration() {
-    ::frc971::wpilib::SendRobotState(my_pid_, ds_, pdp_fetcher_);
+    ::frc971::wpilib::SendRobotState(my_pid_, ds_);
 
     // Drivetrain
     {
@@ -195,7 +194,6 @@
  private:
   int32_t my_pid_;
   DriverStation *ds_;
-  ::frc971::wpilib::PDPFetcher *const pdp_fetcher_;
 
   ::std::unique_ptr<Encoder> left_encoder_, right_encoder_, elevator_encoder_;
   ::std::unique_ptr<DigitalInput> zeroing_hall_effect_;
@@ -478,7 +476,7 @@
 
     ::frc971::wpilib::PDPFetcher pdp_fetcher;
     ::std::thread pdp_fetcher_thread(::std::ref(pdp_fetcher));
-    SensorReader reader(&pdp_fetcher);
+    SensorReader reader;
 
     reader.set_elevator_encoder(encoder(6));
     reader.set_elevator_zeroing_hall_effect(make_unique<DigitalInput>(6));