Fixed replay_drivetrain crashing on exit.
Change-Id: Id86e0bd471041214874d6ff8ff288175747f742a
diff --git a/y2014/control_loops/drivetrain/replay_drivetrain.cc b/y2014/control_loops/drivetrain/replay_drivetrain.cc
index 346ca69..b0ac33f 100644
--- a/y2014/control_loops/drivetrain/replay_drivetrain.cc
+++ b/y2014/control_loops/drivetrain/replay_drivetrain.cc
@@ -15,14 +15,22 @@
::aos::InitNRT();
- ::aos::controls::ControlLoopReplayer<::y2014::control_loops::DrivetrainQueue>
- replayer(&::y2014::control_loops::drivetrain_queue, "drivetrain");
+ {
+ ::aos::controls::ControlLoopReplayer<
+ ::y2014::control_loops::DrivetrainQueue>
+ replayer(&::y2014::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]);
+ replayer.AddDirectQueueSender("wpilib_interface.Gyro", "sending",
+ ::frc971::sensors::gyro_reading);
+ for (int i = 1; i < argc; ++i) {
+ replayer.ProcessFile(argv[i]);
+ }
}
+ ::frc971::sensors::gyro_reading.Clear();
+ ::y2014::control_loops::drivetrain_queue.goal.Clear();
+ ::y2014::control_loops::drivetrain_queue.status.Clear();
+ ::y2014::control_loops::drivetrain_queue.position.Clear();
+ ::y2014::control_loops::drivetrain_queue.output.Clear();
::aos::Cleanup();
}