Add superstructure state machine
Managing balls from the intake into the catapult
Change-Id: I88535ee82a876d63fe49e3607c6986690d704daf
Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
Signed-off-by: Ravago Jones <ravagojones@gmail.com>
diff --git a/y2022/control_loops/superstructure/superstructure_goal.fbs b/y2022/control_loops/superstructure/superstructure_goal.fbs
index ada39a2..379f6ba 100644
--- a/y2022/control_loops/superstructure/superstructure_goal.fbs
+++ b/y2022/control_loops/superstructure/superstructure_goal.fbs
@@ -3,8 +3,9 @@
namespace y2022.control_loops.superstructure;
table CatapultGoal {
- // If true, fire! The robot will only fire when ready.
- fire:bool (id: 0);
+ // Old fire flag, only kept for backwards-compatability with logs.
+ // Use the fire flag in the root Goal instead
+ fire:bool (id: 0, deprecated);
// The target shot position and velocity. If these are provided before fire
// is called, the optimizer can pre-compute the trajectory.
@@ -37,6 +38,15 @@
// Catapult goal state.
catapult:CatapultGoal (id: 8);
+
+ // If true, fire! The robot will only fire when ready.
+ fire:bool (id: 9);
+
+ // Aborts the shooting process if the ball has been loaded into the catapult
+ // and the superstructure is in the LOADED state.
+ cancel_shot:bool (id: 10);
}
+
+
root_type Goal;