From 2fcc8323dc1b80a84376a0122feb8cc4dc4d0416 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Tue, 12 Oct 2021 20:58:04 -0700 Subject: [PATCH] docs for tools/lib old-commit-hash: 431f6eac9586174960584d5c5cf397b3e9d5734b --- tools/lib/README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tools/lib/README.md diff --git a/tools/lib/README.md b/tools/lib/README.md new file mode 100644 index 0000000000..0e786504ff --- /dev/null +++ b/tools/lib/README.md @@ -0,0 +1,35 @@ +# tools libs + +## [route.py](route.py) & [logreader.py](logreader.py) + +Route is a class for conviently accessing all the [logs](/selfdrive/loggerd/) 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. + +```python +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) +```