nopenpilot/tools/lib
Vehicle Researcher bf338bf5e9 openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
..
tests openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
vidindex openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
README.md openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
__init__.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
api.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
auth.py openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
auth_config.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
cache.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
exceptions.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
filereader.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
framereader.py openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
kbhit.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
lazy_property.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
logreader.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00
robust_logreader.py openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
route.py openpilot v0.8.11 release 2021-11-29 13:48:50 -08:00
url_file.py openpilot v0.8.10 release 2021-10-27 17:59:56 -07:00

README.md

LogReader

Route is a class for conviently accessing all the logs from your routes. The LogReader class reads the non-video logs, i.e. rlog.bz2 and qlog.bz2. There's also a matching FrameReader class for reading the videos.

from tools.lib.route import Route
from tools.lib.logreader import LogReader

r = Route("4cf7a6ad03080c90|2021-09-29--13-46-36")

# get a list of paths for the route's rlog files
print(r.log_paths())

# and road camera (fcamera.hevc) files
print(r.camera_paths())

# setup a LogReader to read the route's first rlog
lr = LogReader(r.log_paths()[0])

# print out all the messages in the log
import codecs
codecs.register_error("strict", codecs.backslashreplace_errors)
for msg in lr:
  print(msg)

# setup a LogReader for the route's second qlog
lr = LogReader(r.log_paths()[1])

# print all the steering angles values from the log
for msg in lr:
  if msg.which() == "carState":
    print(msg.carState.steeringAngleDeg)