Add drivetrain_replay binary for y2024

This lets us debug drivetrain/controller issues offline.

Change-Id: Ifad269cf953370f2173de32162b00548638225c8
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024/constants/simulated_constants_sender.cc b/y2024/constants/simulated_constants_sender.cc
index 28189f8..9b3ee5b 100644
--- a/y2024/constants/simulated_constants_sender.cc
+++ b/y2024/constants/simulated_constants_sender.cc
@@ -6,8 +6,13 @@
 
 namespace y2024 {
 bool SendSimulationConstants(aos::SimulatedEventLoopFactory *factory, int team,
-                             std::string constants_path) {
+                             std::string constants_path,
+                             const std::set<std::string_view> &node_names) {
   for (const aos::Node *node : factory->nodes()) {
+    if (!node_names.empty() &&
+        !node_names.contains(node->name()->string_view())) {
+      continue;
+    }
     std::unique_ptr<aos::EventLoop> event_loop =
         factory->MakeEventLoop("constants_sender", node);
     frc971::constants::ConstantSender<Constants, ConstantsList> sender(
diff --git a/y2024/constants/simulated_constants_sender.h b/y2024/constants/simulated_constants_sender.h
index 5ecc4da..40a5bdd 100644
--- a/y2024/constants/simulated_constants_sender.h
+++ b/y2024/constants/simulated_constants_sender.h
@@ -1,16 +1,21 @@
 #ifndef Y2024_CONSTANTS_SIMULATED_CONFIG_SENDER_H_
 #define Y2024_CONSTANTS_SIMULATED_CONFIG_SENDER_H_
 
+#include <set>
+
 #include "aos/events/simulated_event_loop.h"
 #include "aos/testing/path.h"
 
 namespace y2024 {
 // Returns true, to allow this to be easily called in the initializer list of a
 // constructor.
+// If node_names is specified, we limit ourselves to sending constants on the
+// specified nodes.
 bool SendSimulationConstants(
     aos::SimulatedEventLoopFactory *factory, int team,
     std::string constants_path =
-        aos::testing::ArtifactPath("y2024/constants/test_constants.json"));
+        aos::testing::ArtifactPath("y2024/constants/test_constants.json"),
+    const std::set<std::string_view> &node_names = {});
 }  // namespace y2024
 
 #endif  // Y2024_CONSTANTS_SIMULATED_CONFIG_SENDER_H_