Add shuttle auto-aim

This change prepares the code for shuttle support by adding a new button,
shot table, and shot target location for the shuttle shot.

Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
Change-Id: Ic70f1b0344fcab8316553cbda4a337cf8353dfd6
diff --git a/y2024/control_loops/superstructure/superstructure_goal.fbs b/y2024/control_loops/superstructure/superstructure_goal.fbs
index c217bcc..2a5fb00 100644
--- a/y2024/control_loops/superstructure/superstructure_goal.fbs
+++ b/y2024/control_loops/superstructure/superstructure_goal.fbs
@@ -26,11 +26,16 @@
     STOWED = 2,
 }
 
+enum AutoAimMode: ubyte {
+    NONE = 0, // No auto aim.
+    SPEAKER = 1, // Auto aim for the speaker shot.
+    SHUTTLE = 2, // Auto aim for the shuttle shot.
+}
+
 table ShooterGoal {
     catapult_goal:frc971.control_loops.catapult.CatapultGoal (id: 0);
 
-    // If true we ignore the other provided positions
-    auto_aim: bool (id: 1);
+    auto_aim: AutoAimMode (id: 1);
 
     // Position for the turret when we aren't auto aiming
     turret_position: frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal (id: 2);