Kill camera_frames queue

Use EventLoop instead.

Change-Id: I39352fecbddd677a32de1a0e77ac11947bc76c6f
diff --git a/y2019/wpilib_interface.cc b/y2019/wpilib_interface.cc
index 29f110a..b910a7f 100644
--- a/y2019/wpilib_interface.cc
+++ b/y2019/wpilib_interface.cc
@@ -20,6 +20,7 @@
 #undef ERROR
 
 #include "aos/commonmath.h"
+#include "aos/events/event-loop.h"
 #include "aos/events/shm-event-loop.h"
 #include "aos/init.h"
 #include "aos/logging/logging.h"
@@ -307,7 +308,12 @@
 
 class CameraReader {
  public:
-  CameraReader() = default;
+  CameraReader(::aos::EventLoop *event_loop)
+      : camera_frame_sender_(
+            event_loop
+                ->MakeSender<::y2019::control_loops::drivetrain::CameraFrame>(
+                    ".y2019.control_loops.drivetrain.camera_frames")) {}
+
   CameraReader(const CameraReader &) = delete;
   CameraReader &operator=(const CameraReader &) = delete;
 
@@ -366,7 +372,7 @@
 
     const auto now = aos::monotonic_clock::now();
     for (const auto &received : unpacked->frames) {
-      auto to_send = control_loops::drivetrain::camera_frames.MakeMessage();
+      auto to_send = camera_frame_sender_.MakeMessage();
       // Add an extra 10ms delay to account for unmodeled delays that Austin
       // thinks exists.
       to_send->timestamp =
@@ -420,6 +426,9 @@
   }
 
  private:
+  ::aos::Sender<::y2019::control_loops::drivetrain::CameraFrame>
+      camera_frame_sender_;
+
   frc::SPI *spi_ = nullptr;
   ::std::unique_ptr<frc::SPI> dummy_spi_;
 
@@ -709,7 +718,7 @@
 
     ::std::thread reader_thread(::std::ref(reader));
 
-    CameraReader camera_reader;
+    CameraReader camera_reader(&event_loop);
     frc::SPI camera_spi(frc::SPI::Port::kOnboardCS3);
     camera_reader.set_spi(&camera_spi);
     camera_reader.SetDummySPI(frc::SPI::Port::kOnboardCS2);