blob: fb94d32ce5f7d83be6de9e8fa0c680eadc4b7500 [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
Sabina Davisedf89472020-02-17 15:27:37 -08006table FlywheelControllerStatus {
Tyler Chatowcf413662020-02-09 14:36:36 -08007 // The current average velocity in radians/second over the last kHistoryLength
8 // in shooter.h
Austin Schuhd7851b02020-11-14 13:46:27 -08009 avg_angular_velocity:double (id: 0);
Tyler Chatowcf413662020-02-09 14:36:36 -080010
11 // The current instantaneous filtered velocity in radians/second.
Austin Schuhd7851b02020-11-14 13:46:27 -080012 angular_velocity:double (id: 1);
Tyler Chatowcf413662020-02-09 14:36:36 -080013
14 // The target speed selected by the lookup table or from manual override
15 // Can be compared to velocity to determine if ready.
Austin Schuhd7851b02020-11-14 13:46:27 -080016 angular_velocity_goal:double (id: 2);
Austin Schuh43b9ae92020-02-29 23:08:38 -080017
18 // Voltage error.
Austin Schuhd7851b02020-11-14 13:46:27 -080019 voltage_error:double (id: 3);
Tyler Chatowcf413662020-02-09 14:36:36 -080020}
21
22table ShooterStatus {
23 // The final wheel shooting the ball
Austin Schuhd7851b02020-11-14 13:46:27 -080024 finisher:FlywheelControllerStatus (id: 0);
Tyler Chatowcf413662020-02-09 14:36:36 -080025
Sabina Davisedf89472020-02-17 15:27:37 -080026 // The subsystem to accelerate the ball before the finisher
Austin Schuh9dcd5202020-02-20 20:06:04 -080027 // Velocity is the fastest (top) wheel
Austin Schuhd7851b02020-11-14 13:46:27 -080028 accelerator_left:FlywheelControllerStatus (id: 1);
29 accelerator_right:FlywheelControllerStatus (id: 2);
Tyler Chatowcf413662020-02-09 14:36:36 -080030}
31
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080032table AimerStatus {
33 // The current goal angle for the turret auto-tracking, in radians.
Austin Schuhd7851b02020-11-14 13:46:27 -080034 turret_position:double (id: 0);
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080035 // The current goal velocity for the turret, in radians / sec.
Austin Schuhd7851b02020-11-14 13:46:27 -080036 turret_velocity:double (id: 1);
James Kuszmaula53c3ac2020-02-22 19:36:01 -080037 // Whether we are currently aiming for the inner port.
Austin Schuhd7851b02020-11-14 13:46:27 -080038 aiming_for_inner_port:bool (id: 2);
James Kuszmaul519585d2020-03-08 22:32:48 -070039 // The current distance to the target, in meters.
Austin Schuhd7851b02020-11-14 13:46:27 -080040 target_distance:double (id: 3);
James Kuszmaul519585d2020-03-08 22:32:48 -070041 // The current "shot distance." When shooting on the fly, this may be
42 // different from the static distance to the target.
Austin Schuhd7851b02020-11-14 13:46:27 -080043 shot_distance:double (id: 4);
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080044}
45
Stephan Massaltd021f972020-01-05 20:41:23 -080046table Status {
47 // All subsystems know their location.
Austin Schuhd7851b02020-11-14 13:46:27 -080048 zeroed:bool (id: 0);
Stephan Massaltd021f972020-01-05 20:41:23 -080049
Sabina Davis5187f862020-02-09 13:16:51 -080050 // If true, we have aborted. This is if one or all subsystem estops.
Austin Schuhd7851b02020-11-14 13:46:27 -080051 estopped:bool (id: 1);
Stephan Massaltd021f972020-01-05 20:41:23 -080052
Austin Schuh9dcd5202020-02-20 20:06:04 -080053 // Subsystem status.
Austin Schuhd7851b02020-11-14 13:46:27 -080054 hood:frc971.control_loops.AbsoluteEncoderProfiledJointStatus (id: 2);
55 intake:frc971.control_loops.AbsoluteEncoderProfiledJointStatus (id: 3);
56 turret:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 4);
Tyler Chatowcf413662020-02-09 14:36:36 -080057
58 // Shooter subsystem status.
Austin Schuhd7851b02020-11-14 13:46:27 -080059 shooter:ShooterStatus (id: 5);
Sabina Davis5187f862020-02-09 13:16:51 -080060
61 // Status of the control_panel
Austin Schuhd7851b02020-11-14 13:46:27 -080062 control_panel:frc971.control_loops.RelativeEncoderProfiledJointStatus (id: 6);
James Kuszmaulb1b2d8e2020-02-21 21:11:46 -080063
64 // Status of the vision auto-tracking.
Austin Schuhd7851b02020-11-14 13:46:27 -080065 aimer:AimerStatus (id: 7);
Stephan Massaltd021f972020-01-05 20:41:23 -080066}
67
68root_type Status;