blob: c7fe643e0ac312d91d8018f1aeb394ee4cc9ae09 [file] [log] [blame]
Stephan Massaltd021f972020-01-05 20:41:23 -08001include "frc971/control_loops/profiled_subsystem.fbs";
2
3namespace y2020.control_loops.superstructure;
4
Tyler Chatowcf413662020-02-09 14:36:36 -08005table ShooterGoal {
6 // Angular velocity in rad/s of the slowest (lowest) wheel in the kicker.
7 // Positive is shooting the ball.
Sabina Davisedf89472020-02-17 15:27:37 -08008 velocity_accelerator:double;
Tyler Chatowcf413662020-02-09 14:36:36 -08009
10 // Angular velocity in rad/s of the flywheel. Positive is shooting.
Sabina Davisedf89472020-02-17 15:27:37 -080011 velocity_finisher:double;
Tyler Chatowcf413662020-02-09 14:36:36 -080012}
13
Stephan Massaltd021f972020-01-05 20:41:23 -080014table Goal {
Sabina Davis70d5e912020-01-31 21:10:37 -080015 // Zero is at the horizontal, positive towards the front (meters on the lead screw).
Tyler Chatowcf413662020-02-09 14:36:36 -080016 // Only applies if hood_tracking = false.
Sabina Davis70d5e912020-01-31 21:10:37 -080017 hood:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Sabina Davis6b61de32020-02-02 12:42:51 -080018
Sabina Davis5187f862020-02-09 13:16:51 -080019 // Positive = counterclockwise from above; rotates Wheel of Fortune clockwise
20 // Zero is relative to start.
21 control_panel:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
22
Sabina Davis6737b092020-02-17 12:59:32 -080023 // 0 = Linkage on sprocket is pointing straight up
24 // Positive = forward
Sabina Davis6b61de32020-02-02 12:42:51 -080025 intake:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatow1879acc2020-02-01 13:26:48 -080026
John Park0a245a02020-02-02 14:10:15 -080027 // Positive is rollers intaking to Washing Machine.
Sabina Davis6b61de32020-02-02 12:42:51 -080028 roller_voltage:float;
Tyler Chatow1879acc2020-02-01 13:26:48 -080029
Austin Schuh2fb23642020-02-29 15:10:51 -080030 // 0 = facing the back of the robot. Positive rotates counterclockwise.
Tyler Chatow1879acc2020-02-01 13:26:48 -080031 turret:frc971.control_loops.StaticZeroingSingleDOFProfiledSubsystemGoal;
Tyler Chatowcf413662020-02-09 14:36:36 -080032
33 // Only applies if shooter_tracking = false.
34 shooter:ShooterGoal;
35
36 // Whether the robot should be shooting balls. Waits until hood, turret, and
37 // shooter are at goal (as determined by auto-tracking or override).
38 shooting:bool;
39
40 // Whether the hood should adjust its position automatically.
41 hood_tracking:bool;
42
43 // Whether the turret should follow the target automatically.
44 turret_tracking:bool;
45
46 // Whether the kicker and flywheel should choose a velocity automatically.
47 shooter_tracking:bool;
Sabina Davis6737b092020-02-17 12:59:32 -080048
49 // Positive is deploying climber and to climb; cannot run in reverse
John Park0a245a02020-02-02 14:10:15 -080050 climber_voltage:float;
Stephan Massaltd021f972020-01-05 20:41:23 -080051}
52
53root_type Goal;