blob: 0323b784faf93f5c8a07fc5e242e6842b5e7b6ac [file] [log] [blame]
Alex Perrycb7da4b2019-08-28 19:35:56 -07001include "frc971/control_loops/control_loops.fbs";
2
3namespace y2018.control_loops.superstructure;
4
5table IntakeElasticSensors {
6 // Position of the motor end of the series elastic in radians.
7 motor_position:frc971.PotAndAbsolutePosition;
8
9 // Displacement of the spring in radians.
10 spring_angle:double;
11
12 // False if the beam break sensor isn't triggered, true if the beam breaker is
13 // triggered.
14 beam_break:bool;
15}
16
17table ArmPosition {
18 // Values of the encoder and potentiometer at the base of the proximal
19 // (connected to drivebase) arm in radians.
20 proximal:frc971.PotAndAbsolutePosition;
21
22 // Values of the encoder and potentiometer at the base of the distal
23 // (connected to proximal) arm in radians.
24 distal:frc971.PotAndAbsolutePosition;
25}
26
27
28table Position {
29 // Values of the series elastic encoders on the left side of the robot from
30 // the rear perspective in radians.
31 left_intake:IntakeElasticSensors;
32
33 // Values of the series elastic encoders on the right side of the robot from
34 // the rear perspective in radians.
35 right_intake:IntakeElasticSensors;
36
37 arm:ArmPosition;
38
39 // Value of the beam breaker sensor. This value is true if the beam is
40 // broken, false if the beam isn't broken.
41 claw_beambreak_triggered:bool;
42 // Value of the beambreak sensor detecting when the box has hit the frame
43 // cutout.
44 box_back_beambreak_triggered:bool;
45
46 // Distance to the box in meters.
47 box_distance:double;
48}
49
50root_type Position;