Add a sensor message for relative encoder + index pulse

This is needed on the turret this year. Austin says there's no room
for more than this. The good news is that we can still zero with this
information.

Change-Id: I46f8a9bf0a864b717dfbf6dddfb03e848a8a7d30
diff --git a/frc971/control_loops/control_loops.q b/frc971/control_loops/control_loops.q
index 05a660b..f13d82b 100644
--- a/frc971/control_loops/control_loops.q
+++ b/frc971/control_loops/control_loops.q
@@ -1,5 +1,20 @@
 package frc971;
 
+// Represents all of the data for a single indexed encoder. In other words,
+// just a relative encoder with an index pulse.
+// The units on all of the positions are the same.
+// All encoder values are relative to where the encoder was at some arbitrary
+// point in time. All potentiometer values are relative to some arbitrary 0
+// position which varies with each robot.
+struct IndexPosition {
+  // Current position read from the encoder.
+  double encoder;
+  // Position from the encoder latched at the last index pulse.
+  double latched_encoder;
+  // How many index pulses we've seen since startup. Starts at 0.
+  uint32_t index_pulses;
+};
+
 // Represents all of the data for a single potentiometer and indexed encoder
 // pair.
 // The units on all of the positions are the same.