| include "frc971/control_loops/profiled_subsystem.fbs"; |
| include "frc971/control_loops/catapult/catapult_goal.fbs"; |
| |
| namespace y2024.control_loops.superstructure; |
| |
| // Represents goal for intake rollers |
| enum IntakeRollerGoal : ubyte { |
| NONE = 0, |
| SPIT = 1, |
| INTAKE = 2, |
| } |
| |
| // Represents goal for pivot on intake |
| enum IntakePivotGoal : ubyte { |
| EXTENDED = 0, |
| RETRACTED = 1, |
| } |
| |
| // Represents goal of transfer rollers |
| // TRANSFER_IN is for transfering game piece in from the intake to the shooter |
| // TRANSFER_OUT is for transfering game piece out to the intake for spitting |
| enum TransferRollerGoal : ubyte { |
| NONE = 0, |
| TRANSFER_IN = 1, |
| TRANSFER_OUT = 2, |
| } |
| |
| // Represents goal for climber |
| // FULL_EXTEND is for fully extending the climber |
| // HALF_EXTEND is for partially extending the climber |
| // RETRACT is for retracting the climber |
| enum ClimberGoal : ubyte { |
| FULL_EXTEND = 0, |
| HALF_EXTEND = 1, |
| RETRACT = 2, |
| } |
| |
| table Goal { |
| intake_roller_goal:IntakeRollerGoal (id: 0); |
| intake_pivot_goal:IntakePivotGoal (id: 1); |
| catapult_goal:frc971.control_loops.catapult.CatapultGoal (id: 2); |
| transfer_roller_goal:TransferRollerGoal (id: 3); |
| climber_goal:ClimberGoal (id: 4); |
| } |
| root_type Goal; |