Convert y2014 to use explicit ids

This makes it harder to accidentally break compatability

Change-Id: Id0e5cdb56a1e442b7d39fd7c9f9424a192462462
diff --git a/build_tests/test.fbs b/build_tests/test.fbs
index 71db3e7..ca153ac 100644
--- a/build_tests/test.fbs
+++ b/build_tests/test.fbs
@@ -1,11 +1,11 @@
 namespace aos.examples;
 
 table Foo {
-  value:int;
+  value:int32 (id: 0);
 }
 
 table Bar {
-  value:int;
+  value:int32 (id: 0);
 }
 
 root_type Foo;
diff --git a/y2014/control_loops/claw/claw_goal.fbs b/y2014/control_loops/claw/claw_goal.fbs
index eb5860c..8db5e68 100644
--- a/y2014/control_loops/claw/claw_goal.fbs
+++ b/y2014/control_loops/claw/claw_goal.fbs
@@ -3,13 +3,13 @@
 // All angles here are 0 vertical, positive "up" (aka backwards).
 table Goal {
   // The angle of the bottom claw.
-  bottom_angle:double;
+  bottom_angle:double (id: 0);
   // How much higher the top claw is.
-  separation_angle:double;
+  separation_angle:double (id: 1);
   // top claw intake roller
-  intake:double;
+  intake:double (id: 2);
   // bottom claw tusk centering
-  centering:double;
+  centering:double (id: 3);
 }
 
 root_type Goal;
diff --git a/y2014/control_loops/claw/claw_output.fbs b/y2014/control_loops/claw/claw_output.fbs
index 8cb42e0..d0a6b58 100644
--- a/y2014/control_loops/claw/claw_output.fbs
+++ b/y2014/control_loops/claw/claw_output.fbs
@@ -2,10 +2,10 @@
 
 // All angles here are 0 vertical, positive "up" (aka backwards).
 table Output {
-  intake_voltage:double;
-  top_claw_voltage:double;
-  bottom_claw_voltage:double;
-  tusk_voltage:double;
+  intake_voltage:double (id: 0);
+  top_claw_voltage:double (id: 1);
+  bottom_claw_voltage:double (id: 2);
+  tusk_voltage:double (id: 3);
 }
 
 root_type Output;
diff --git a/y2014/control_loops/claw/claw_position.fbs b/y2014/control_loops/claw/claw_position.fbs
index 17d9f17..2a8eb8a 100644
--- a/y2014/control_loops/claw/claw_position.fbs
+++ b/y2014/control_loops/claw/claw_position.fbs
@@ -5,21 +5,21 @@
 // All angles here are 0 vertical, positive "up" (aka backwards).
 table HalfClawPosition {
   // The current position of this half of the claw.
-  position:double;
+  position:double (id: 0);
 
   // The hall effect sensor at the front limit.
-  front:frc971.HallEffectStruct;
+  front:frc971.HallEffectStruct (id: 1);
   // The hall effect sensor in the middle to use for real calibration.
-  calibration:frc971.HallEffectStruct;
+  calibration:frc971.HallEffectStruct (id: 2);
   // The hall effect at the back limit.
-  back:frc971.HallEffectStruct;
+  back:frc971.HallEffectStruct (id: 3);
 }
 
 table Position {
   // All the top claw information.
-  top:HalfClawPosition;
+  top:HalfClawPosition (id: 0);
   // All the bottom claw information.
-  bottom:HalfClawPosition;
+  bottom:HalfClawPosition (id: 1);
 }
 
 root_type Position;
diff --git a/y2014/control_loops/claw/claw_status.fbs b/y2014/control_loops/claw/claw_status.fbs
index eda9279..7d502cc 100644
--- a/y2014/control_loops/claw/claw_status.fbs
+++ b/y2014/control_loops/claw/claw_status.fbs
@@ -3,19 +3,19 @@
 // All angles here are 0 vertical, positive "up" (aka backwards).
 table Status {
   // True if zeroed enough for the current period (autonomous or teleop).
-  zeroed:bool;
+  zeroed:bool (id: 0);
   // True if zeroed as much as we will force during autonomous.
-  zeroed_for_auto:bool;
+  zeroed_for_auto:bool (id: 1);
   // True if zeroed and within tolerance for separation and bottom angle.
-  done:bool;
+  done:bool (id: 2);
   // True if zeroed and within tolerance for separation and bottom angle.
   // seperation allowance much wider as a ball may be included
-  done_with_ball:bool;
+  done_with_ball:bool (id: 3);
   // Dump the values of the state matrix.
-  bottom:double;
-  bottom_velocity:double;
-  separation:double;
-  separation_velocity:double;
+  bottom:double (id: 4);
+  bottom_velocity:double (id: 5);
+  separation:double (id: 6);
+  separation_velocity:double (id: 7);
 }
 
 root_type Status;
diff --git a/y2014/control_loops/shooter/shooter_goal.fbs b/y2014/control_loops/shooter/shooter_goal.fbs
index 3326562..5f009e7 100644
--- a/y2014/control_loops/shooter/shooter_goal.fbs
+++ b/y2014/control_loops/shooter/shooter_goal.fbs
@@ -2,11 +2,11 @@
 
 table Goal {
   // Shot power in joules.
-  shot_power:double;
+  shot_power:double (id: 0);
   // Shoots as soon as this is true.
-  shot_requested:bool;
-  unload_requested:bool;
-  load_requested:bool;
+  shot_requested:bool (id: 1);
+  unload_requested:bool (id: 2);
+  load_requested:bool (id: 3);
 }
 
 root_type Goal;
