blob: 3dd2f2c50b40b0ca5af1e821dfc30e7e92d55a56 [file] [log] [blame]
include "frc971/control_loops/control_loops.fbs";
include "frc971/control_loops/profiled_subsystem.fbs";
namespace y2020.control_loops.superstructure;
table ShooterSegmentStatus {
// The current average velocity in radians/second over the last kHistoryLength
// in shooter.h
avg_angular_velocity:double;
// The current instantaneous filtered velocity in radians/second.
angular_velocity:double;
// The target speed selected by the lookup table or from manual override
// Can be compared to velocity to determine if ready.
angular_velocity_goal:double;
}
table ShooterStatus {
// The final wheel shooting the ball
flywheel:ShooterSegmentStatus;
// The subsystem to accelerate the ball before the flywheel
// Velocity is the slowest (lowest) wheel
kicker_left:ShooterSegmentStatus;
kicker_right:ShooterSegmentStatus;
}
table Status {
// All subsystems know their location.
zeroed:bool;
// If true, we have aborted. This is if one or all subsystem estops.
estopped:bool;
//Subsystem status.
hood:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
intake:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
turret:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus;
// Shooter subsystem status.
shooter:ShooterStatus;
// Status of the control_panel
control_panel:frc971.control_loops.RelativeEncoderProfiledJointStatus;
}
root_type Status;