openpilot0/tools/replay
Nelson Chen c824ca1076 Update replay README.md to be more clear that auth.py is in tools/lib (#25366)
and a little minor format fix
old-commit-hash: 4fb318c5be
2022-08-04 15:06:36 -07:00
..
lib break up selfdrive.config (#23959) 2022-03-13 21:42:39 -07:00
tests replay: add support for reading from plain logs (#25053) 2022-07-15 10:53:10 -07:00
.gitignore move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
README.md Update replay README.md to be more clear that auth.py is in tools/lib (#25366) 2022-08-04 15:06:36 -07:00
SConscript fix MacOS buid: replay frameworks (#25061) 2022-07-07 16:13:05 +02:00
__init__.py
camera.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
camera.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
can_replay.py can replay: get logs in parallel (#24960) 2022-06-24 16:49:56 -07:00
consoleui.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
consoleui.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
filereader.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
filereader.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
framereader.cc framereader.cc: remove nv12toyuv_buffer (#24991) 2022-06-29 11:27:37 +02:00
framereader.h framereader.cc: remove nv12toyuv_buffer (#24991) 2022-06-29 11:27:37 +02:00
logreader.cc replay: add support for reading from plain logs (#25053) 2022-07-15 10:53:10 -07:00
logreader.h replay: add support for reading from plain logs (#25053) 2022-07-15 10:53:10 -07:00
main.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
replay.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
replay.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
route.cc replay: add support for reading from plain logs (#25053) 2022-07-15 10:53:10 -07:00
route.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
ui.py ui.py: update for nv12 2022-06-13 13:58:22 -07:00
unlog_ci_segment.py Mypy fixes for --check-untyped-defs (#24372) 2022-05-12 14:08:11 +02:00
util.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00
util.h move replay from selfdrive/ui/replay to tools/replay (#24971) 2022-06-28 16:12:42 +02:00

README.md

Replay

Replay driving data

replay replays all the messages logged while running openpilot.

# Log in via browser to have access to non-public routes
python tools/lib/auth.py

# Start a replay
tools/replay/replay <route-name>

# Example:
# tools/replay/replay '4cf7a6ad03080c90|2021-09-29--13-46-36'
# or use --demo to replay the default demo route:
# tools/replay/replay --demo

# watch the replay with the normal openpilot UI
cd selfdrive/ui && ./ui

# or try out a debug visualizer:
python replay/ui.py

usage

$ tools/replay/replay -h
Usage: tools/replay/replay [options] route
Mock openpilot components by publishing logged messages.

Options:
  -h, --help             Displays this help.
  -a, --allow <allow>    whitelist of services to send
  -b, --block <block>    blacklist of services to send
  -s, --start <seconds>  start from <seconds>
  --demo                 use a demo route instead of providing your own
  --dcam                 load driver camera
  --ecam                 load wide road camera

Arguments:
  route                  the drive to replay. find your drives at
                         connect.comma.ai

watch3

watch all three cameras simultaneously from your comma three routes with watch3

simply replay a route using the --dcam and --ecam flags:

# start a replay
cd tools/replay && ./replay --demo --dcam --ecam

# then start watch3
cd selfdrive/ui && ./watch3

Stream CAN messages to your device

Replay CAN messages as they were recorded using a panda jungle. The jungle has 6x OBD-C ports for connecting all your comma devices. Check out the jungle repo for more info.

can_replay.py is a convenient script for when any CAN data will do.

In order to replay specific route:

MOCK=1 selfdrive/boardd/tests/boardd_old.py

# In another terminal:
tools/replay/replay <route-name>