diff --git a/y2014/control_loops/shooter/shooter_output.fbs b/y2014/control_loops/shooter/shooter_output.fbs
index e1900c4..eaf0713 100644
--- a/y2014/control_loops/shooter/shooter_output.fbs
+++ b/y2014/control_loops/shooter/shooter_output.fbs
@@ -1,11 +1,11 @@
 namespace y2014.control_loops.shooter;
 
 table Output {
-  voltage:double;
+  voltage:double (id: 0);
   // true: latch engaged, false: latch open
-  latch_piston:bool;
+  latch_piston:bool (id: 1);
   // true: brake engaged false: brake released
-  brake_piston:bool;
+  brake_piston:bool (id: 2);
 }
 
 root_type Output;
diff --git a/y2014/control_loops/shooter/shooter_position.fbs b/y2014/control_loops/shooter/shooter_position.fbs
index 9c73a1a..50a6129 100644
--- a/y2014/control_loops/shooter/shooter_position.fbs
+++ b/y2014/control_loops/shooter/shooter_position.fbs
@@ -5,17 +5,17 @@
 // Back is when the springs are all the way stretched.
 table Position {
   // In meters, out is positive.
-  position:double;
+  position:double (id: 0);
 
   // If the latch piston is fired and this hall effect has been triggered, the
   // plunger is all the way back and latched.
-  plunger:bool;
+  plunger:bool (id: 1);
   // Gets triggered when the pusher is all the way back.
-  pusher_distal:frc971.PosedgeOnlyCountedHallEffectStruct;
+  pusher_distal:frc971.PosedgeOnlyCountedHallEffectStruct (id: 2);
   // Triggers just before pusher_distal.
-  pusher_proximal:frc971.PosedgeOnlyCountedHallEffectStruct;
+  pusher_proximal:frc971.PosedgeOnlyCountedHallEffectStruct (id: 3);
   // Triggers when the latch engages.
-  latch:bool;
+  latch:bool (id: 4);
 }
 
 root_type Position;
diff --git a/y2014/control_loops/shooter/shooter_status.fbs b/y2014/control_loops/shooter/shooter_status.fbs
index 4e76e27..ba1969d 100644
--- a/y2014/control_loops/shooter/shooter_status.fbs
+++ b/y2014/control_loops/shooter/shooter_status.fbs
@@ -2,20 +2,20 @@
 
 table Status {
   // Whether it's ready to shoot right now.
-  ready:bool;
+  ready:bool (id: 0);
   // Whether the plunger is in and out of the way of grabbing a ball.
   // TODO(ben): Populate these!
   //cocked:bool;
   // How many times we've shot.
-  shots:int;
+  shots:int32 (id: 1);
   //done:bool;
   // What we think the current position of the hard stop on the shooter is, in
   // shot power (Joules).
-  hard_stop_power:double;
+  hard_stop_power:double (id: 2);
 
-  absolute_position:double;
-  absolute_velocity:double;
-  state:uint;
+  absolute_position:double (id: 3);
+  absolute_velocity:double (id: 4);
+  state:uint32 (id: 5);
 }
 
 root_type Status;
diff --git a/y2014/queues/auto_mode.fbs b/y2014/queues/auto_mode.fbs
index bca34f8..c9e6a65 100644
--- a/y2014/queues/auto_mode.fbs
+++ b/y2014/queues/auto_mode.fbs
@@ -3,7 +3,7 @@
 // Published on "/aos"
 table AutoMode {
   // Voltage of the analog auto selector knob.
-  voltage:double;
+  voltage:double (id: 0);
 }
 
 root_type AutoMode;
diff --git a/y2014/queues/hot_goal.fbs b/y2014/queues/hot_goal.fbs
index 5c4bd0d..527567b 100644
--- a/y2014/queues/hot_goal.fbs
+++ b/y2014/queues/hot_goal.fbs
@@ -2,8 +2,8 @@
 
 // Published on "/"
 table HotGoal {
-  left_count:ulong;
-  right_count:ulong;
+  left_count:uint64 (id: 0);
+  right_count:uint64 (id: 1);
 }
 
 root_type HotGoal;
diff --git a/y2014_bot3/control_loops/rollers/rollers_goal.fbs b/y2014_bot3/control_loops/rollers/rollers_goal.fbs
index 92ee589..3986d1f 100644
--- a/y2014_bot3/control_loops/rollers/rollers_goal.fbs
+++ b/y2014_bot3/control_loops/rollers/rollers_goal.fbs
@@ -2,11 +2,11 @@
 
 table Goal {
   // -1 = back intake, 1 = front intake, all else = stationary.
-  intake:int;
+  intake:int32 (id: 0);
   // -1 = backwards, 1 = forwards, all else = stationary.
-  low_spit:int;
+  low_spit:int (id: 1);
   // Whether we want the human player load function.
-  human_player:bool;
+  human_player:bool (id: 2);
 }
 
 root_type Goal;
diff --git a/y2014_bot3/control_loops/rollers/rollers_output.fbs b/y2014_bot3/control_loops/rollers/rollers_output.fbs
index daae09b..c1d023e 100644
--- a/y2014_bot3/control_loops/rollers/rollers_output.fbs
+++ b/y2014_bot3/control_loops/rollers/rollers_output.fbs
@@ -2,15 +2,15 @@
 
 table Output {
   // Positive voltage = intaking, Negative = spitting.
-  front_intake_voltage:double;
-  back_intake_voltage:double;
+  front_intake_voltage:double (id: 0);
+  back_intake_voltage:double (id: 1);
   // Voltage for the low goal rollers.
   // Positive voltage = ball towards back, Negative = ball towards front.
-  low_goal_voltage:double;
+  low_goal_voltage:double (id: 2);
 
   // Whether the front and back intake pistons are extended.
-  front_extended:bool;
-  back_extended:bool;
+  front_extended:bool (id: 3);
+  back_extended:bool (id: 4);
 }
 
 root_type Output;