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/aos/robot_state/robot_state.fbs b/aos/robot_state/robot_state.fbs
new file mode 100644
index 0000000..437cfd7
--- /dev/null
+++ b/aos/robot_state/robot_state.fbs
@@ -0,0 +1,35 @@
+namespace aos;
+
+// This message is sent out on this queue when sensors are read. It contains
+// global robot state and information about whether the process reading sensors
+// has been restarted, along with all counters etc it keeps track of.  It is
+// published on "/aos"
+table RobotState {
+  // The PID of the process reading sensors.
+  // This is here so control loops can tell when it changes.
+  reader_pid:int;
+
+  // True when outputs are enabled.
+  // Motor controllers keep going for a bit after this goes to false.
+  outputs_enabled:bool;
+  // Indicates whether something is browned out (I think motor controller
+  // outputs). IMPORTANT: This is NOT !outputs_enabled. outputs_enabled goes to
+  // false for other reasons too (disabled, e-stopped, maybe more).
+  browned_out:bool;
+
+  // Whether the two sensor rails are currently working.
+  is_3v3_active:bool;
+  is_5v_active:bool;
+  // The current voltages measured on the two sensor rails.
+  voltage_3v3:double;
+  voltage_5v:double;
+
+  // The input voltage to the roboRIO.
+  voltage_roborio_in:double;
+
+  // From the DriverStation object, aka what FMS sees and what shows up on the
+  // actual driver's station.
+  voltage_battery:double;
+}
+
+root_type RobotState;