Add end effector to superstructure
Add superstructure state machine for the end
effector, update flatbuffers to match, and send to
status.
Signed-off-by: Nathan Leong <nathanrleong@gmail.com>
Change-Id: I7f0c60f05a147ba6b3aec1e3488855c8e674c670
diff --git a/y2023/control_loops/superstructure/superstructure_status.fbs b/y2023/control_loops/superstructure/superstructure_status.fbs
index db86687..2555134 100644
--- a/y2023/control_loops/superstructure/superstructure_status.fbs
+++ b/y2023/control_loops/superstructure/superstructure_status.fbs
@@ -57,6 +57,19 @@
failed_solutions:uint32 (id: 17);
}
+// State of the superstructure state machine
+enum EndEffectorState : ubyte {
+ // Not doing anything
+ IDLE = 0,
+ // Intaking the game object into the end effector
+ INTAKING = 1,
+ // The game object is loaded into the end effector
+ LOADED = 2,
+ // Waiting for the arm to be at shooting goal and then telling the
+ // end effector to spit
+ SPITTING = 3,
+}
+
table Status {
// All subsystems know their location.
zeroed:bool (id: 0);
@@ -67,6 +80,8 @@
arm:ArmStatus (id: 2);
wrist:frc971.control_loops.AbsoluteEncoderProfiledJointStatus (id: 3);
+
+ end_effector_state:EndEffectorState (id: 4);
}
root_type Status;