Send more information to each camera

This is what I'm thinking so Parker can write code for it.

Change-Id: I766747ed6c1bf5adc8d1c29e5d1896b8806b6eb9
diff --git a/y2019/jevois/structures.h b/y2019/jevois/structures.h
index c82a089..15889c4 100644
--- a/y2019/jevois/structures.h
+++ b/y2019/jevois/structures.h
@@ -10,6 +10,7 @@
 #include "Eigen/Dense"
 
 #include "aos/containers/sized_array.h"
+#include "aos/time/time.h"
 
 namespace frc971 {
 namespace jevois {
@@ -106,6 +107,15 @@
 
 // This is all the information sent from the Teensy to each camera.
 struct CameraCalibration {
+  enum class CameraCommand {
+    // Stay in normal mode.
+    kNormal,
+    // Go to camera passthrough mode.
+    kCameraPassthrough,
+    // Go to being a useful USB device.
+    kUsb,
+  };
+
   bool operator==(const CameraCalibration &other) const {
     if (other.calibration != calibration) {
       return false;
@@ -120,6 +130,17 @@
   //
   // TODO(Parker): What are the details on how this is defined?
   Eigen::Matrix<float, 3, 4> calibration;
+
+  // A local timestamp from the Teensy. This starts at 0 when the Teensy is
+  // powered on.
+  aos::monotonic_clock::time_point teensy_now;
+
+  // A realtime timestamp from the roboRIO. This will be min_time if the roboRIO
+  // has never sent anything.
+  aos::realtime_clock::time_point realtime_now;
+
+  // What mode the camera should transition into.
+  CameraCommand camera_command;
 };
 
 // This is all the information the Teensy sends to the RoboRIO.
@@ -160,6 +181,9 @@
 
   // Whether the light ring for each camera should be on.
   std::bitset<5> light_rings;
+
+  // The current time.
+  aos::realtime_clock::time_point realtime_now;
 };
 
 }  // namespace jevois