add start_time parameter to unlogger (#19573)

* add start_time parameter to unlogger

* fix ui crash

* fix ui build
old-commit-hash: 5864f566df
vw-mqb-aeb
Mayfield 4 years ago committed by GitHub
parent 8fb744e905
commit 93d23902da
  1. 2
      selfdrive/ui/paint.cc
  2. 1
      selfdrive/ui/qt/widgets/drive_stats.cc
  3. 11
      tools/replay/unlogger.py

@ -164,7 +164,7 @@ static void update_track_data(UIState *s, const cereal::ModelDataV2::XYZTData::R
vertex_data *v = &pvd->v[0]; vertex_data *v = &pvd->v[0];
const float margin = 500.0f; const float margin = 500.0f;
for (int i = 0; line.getX()[i] <= path_length and i < TRAJECTORY_SIZE; i++) { for (int i = 0; i < TRAJECTORY_SIZE and line.getX()[i] <= path_length; i++) {
v += car_space_to_full_frame(s, line.getX()[i], -line.getY()[i] - off, -line.getZ()[i], &v->x, &v->y, margin); v += car_space_to_full_frame(s, line.getX()[i], -line.getY()[i] - off, -line.getZ()[i], &v->x, &v->y, margin);
max_idx = i; max_idx = i;
} }

@ -1,3 +1,4 @@
#include <cassert>
#include <iostream> #include <iostream>
#include <QFile> #include <QFile>

@ -104,7 +104,10 @@ class UnloggerWorker(object):
# Frame exists, make sure we have a framereader. # Frame exists, make sure we have a framereader.
# load the frame readers as needed # load the frame readers as needed
s1 = time.time() s1 = time.time()
img = self._frame_reader.get(frame_id, pix_fmt="rgb24") try:
img = self._frame_reader.get(frame_id, pix_fmt="rgb24")
except Exception:
pass
fr_time = time.time() - s1 fr_time = time.time() - s1
if fr_time > 0.05: if fr_time > 0.05:
print("FRAME(%d) LAG -- %.2f ms" % (frame_id, fr_time*1000.0)) print("FRAME(%d) LAG -- %.2f ms" % (frame_id, fr_time*1000.0))
@ -380,6 +383,10 @@ def get_arg_parser():
"--bind-early", action="store_true", default=False, "--bind-early", action="store_true", default=False,
help="Bind early to avoid dropping messages.") help="Bind early to avoid dropping messages.")
parser.add_argument(
"--start-time", type=float, default=0.,
help="Seek to this absolute time (in seconds) upon starting playback.")
return parser return parser
def main(argv): def main(argv):
@ -401,7 +408,7 @@ def main(argv):
else: else:
route_start_time = 0 route_start_time = 0
command_sock.send_pyobj( command_sock.send_pyobj(
SetRoute(args.route_name, 0, args.data_dir)) SetRoute(args.route_name, args.start_time, args.data_dir))
else: else:
print("waiting for external command...") print("waiting for external command...")
route_start_time = 0 route_start_time = 0

Loading…
Cancel
Save