forked from mawei/dp
1
0
Fork 0
dp/tools/lib
dragonpilot d8e5331c6e dragonpilot beta3
date: 2023-08-22T14:21:17
commit: 6148ce3d77530281f890970718e9c42b2acc5ff1
2023-08-22 14:21:31 -07:00
..
tests dragonpilot beta3 2023-08-07 16:49:44 +08:00
vidindex dragonpilot beta3 2023-07-26 22:20:51 +08:00
README.md dragonpilot beta3 2023-08-07 16:49:44 +08:00
__init__.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
api.py dragonpilot beta3 2023-07-26 22:20:51 +08:00
auth.py dragonpilot beta3 2023-08-22 14:21:31 -07:00
auth_config.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
bootlog.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
cache.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
exceptions.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
filereader.py dragonpilot beta3 2023-08-22 14:21:31 -07:00
framereader.py dragonpilot beta3 2023-08-22 14:21:31 -07:00
helpers.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
kbhit.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
logreader.py dragonpilot beta3 2023-08-22 14:21:31 -07:00
route.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00
url_file.py dragonpilot v2023.07.05 2023-07-05 18:59:58 -07:00

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 tools.lib.route import Route
from 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 tools.lib.route import Route
from 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)