blob: 82756dd52ff1f5d6f8be1d5bbf79384391ce5c7b [file] [log] [blame]
Niko Sohmers3860f8a2024-01-12 21:05:19 -08001include "frc971/control_loops/control_loops.fbs";
2include "frc971/control_loops/profiled_subsystem.fbs";
3
4namespace y2024.control_loops.superstructure;
5
Niko Sohmers58e64c82024-01-14 12:49:54 -08006// Contains if intake is intaking
7enum IntakeRollerState : ubyte {
8 NONE = 0,
9 SPITTING = 1,
10 INTAKING = 2,
11}
12
Maxwell Hendersonbf04fb62024-01-19 17:56:07 -080013table ShooterStatus {
14 // Estimated angle and angular velocitiy of the turret.
15 turret_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 0);
16
17 // Estimated angle and angular velocitiy of the catapult.
18 catapult_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 1);
19
20 // Estimated angle and angular velocitiy of the altitude.
21 altitude_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 2);
22}
23
Niko Sohmers3860f8a2024-01-12 21:05:19 -080024table Status {
25 // All subsystems know their location.
26 zeroed:bool (id: 0);
27
28 // If true, we have aborted. This is the or of all subsystem estops.
29 estopped:bool (id: 1);
Niko Sohmers58e64c82024-01-14 12:49:54 -080030
31 // State of the rollers
32 intake_roller_state:IntakeRollerState (id: 2);
33
34 // Estimated angle and angular velocitiy of the intake.
35 intake_pivot_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 3);
Niko Sohmers3860f8a2024-01-12 21:05:19 -080036}
37
38root_type Status;