Add shooter and serializer to messages

Change-Id: Ibea4922814886608905d9457f1a08e587af6a3e8
diff --git a/y2020/control_loops/superstructure/superstructure_status.fbs b/y2020/control_loops/superstructure/superstructure_status.fbs
index f231f17..45dbba8 100644
--- a/y2020/control_loops/superstructure/superstructure_status.fbs
+++ b/y2020/control_loops/superstructure/superstructure_status.fbs
@@ -3,6 +3,29 @@
 
 namespace y2020.control_loops.superstructure;
 
+table ShooterSegmentStatus {
+  // The current average velocity in radians/second over the last kHistoryLength
+  // in shooter.h
+  avg_angular_velocity:double;
+
+  // The current instantaneous filtered velocity in radians/second.
+  angular_velocity:double;
+
+  // The target speed selected by the lookup table or from manual override
+  // Can be compared to velocity to determine if ready.
+  angular_velocity_goal:double;
+}
+
+table ShooterStatus {
+  // The final wheel shooting the ball
+  flywheel:ShooterSegmentStatus;
+
+  // The subsystem to accelerate the ball before the flywheel
+  // Velocity is the slowest (lowest) wheel
+  kicker_left:ShooterSegmentStatus;
+  kicker_right:ShooterSegmentStatus;
+}
+
 table Status {
   // All subsystems know their location.
   zeroed:bool;
@@ -14,6 +37,9 @@
   hood:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
   intake:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
   turret:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus;
+
+  // Shooter subsystem status.
+  shooter:ShooterStatus;
 }
 
 root_type Status;