blob: 45dbba88cab9303d7d1107d28666259f1defb056 [file] [log] [blame]
Stephan Massaltd021f972020-01-05 20:41:23 -08001include "frc971/control_loops/control_loops.fbs";
2include "frc971/control_loops/profiled_subsystem.fbs";
3
4namespace y2020.control_loops.superstructure;
5
Tyler Chatowcf413662020-02-09 14:36:36 -08006table ShooterSegmentStatus {
7 // The current average velocity in radians/second over the last kHistoryLength
8 // in shooter.h
9 avg_angular_velocity:double;
10
11 // The current instantaneous filtered velocity in radians/second.
12 angular_velocity:double;
13
14 // The target speed selected by the lookup table or from manual override
15 // Can be compared to velocity to determine if ready.
16 angular_velocity_goal:double;
17}
18
19table ShooterStatus {
20 // The final wheel shooting the ball
21 flywheel:ShooterSegmentStatus;
22
23 // The subsystem to accelerate the ball before the flywheel
24 // Velocity is the slowest (lowest) wheel
25 kicker_left:ShooterSegmentStatus;
26 kicker_right:ShooterSegmentStatus;
27}
28
Stephan Massaltd021f972020-01-05 20:41:23 -080029table Status {
30 // All subsystems know their location.
31 zeroed:bool;
32
33 // If true, we have aborted. This is the or of all subsystem estops.
34 estopped:bool;
35
Sabina Davis70d5e912020-01-31 21:10:37 -080036 //Subsystem status.
37 hood:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
Sabina Davis6b61de32020-02-02 12:42:51 -080038 intake:frc971.control_loops.AbsoluteEncoderProfiledJointStatus;
Tyler Chatow1879acc2020-02-01 13:26:48 -080039 turret:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus;
Tyler Chatowcf413662020-02-09 14:36:36 -080040
41 // Shooter subsystem status.
42 shooter:ShooterStatus;
Stephan Massaltd021f972020-01-05 20:41:23 -080043}
44
45root_type Status;