| include "frc971/control_loops/control_loops.fbs"; |
| include "frc971/control_loops/profiled_subsystem.fbs"; |
| |
| namespace y2020.control_loops.superstructure; |
| |
| table FlywheelControllerStatus { |
| // 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 |
| finisher:FlywheelControllerStatus; |
| |
| // The subsystem to accelerate the ball before the finisher |
| // Velocity is the fastest (top) wheel |
| accelerator_left:FlywheelControllerStatus; |
| accelerator_right:FlywheelControllerStatus; |
| } |
| |
| table AimerStatus { |
| // The current goal angle for the turret auto-tracking, in radians. |
| turret_position:double; |
| // The current goal velocity for the turret, in radians / sec. |
| turret_velocity:double; |
| } |
| |
| 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; |
| |
| // Status of the vision auto-tracking. |
| aimer:AimerStatus; |
| } |
| |
| root_type Status; |