make log_replay work on log files that start mid-stream
Change-Id: Iec77209681a5170664ef54f1ea30b321b8f042f8
diff --git a/aos/common/controls/replay_control_loop.h b/aos/common/controls/replay_control_loop.h
index 4791973..e258267 100644
--- a/aos/common/controls/replay_control_loop.h
+++ b/aos/common/controls/replay_control_loop.h
@@ -129,7 +129,13 @@
// Send out the position message (after adjusting the time offset) so the
// loop will run right now.
- CHECK(position_.have_new_message());
+ if (!position_.have_new_message()) {
+ LOG(WARNING, "don't have a new position this cycle -> skipping\n");
+ status_.clear_new_message();
+ position_.clear_new_message();
+ output_.clear_new_message();
+ continue;
+ }
::aos::time::OffsetToNow(position_.saved_message().sent_time);
{
auto position_message = loop_group_->position.MakeMessage();