blob: 9084361e78a8db49b2e7d50673b995aa9bb037ab [file] [log] [blame]
include "frc971/control_loops/control_loops.fbs";
include "frc971/control_loops/profiled_subsystem.fbs";
namespace y2024.control_loops.superstructure;
// Contains if intake is intaking
enum IntakeRollerState : ubyte {
NONE = 0,
SPITTING = 1,
INTAKING = 2,
}
table ShooterStatus {
// Estimated angle and angular velocitiy of the turret.
turret_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 0);
// Estimated angle and angular velocitiy of the catapult.
catapult_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 1);
// Estimated angle and angular velocitiy of the altitude.
altitude_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 2);
}
// Contains status of transfer rollers
enum TransferRollerState : ubyte {
NONE = 0,
TRANSFERING_IN = 1,
TRANSFERING_OUT = 2,
}
table Status {
// All subsystems know their location.
zeroed:bool (id: 0);
// If true, we have aborted. This is the or of all subsystem estops.
estopped:bool (id: 1);
// State of the rollers
intake_roller_state:IntakeRollerState (id: 2);
// Estimated angle and angular velocitiy of the intake.
intake_pivot_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 3);
// State of transfer rollers
transfer_roller_state:TransferRollerState (id: 4);
}
root_type Status;