| include "frc971/control_loops/profiled_subsystem.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, |
| } |
| |
| table CatapultGoal { |
| // The target shot position and velocity. If these are provided before fire |
| // is called, the optimizer can pre-compute the trajectory. |
| shot_position: double (id: 0); |
| shot_velocity: double (id: 1); |
| |
| // Return position of the catapult |
| return_position: double (id: 2); |
| } |
| |
| table Goal { |
| intake_roller_goal:IntakeRollerGoal (id: 0); |
| intake_pivot_goal:IntakePivotGoal (id: 1); |
| |
| catapult_goal:CatapultGoal (id: 2); |
| } |
| |
| root_type Goal; |