Drivetrain replayer now has the gyro.
Change-Id: Ica3630eb65c11992f61d7bf719361cddd87fa95b
diff --git a/aos/common/controls/replay_control_loop.h b/aos/common/controls/replay_control_loop.h
index e258267..fa98463 100644
--- a/aos/common/controls/replay_control_loop.h
+++ b/aos/common/controls/replay_control_loop.h
@@ -52,6 +52,13 @@
replayer_.AddDirectQueueSender(process_name, "goal", loop_group_->goal);
}
+ template <class QT>
+ void AddDirectQueueSender(const ::std::string &process_name,
+ const ::std::string &log_message,
+ const ::aos::Queue<QT> &queue) {
+ replayer_.AddDirectQueueSender<QT>(process_name, log_message, queue);
+ }
+
// Replays messages from a file.
// filename can be straight from the command line; all sanity checking etc is
// handled by this function.
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
index 21d3051..6a380de 100644
--- a/y2014/control_loops/drivetrain/BUILD
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -11,6 +11,7 @@
':drivetrain_queue',
'//aos/common/controls:replay_control_loop',
'//aos/linux_code:init',
+ '//frc971/queues:gyro',
],
)
diff --git a/y2014/control_loops/drivetrain/replay_drivetrain.cc b/y2014/control_loops/drivetrain/replay_drivetrain.cc
index 26209fa..091d992 100644
--- a/y2014/control_loops/drivetrain/replay_drivetrain.cc
+++ b/y2014/control_loops/drivetrain/replay_drivetrain.cc
@@ -2,6 +2,7 @@
#include "aos/linux_code/init.h"
#include "y2014/control_loops/drivetrain/drivetrain.q.h"
+#include "frc971/queues/gyro.q.h"
// Reads one or more log files and sends out all the queue messages (in the
// correct order and at the correct time) to feed a "live" drivetrain process.
@@ -16,6 +17,9 @@
::aos::controls::ControlLoopReplayer<::frc971::control_loops::DrivetrainQueue>
replayer(&::frc971::control_loops::drivetrain_queue, "drivetrain");
+
+ replayer.AddDirectQueueSender("wpilib_interface.Gyro", "sending",
+ ::frc971::sensors::gyro_reading);
for (int i = 1; i < argc; ++i) {
replayer.ProcessFile(argv[i]);
}