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;