blob: 66812620b0041b232cfd6745bf4c4c2947374a3a [file] [log] [blame]
Alex Perrycb7da4b2019-08-28 19:35:56 -07001include "frc971/control_loops/control_loops.fbs";
2
3namespace y2017.control_loops.superstructure;
4
5table IntakeGoal {
6 // Zero for the intake is when the front tube is tangent with the front of the
7 // frame. Positive is out.
8
9 // Goal distance of the intake.
10 distance:double;
11
12 // Caps on velocity/acceleration for profiling. 0 for the default.
13 profile_params:frc971.ProfileParameters;
14
15 // Voltage to send to the rollers. Positive is sucking in.
16 voltage_rollers:double;
17
18 // If true, disable the intake so we can hang.
19 disable_intake:bool;
20
21 // The gear servo value.
22 gear_servo:double;
23}
24
25table IndexerGoal {
26 // Indexer angular velocity goals in radians/second.
27 angular_velocity:double;
28
29 // Roller voltage. Positive is sucking in.
30 voltage_rollers:double;
31}
32
33table TurretGoal {
34 // An angle of zero means the turrent faces toward the front of the
35 // robot where the intake is located. The angle increases when the turret
36 // turns clockwise (towards right from the front), and decreases when
37 // the turrent turns counter-clockwise (towards left from the front).
38 // These are from a top view above the robot.
39 angle:double;
40
41 // If true, ignore the angle and track using vision. If we don't see
42 // anything, we'll use the turret goal above.
43 track:bool;
44
45 // Caps on velocity/acceleration for profiling. 0 for the default.
46 profile_params:frc971.ProfileParameters;
47}
48
49table HoodGoal {
50 // Angle the hood is currently at. An angle of zero is at the lower hard
51 // stop, angle increases as hood rises.
52 angle:double;
53
54 // Caps on velocity/acceleration for profiling. 0 for the default.
55 profile_params:frc971.ProfileParameters;
56}
57
58table ShooterGoal {
59 // Angular velocity goals in radians/second. Positive is shooting out of the
60 // robot.
61 angular_velocity:double;
62}
63
64table Goal {
65 intake:IntakeGoal;
66 indexer:IndexerGoal;
67 turret:TurretGoal;
68 hood:HoodGoal;
69 shooter:ShooterGoal;
70 lights_on:bool;
71 use_vision_for_shots:bool;
72}
73
74root_type Goal;