cabana: fix events() call in AbstractStream::updateLastMsgsTo (#27360)

pull/27364/head
Willem Melching 2 years ago committed by GitHub
parent e6c02027d3
commit 8772306467
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      tools/cabana/streams/abstractstream.cc

@ -62,8 +62,9 @@ void AbstractStream::updateLastMsgsTo(double sec) {
last_msgs.reserve(can_msgs.size());
double route_start_time = routeStartTime();
uint64_t last_ts = (sec + route_start_time) * 1e9;
auto last = std::upper_bound(events()->rbegin(), events()->rend(), last_ts, [](uint64_t ts, auto &e) { return e->mono_time < ts; });
for (auto it = last; it != events()->rend(); ++it) {
auto evs = events();
auto last = std::upper_bound(evs->rbegin(), evs->rend(), last_ts, [](uint64_t ts, auto &e) { return e->mono_time < ts; });
for (auto it = last; it != evs->rend(); ++it) {
if ((*it)->which == cereal::Event::Which::CAN) {
for (const auto &c : (*it)->event.getCan()) {
auto &m = last_msgs[{.source = c.getSrc(), .address = c.getAddress()}];

Loading…
Cancel
Save