blob: c00c70ec795859ae996658f3cd6f0cc7b2527212 [file] [log] [blame]
Niko Sohmers3860f8a2024-01-12 21:05:19 -08001include "frc971/control_loops/profiled_subsystem.fbs";
2
3namespace y2024.control_loops.superstructure;
4
Niko Sohmers58e64c82024-01-14 12:49:54 -08005// Represents goal for intake rollers
6enum IntakeRollerGoal : ubyte {
7 NONE = 0,
8 SPIT = 1,
9 INTAKE = 2,
Niko Sohmers3860f8a2024-01-12 21:05:19 -080010}
11
Niko Sohmers58e64c82024-01-14 12:49:54 -080012// Represents goal for pivot on intake
13enum IntakePivotGoal : ubyte {
14 EXTENDED = 0,
Maxwell Hendersonbf04fb62024-01-19 17:56:07 -080015 RETRACTED = 1,
16}
17
18table CatapultGoal {
19 // The target shot position and velocity. If these are provided before fire
20 // is called, the optimizer can pre-compute the trajectory.
21 shot_position: double (id: 0);
22 shot_velocity: double (id: 1);
23
24 // Return position of the catapult
25 return_position: double (id: 2);
Niko Sohmers58e64c82024-01-14 12:49:54 -080026}
27
28table Goal {
29 intake_roller_goal:IntakeRollerGoal (id: 0);
30 intake_pivot_goal:IntakePivotGoal (id: 1);
Maxwell Hendersonbf04fb62024-01-19 17:56:07 -080031
32 catapult_goal:CatapultGoal (id: 2);
Niko Sohmers58e64c82024-01-14 12:49:54 -080033}
Niko Sohmers3860f8a2024-01-12 21:05:19 -080034
35root_type Goal;