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.
|
14 hours ago | |
---|---|---|
.. | ||
assets | 14 hours ago | |
layouts | 14 hours ago | |
README.md | 14 hours ago | |
data.py | 14 hours ago | |
datatree.py | 14 hours ago | |
layout.py | 14 hours ago | |
pluggle.py | 14 hours ago | |
views.py | 14 hours ago |
README.md
JotPluggler
JotPluggler is a tool to quickly visualize openpilot logs.
Usage
$ ./jotpluggler/pluggle.py -h
usage: pluggle.py [-h] [--demo] [--layout LAYOUT] [route]
A tool for visualizing openpilot logs.
positional arguments:
route Optional route name to load on startup.
options:
-h, --help show this help message and exit
--demo Use the demo route instead of providing one
--layout LAYOUT Path to YAML layout file to load on startup
Example using route name:
./pluggle.py "a2a0ccea32023010/2023-07-27--13-01-19"
Examples using segment:
./pluggle.py "a2a0ccea32023010/2023-07-27--13-01-19/1"
./pluggle.py "a2a0ccea32023010/2023-07-27--13-01-19/1/q" # use qlogs
Example using segment range:
./pluggle.py "a2a0ccea32023010/2023-07-27--13-01-19/0:1"
Demo
For a quick demo, run this command:
./pluggle.py --demo --layout=layouts/torque-controller.yaml
Basic Usage/Features:
- The text box to load a route is a the top left of the page, accepts standard openpilot format routes (e.g.
a2a0ccea32023010/2023-07-27--13-01-19/0:1
,https://connect.comma.ai/a2a0ccea32023010/2023-07-27--13-01-19/
) - The Play/Pause button is at the bottom of the screen, you can drag the bottom slider to seek. The timeline in timeseries plots are synced with the slider.
- The Timeseries List sidebar has several dropdowns, the fields each show the field name and value, synced with the timeline (will show N/A until the time of the first message in that field is reached).
- There is a search bar for the timeseries list, you can search for structs or fields, or both by separating with a "/"
- You can drag and drop any numeric/boolean field from the timeseries list into a timeseries panel.
- You can create more panels with the split buttons (buttons with two rectangles, either horizontal or vertical). You can resize the panels by dragging the grip in between any panel.
- You can load and save layouts with the corresponding buttons. Layouts will save all tabs, panels, titles, timeseries, etc.
Layouts
If you create a layout that's useful for others, consider upstreaming it.
Plot Interaction Controls
- Left click and drag within the plot area to pan X
- Left click and drag on an axis to pan an individual axis (disabled for Y-axis)
- Scroll in the plot area to zoom in X axes, Y-axis is autofit
- Scroll on an axis to zoom an individual axis
- Right click and drag to select data and zoom into the selected data
- Left click while box selecting to cancel the selection
- Double left click to fit all visible data
- Double left click on an axis to fit the individual axis (disabled for Y-axis, always autofit)
- Double right click to open the plot context menu
- Click legend label icons to show/hide plot items