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.
 
 
 
 
 
 
Justin Newberry 1cc555c37b Tests: expand temporary directory helpers for more directories (#29735) 2 years ago
..
tests Tests: expand temporary directory helpers for more directories (#29735) 2 years ago
vidindex cpplint: add filter `build/include_subdir` (#29585) 2 years ago
README.md add openpilot prefix to imports (#29498) 2 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 Linter: remove pylint (#29611) 2 years ago
auth_config.py add openpilot prefix to imports (#29498) 2 years ago
bootlog.py add openpilot prefix to imports (#29498) 2 years ago
cache.py add openpilot prefix to imports (#29498) 2 years ago
exceptions.py merge in tools 5 years ago
filereader.py add openpilot prefix to imports (#29498) 2 years ago
framereader.py Linter: remove pylint (#29611) 2 years ago
helpers.py process_replay: helpers (#28367) 2 years ago
kbhit.py mypy: enable --warn-unused-ignores (#24287) 3 years ago
logreader.py add openpilot prefix to imports (#29498) 2 years ago
route.py add openpilot prefix to imports (#29498) 2 years ago
url_file.py Linter: remove pylint (#29611) 2 years ago

README.md

LogReader

Route is a class for conveniently 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 openpilot.tools.lib.route import Route
from openpilot.tools.lib.logreader import LogReader

r = Route("a2a0ccea32023010|2023-07-27--13-01-19")

# 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)

MultiLogIterator

MultiLogIterator is similar to LogReader, but reads multiple logs.

from openpilot.tools.lib.route import Route
from openpilot.tools.lib.logreader import MultiLogIterator

# setup a MultiLogIterator to read all the logs in the route
r = Route("a2a0ccea32023010|2023-07-27--13-01-19")
lr = MultiLogIterator(r.log_paths())

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