blob: bb7b706e5a5c9e89bab9d7953c6812126a8c8b46 [file] [log] [blame]
Niko Sohmers3860f8a2024-01-12 21:05:19 -08001include "frc971/control_loops/profiled_subsystem.fbs";
Nathan Leongdd728002024-02-03 15:26:53 -08002include "frc971/control_loops/catapult/catapult_goal.fbs";
Niko Sohmers3860f8a2024-01-12 21:05:19 -08003
4namespace y2024.control_loops.superstructure;
5
Niko Sohmers58e64c82024-01-14 12:49:54 -08006// Represents goal for intake rollers
7enum IntakeRollerGoal : ubyte {
8 NONE = 0,
9 SPIT = 1,
10 INTAKE = 2,
Niko Sohmers3860f8a2024-01-12 21:05:19 -080011}
12
Niko Sohmers58e64c82024-01-14 12:49:54 -080013// Represents goal for pivot on intake
14enum IntakePivotGoal : ubyte {
15 EXTENDED = 0,
Maxwell Hendersonbf04fb62024-01-19 17:56:07 -080016 RETRACTED = 1,
17}
18
Niko Sohmers78f71352024-02-02 16:47:40 -080019// Represents goal of transfer rollers
20// TRANSFER_IN is for transfering game piece in from the intake to the shooter
21// TRANSFER_OUT is for transfering game piece out to the intake for spitting
22enum TransferRollerGoal : ubyte {
23 NONE = 0,
24 TRANSFER_IN = 1,
25 TRANSFER_OUT = 2,
26}
27
Filip Kujawa57507152024-01-31 20:09:25 -080028// Represents goal for climber
29// FULL_EXTEND is for fully extending the climber
30// HALF_EXTEND is for partially extending the climber
31// RETRACT is for retracting the climber
32enum ClimberGoal : ubyte {
33 FULL_EXTEND = 0,
34 HALF_EXTEND = 1,
35 RETRACT = 2,
36}
37
Niko Sohmers58e64c82024-01-14 12:49:54 -080038table Goal {
39 intake_roller_goal:IntakeRollerGoal (id: 0);
40 intake_pivot_goal:IntakePivotGoal (id: 1);
Nathan Leongdd728002024-02-03 15:26:53 -080041 catapult_goal:frc971.control_loops.catapult.CatapultGoal (id: 2);
Niko Sohmers78f71352024-02-02 16:47:40 -080042 transfer_roller_goal:TransferRollerGoal (id: 3);
Filip Kujawa57507152024-01-31 20:09:25 -080043 climber_goal:ClimberGoal (id: 4);
Niko Sohmers58e64c82024-01-14 12:49:54 -080044}
Niko Sohmers3860f8a2024-01-12 21:05:19 -080045root_type Goal;