openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Willem Melching fd3140fd6f cleanup unused pip packages (#22947) 3 years ago
..
tests Fix test relying on SAFETY.md being in the root 4 years ago
vidindex Add pre-commit hooks (#1629) 5 years ago
README.md Sphinx docs generation (#22697) 4 years ago
__init__.py merge in tools 5 years ago
api.py tools: make auth optional for public routes (#22386) 4 years ago
auth.py tools/lib/auth.py: support github/apple login (#22766) 4 years ago
auth_config.py tools: make auth optional for public routes (#22386) 4 years ago
cache.py Less open file permissions (#21922) 4 years ago
exceptions.py merge in tools 5 years ago
filereader.py FrameIterator that uses 1+ GB less RAM (#21687) 4 years ago
framereader.py cleanup unused pip packages (#22947) 3 years ago
kbhit.py Add type hints, small cleanups (#21080) 4 years ago
lazy_property.py merge in tools 5 years ago
logreader.py fix log values with non-utf8 characters and remove index_log (#20173) 4 years ago
robust_logreader.py RobustLogReader that can recover corrupted bz2 files (#22835) 4 years ago
route.py tools/lib/route: expose raw file paths 4 years ago
url_file.py Less open file permissions (#21922) 4 years ago

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)