blob: bb7b706e5a5c9e89bab9d7953c6812126a8c8b46 [file] [log] [blame]
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;