Niko Sohmers | 3860f8a | 2024-01-12 21:05:19 -0800 | [diff] [blame] | 1 | include "frc971/control_loops/control_loops.fbs"; |
| 2 | include "frc971/control_loops/profiled_subsystem.fbs"; |
| 3 | |
| 4 | namespace y2024.control_loops.superstructure; |
| 5 | |
Niko Sohmers | 58e64c8 | 2024-01-14 12:49:54 -0800 | [diff] [blame] | 6 | // Contains if intake is intaking |
| 7 | enum IntakeRollerState : ubyte { |
| 8 | NONE = 0, |
| 9 | SPITTING = 1, |
| 10 | INTAKING = 2, |
| 11 | } |
| 12 | |
Maxwell Henderson | bf04fb6 | 2024-01-19 17:56:07 -0800 | [diff] [blame] | 13 | table 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 Sohmers | 3860f8a | 2024-01-12 21:05:19 -0800 | [diff] [blame] | 24 | table 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 Sohmers | 58e64c8 | 2024-01-14 12:49:54 -0800 | [diff] [blame] | 30 | |
| 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 Sohmers | 3860f8a | 2024-01-12 21:05:19 -0800 | [diff] [blame] | 36 | } |
| 37 | |
| 38 | root_type Status; |