Convert aos over to flatbuffers
Everything builds, and all the tests pass. I suspect that some entries
are missing from the config files, but those will be found pretty
quickly on startup.
There is no logging or live introspection of queue messages.
Change-Id: I496ee01ed68f202c7851bed7e8786cee30df29f5
diff --git a/y2017/control_loops/superstructure/superstructure_goal.fbs b/y2017/control_loops/superstructure/superstructure_goal.fbs
new file mode 100644
index 0000000..6681262
--- /dev/null
+++ b/y2017/control_loops/superstructure/superstructure_goal.fbs
@@ -0,0 +1,74 @@
+include "frc971/control_loops/control_loops.fbs";
+
+namespace y2017.control_loops.superstructure;
+
+table IntakeGoal {
+ // Zero for the intake is when the front tube is tangent with the front of the
+ // frame. Positive is out.
+
+ // Goal distance of the intake.
+ distance:double;
+
+ // Caps on velocity/acceleration for profiling. 0 for the default.
+ profile_params:frc971.ProfileParameters;
+
+ // Voltage to send to the rollers. Positive is sucking in.
+ voltage_rollers:double;
+
+ // If true, disable the intake so we can hang.
+ disable_intake:bool;
+
+ // The gear servo value.
+ gear_servo:double;
+}
+
+table IndexerGoal {
+ // Indexer angular velocity goals in radians/second.
+ angular_velocity:double;
+
+ // Roller voltage. Positive is sucking in.
+ voltage_rollers:double;
+}
+
+table TurretGoal {
+ // An angle of zero means the turrent faces toward the front of the
+ // robot where the intake is located. The angle increases when the turret
+ // turns clockwise (towards right from the front), and decreases when
+ // the turrent turns counter-clockwise (towards left from the front).
+ // These are from a top view above the robot.
+ angle:double;
+
+ // If true, ignore the angle and track using vision. If we don't see
+ // anything, we'll use the turret goal above.
+ track:bool;
+
+ // Caps on velocity/acceleration for profiling. 0 for the default.
+ profile_params:frc971.ProfileParameters;
+}
+
+table HoodGoal {
+ // Angle the hood is currently at. An angle of zero is at the lower hard
+ // stop, angle increases as hood rises.
+ angle:double;
+
+ // Caps on velocity/acceleration for profiling. 0 for the default.
+ profile_params:frc971.ProfileParameters;
+}
+
+table ShooterGoal {
+ // Angular velocity goals in radians/second. Positive is shooting out of the
+ // robot.
+ angular_velocity:double;
+}
+
+table Goal {
+ intake:IntakeGoal;
+ indexer:IndexerGoal;
+ turret:TurretGoal;
+ hood:HoodGoal;
+ shooter:ShooterGoal;
+ lights_on:bool;
+ use_vision_for_shots:bool;
+}
+
+root_type Goal;