mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-26 16:13:54 +08:00
* add sphinx
* switch theme
* Experiment: sphinx docs generation updated (#22708)
* moved build to root gitignore, added .gitkeep
* Improved makefile doc build process
- Removed auto-generated docs from source control
- Moved apidoc.sh into Makefile
- Removed make.bat (can add back if Windows support desired)
- Added sphinx viewcode and markdown extensions
- Added feature to source /docs in build, so any .rst file in /docs will
override the respective file during the build process
- Added feature to copy all markdown/rst files from source into /build/
during build process so they can be easily referenced while writing
docs (see examples in index.md)
- Wrote basic starter index.md file
TODO: Add new dependencies to Pipfile [dev-packages]
* Revert accidental modification to Pipfile
* fix command substitution
* exclude xx
* improve docs
* dont include all docs in release build
* Add dockerfile
* update title
* include normal readme
* build container in CI
* use buildkit
* add login
Co-authored-by: Chad Bailey <chadbailey904@gmail.com>
old-commit-hash: b816b5b644
34 lines
983 B
Markdown
34 lines
983 B
Markdown
## LogReader
|
|
|
|
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)
|
|
```
|