Add ball sorting

Discard balls that are not our alliance color

Signed-off-by: Ravago Jones <ravagojones@gmail.com>
Change-Id: Ic9ff9bfc724c74d0c6de4364ddc3999945c062d2
diff --git a/frc971/control_loops/control_loop_test.h b/frc971/control_loops/control_loop_test.h
index a820215..576d476 100644
--- a/frc971/control_loops/control_loop_test.h
+++ b/frc971/control_loops/control_loop_test.h
@@ -61,6 +61,9 @@
   void set_team_id(uint16_t team_id) { team_id_ = team_id; }
   uint16_t team_id() const { return team_id_; }
 
+  void set_alliance(aos::Alliance alliance) { alliance_ = alliance; }
+  aos::Alliance alliance() const { return alliance_; }
+
   // Sets the enabled/disabled bit and (potentially) rebroadcasts the robot
   // state messages.
   void SetEnabled(bool enabled) {
@@ -123,9 +126,9 @@
       builder.add_enabled(enabled_);
       builder.add_autonomous(false);
       builder.add_team_id(team_id_);
+      builder.add_alliance(alliance_);
 
-      CHECK_EQ(new_state.Send(builder.Finish()),
-               aos::RawSender::Error::kOk);
+      CHECK_EQ(new_state.Send(builder.Finish()), aos::RawSender::Error::kOk);
 
       last_ds_time_ = monotonic_now();
       last_enabled_ = enabled_;
@@ -165,6 +168,7 @@
   const ::std::chrono::nanoseconds dt_;
 
   uint16_t team_id_ = 971;
+  aos::Alliance alliance_ = aos::Alliance::kInvalid;
   int32_t reader_pid_ = 1;
   double battery_voltage_ = 12.4;