juggle.py: migrate platform name (#32042)

* fix formatting!

* migrate plotjuggler platform for dbc

* test with can

* temp

* Revert "temp"

This reverts commit 9d740bf3bd.

Revert "test with can"

This reverts commit d6cf230489.

* fix test
pull/32039/head
Shane Smiskol 1 year ago committed by GitHub
parent d6d8e45931
commit 903cc225eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      .github/workflows/tools_tests.yaml
  2. 12
      tools/plotjuggler/juggle.py

@ -31,7 +31,7 @@ jobs:
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot
timeout-minutes: 5
run: ${{ env.RUN }} "scons -j$(nproc) cereal/ common/ --minimal"
run: ${{ env.RUN }} "scons -j$(nproc) cereal/ common/ opendbc/ --minimal"
- name: Test PlotJuggler
timeout-minutes: 2
run: |
@ -99,4 +99,4 @@ jobs:
- name: Test notebooks
timeout-minutes: 3
run: |
${{ env.RUN }} "pip install nbmake && pytest --nbmake tools/car_porting/examples/"
${{ env.RUN }} "pip install nbmake && pytest --nbmake tools/car_porting/examples/"

@ -11,19 +11,20 @@ import argparse
from functools import partial
from openpilot.common.basedir import BASEDIR
from openpilot.selfdrive.car.fingerprints import MIGRATION
from openpilot.tools.lib.helpers import save_log
from openpilot.tools.lib.logreader import LogReader, ReadMode
juggle_dir = os.path.dirname(os.path.realpath(__file__))
DEMO_ROUTE = "a2a0ccea32023010|2023-07-27--13-01-19"
RELEASES_URL="https://github.com/commaai/PlotJuggler/releases/download/latest"
RELEASES_URL = "https://github.com/commaai/PlotJuggler/releases/download/latest"
INSTALL_DIR = os.path.join(juggle_dir, "bin")
PLOTJUGGLER_BIN = os.path.join(juggle_dir, "bin/plotjuggler")
MINIMUM_PLOTJUGGLER_VERSION = (3, 5, 2)
MAX_STREAMING_BUFFER_SIZE = 1000
def install():
m = f"{platform.system()}-{platform.machine()}"
supported = ("Linux-x86_64", "Linux-aarch64", "Darwin-arm64", "Darwin-x86_64")
@ -38,7 +39,7 @@ def install():
with requests.get(url, stream=True, timeout=10) as r, tempfile.NamedTemporaryFile() as tmp:
r.raise_for_status()
with open(tmp.name, 'wb') as tmpf:
for chunk in r.iter_content(chunk_size=1024*1024):
for chunk in r.iter_content(chunk_size=1024 * 1024):
tmpf.write(chunk)
with tarfile.open(tmp.name) as tar:
@ -69,9 +70,11 @@ def start_juggler(fn=None, dbc=None, layout=None, route_or_segment_name=None):
cmd = f'{PLOTJUGGLER_BIN} --buffer_size {MAX_STREAMING_BUFFER_SIZE} --plugin_folders {INSTALL_DIR}{extra_args}'
subprocess.call(cmd, shell=True, env=env, cwd=juggle_dir)
def process(can, lr):
return [d for d in lr if can or d.which() not in ['can', 'sendcan']]
def juggle_route(route_or_segment_name, can, layout, dbc=None):
sr = LogReader(route_or_segment_name, default_mode=ReadMode.AUTO_INTERACTIVE)
@ -82,7 +85,8 @@ def juggle_route(route_or_segment_name, can, layout, dbc=None):
for cp in [m for m in all_data if m.which() == 'carParams']:
try:
DBC = __import__(f"openpilot.selfdrive.car.{cp.carParams.carName}.values", fromlist=['DBC']).DBC
dbc = DBC[cp.carParams.carFingerprint]['pt']
fingerprint = cp.carParams.carFingerprint
dbc = DBC[MIGRATION.get(fingerprint, fingerprint)]['pt']
except Exception:
pass
break

Loading…
Cancel
Save