Add a catapult test which takes a shot.

It is hard to test that the optimization problem actually works
correctly, but we can check the plumbing to make sure it takes and
counts shots correctly.

Change-Id: I506fc2113d61471cb997e38e289de8f77a2ed4ab
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2022/control_loops/superstructure/catapult/catapult.h b/y2022/control_loops/superstructure/catapult/catapult.h
index a5ffc92..a8141a0 100644
--- a/y2022/control_loops/superstructure/catapult/catapult.h
+++ b/y2022/control_loops/superstructure/catapult/catapult.h
@@ -198,6 +198,9 @@
 
   bool mpc_active() const { return !use_profile_; }
 
+  // Returns the number of shots taken.
+  int shot_count() const { return shot_count_; }
+
   // Runs either the MPC or the profiled subsystem depending on if we are
   // shooting or not.  Returns the status.
   const flatbuffers::Offset<
@@ -219,6 +222,8 @@
 
   bool last_firing_ = false;
   bool use_profile_ = true;
+
+  int shot_count_ = 0;
 };
 
 }  // namespace catapult