blob: cd727ac46be801ac995debefd6dbaa5315967f15 [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 Sohmers78f71352024-02-02 16:47:40 -080024// Contains status of transfer rollers
25enum TransferRollerState : ubyte {
26 NONE = 0,
27 TRANSFERING_IN = 1,
28 TRANSFERING_OUT = 2,
29}
30
Niko Sohmers3860f8a2024-01-12 21:05:19 -080031table Status {
32 // All subsystems know their location.
33 zeroed:bool (id: 0);
34
35 // If true, we have aborted. This is the or of all subsystem estops.
36 estopped:bool (id: 1);
Niko Sohmers58e64c82024-01-14 12:49:54 -080037
38 // State of the rollers
39 intake_roller_state:IntakeRollerState (id: 2);
40
41 // Estimated angle and angular velocitiy of the intake.
42 intake_pivot_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 3);
Niko Sohmers78f71352024-02-02 16:47:40 -080043
44 // State of transfer rollers
45 transfer_roller_state:TransferRollerState (id: 4);
Filip Kujawa57507152024-01-31 20:09:25 -080046
47 // Estimated angle and angular velocitiy of the climber.
48 climber_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 5);
Niko Sohmers3860f8a2024-01-12 21:05:19 -080049}
50
51root_type Status;