From df1663c58d6e72b46fc9b731fd905c03b6d30a74 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sun, 21 Jun 2026 17:32:19 -0700 Subject: [PATCH] the one true car.capnp (#38221) * the one true car.capnp * fix jotpluggler capnp import path * bump to master --- SConstruct | 1 + cereal/SConscript | 12 +++++++----- cereal/__init__.py | 8 ++++---- cereal/car.capnp | 1 - cereal/custom.capnp | 2 +- cereal/deprecated.capnp | 2 +- cereal/log.capnp | 4 ++-- cereal/messaging/tests/test_messaging.py | 3 ++- opendbc_repo | 2 +- selfdrive/car/car_specific.py | 3 ++- selfdrive/car/card.py | 3 ++- selfdrive/car/cruise.py | 2 +- selfdrive/car/tests/test_car_interfaces.py | 2 +- selfdrive/car/tests/test_cruise_speed.py | 2 +- selfdrive/controls/controlsd.py | 3 ++- selfdrive/controls/lib/longcontrol.py | 2 +- selfdrive/controls/plannerd.py | 2 +- selfdrive/controls/radard.py | 3 ++- selfdrive/controls/tests/test_latcontrol.py | 3 ++- .../controls/tests/test_latcontrol_torque_buffer.py | 3 ++- selfdrive/controls/tests/test_longcontrol.py | 2 +- .../controls/tests/test_torqued_lat_accel_offset.py | 3 ++- selfdrive/locationd/calibrationd.py | 3 ++- selfdrive/locationd/lagd.py | 3 ++- selfdrive/locationd/paramsd.py | 3 ++- selfdrive/locationd/test/test_lagd.py | 3 ++- selfdrive/locationd/test/test_torqued.py | 2 +- selfdrive/locationd/torqued.py | 3 ++- selfdrive/modeld/modeld.py | 3 ++- selfdrive/monitoring/policy.py | 3 ++- selfdrive/pandad/tests/test_pandad_loopback.py | 3 ++- selfdrive/selfdrived/events.py | 3 ++- selfdrive/selfdrived/helpers.py | 3 ++- selfdrive/selfdrived/selfdrived.py | 3 ++- selfdrive/selfdrived/tests/test_alerts.py | 3 ++- selfdrive/test/process_replay/migration.py | 3 ++- selfdrive/test/process_replay/process_replay.py | 2 +- selfdrive/ui/feedback/feedbackd.py | 2 +- selfdrive/ui/mici/onroad/alert_renderer.py | 3 ++- selfdrive/ui/mici/onroad/augmented_road_view.py | 3 ++- selfdrive/ui/mici/onroad/driver_camera_dialog.py | 3 ++- selfdrive/ui/mici/onroad/model_renderer.py | 3 ++- selfdrive/ui/onroad/model_renderer.py | 3 ++- selfdrive/ui/soundd.py | 3 ++- selfdrive/ui/tests/diff/replay_script.py | 3 ++- selfdrive/ui/tests/test_feedbackd.py | 2 +- selfdrive/ui/tests/test_soundd.py | 2 +- selfdrive/ui/ui_state.py | 3 ++- system/athena/athenad.py | 3 ++- system/manager/process.py | 3 ++- system/manager/process_config.py | 2 +- system/manager/test/test_manager.py | 2 +- tools/jotpluggler/SConscript | 2 ++ tools/jotpluggler/generate_event_extractors.py | 2 +- tools/joystick/joystickd.py | 3 ++- tools/lateral_maneuvers/generate_report.py | 2 +- tools/lateral_maneuvers/lateral_maneuversd.py | 3 ++- tools/longitudinal_maneuvers/maneuversd.py | 3 ++- tools/scripts/car/fw_versions.py | 2 +- tools/scripts/cycle_alerts.py | 3 ++- tools/scripts/set_car_params.py | 2 +- tools/scripts/uiview.py | 3 ++- 62 files changed, 108 insertions(+), 68 deletions(-) delete mode 120000 cereal/car.capnp diff --git a/SConstruct b/SConstruct index 31d4af801b..9429daea15 100644 --- a/SConstruct +++ b/SConstruct @@ -114,6 +114,7 @@ env = Environment( CPPPATH=[ "#", "#msgq", + "#cereal/gen/cpp", acados_include_dirs, [x.INCLUDE_DIR for x in pkgs], ], diff --git a/cereal/SConscript b/cereal/SConscript index de7ca0d721..bee7620b1e 100644 --- a/cereal/SConscript +++ b/cereal/SConscript @@ -4,12 +4,14 @@ cereal_dir = Dir('.') gen_dir = Dir('gen') # Build cereal -schema_files = ['log.capnp', 'car.capnp', 'deprecated.capnp', 'custom.capnp'] -env.Command([f'gen/cpp/{s}.c++' for s in schema_files] + [f'gen/cpp/{s}.h' for s in schema_files], - schema_files, - f"capnpc --src-prefix={cereal_dir.path} $SOURCES -o c++:{gen_dir.path}/cpp/") +schema_files = ['log.capnp', 'deprecated.capnp', 'custom.capnp'] +car_capnp = '#opendbc_repo/opendbc/car/car.capnp' +all_output = schema_files + ['car.capnp'] +env.Command([f'gen/cpp/{s}.c++' for s in all_output] + [f'gen/cpp/{s}.h' for s in all_output], + schema_files + [car_capnp], + f"capnpc --src-prefix={cereal_dir.path} --src-prefix=opendbc_repo/opendbc/car --import-path=opendbc_repo/opendbc/car $SOURCES -o c++:{gen_dir.path}/cpp/") -cereal = env.Library('cereal', [f'gen/cpp/{s}.c++' for s in schema_files]) +cereal = env.Library('cereal', [f'gen/cpp/{s}.c++' for s in all_output]) # Build messaging services_h = env.Command(['services.h'], ['services.py'], 'python3 ' + cereal_dir.path + '/services.py > $TARGET') diff --git a/cereal/__init__.py b/cereal/__init__.py index 93f4d77227..d4f6504652 100644 --- a/cereal/__init__.py +++ b/cereal/__init__.py @@ -4,8 +4,8 @@ from importlib.resources import as_file, files capnp.remove_import_hook() -with as_file(files("cereal")) as fspath: +with as_file(files("cereal")) as fspath, as_file(files("opendbc")) as opendbc_path: CEREAL_PATH = fspath.as_posix() - log = capnp.load(os.path.join(CEREAL_PATH, "log.capnp")) - car = capnp.load(os.path.join(CEREAL_PATH, "car.capnp")) - custom = capnp.load(os.path.join(CEREAL_PATH, "custom.capnp")) + opendbc_import_path = os.path.join(os.path.realpath(opendbc_path.as_posix()), 'car') + log = capnp.load(os.path.join(CEREAL_PATH, "log.capnp"), imports=[opendbc_import_path]) + custom = capnp.load(os.path.join(CEREAL_PATH, "custom.capnp"), imports=[opendbc_import_path]) diff --git a/cereal/car.capnp b/cereal/car.capnp deleted file mode 120000 index 4bc7f89b1f..0000000000 --- a/cereal/car.capnp +++ /dev/null @@ -1 +0,0 @@ -../opendbc_repo/opendbc/car/car.capnp \ No newline at end of file diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 3348e859ef..42804e0a97 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -1,4 +1,4 @@ -using Cxx = import "./include/c++.capnp"; +using Cxx = import "/include/c++.capnp"; $Cxx.namespace("cereal"); @0xb526ba661d550a59; diff --git a/cereal/deprecated.capnp b/cereal/deprecated.capnp index 5e4b0b4de0..37153e4d62 100644 --- a/cereal/deprecated.capnp +++ b/cereal/deprecated.capnp @@ -1,4 +1,4 @@ -using Cxx = import "./include/c++.capnp"; +using Cxx = import "/include/c++.capnp"; $Cxx.namespace("cereal"); @0x80ef1ec4889c2a63; diff --git a/cereal/log.capnp b/cereal/log.capnp index ec7a065eb7..02536e46b1 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -1,7 +1,7 @@ -using Cxx = import "./include/c++.capnp"; +using Cxx = import "/include/c++.capnp"; $Cxx.namespace("cereal"); -using Car = import "car.capnp"; +using Car = import "/car.capnp"; using Deprecated = import "deprecated.capnp"; using Custom = import "custom.capnp"; diff --git a/cereal/messaging/tests/test_messaging.py b/cereal/messaging/tests/test_messaging.py index 97388446f4..22601158a6 100644 --- a/cereal/messaging/tests/test_messaging.py +++ b/cereal/messaging/tests/test_messaging.py @@ -8,7 +8,8 @@ import time from openpilot.common.parameterized import parameterized import pytest -from cereal import log, car +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from cereal.services import SERVICE_LIST diff --git a/opendbc_repo b/opendbc_repo index 75889fd928..7e3a0703b9 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 75889fd9283730feb6ec824a00975fda0807bbc5 +Subproject commit 7e3a0703b9d254812151f3660b6f8549432c954e diff --git a/selfdrive/car/car_specific.py b/selfdrive/car/car_specific.py index baa29978e3..1487f4380c 100644 --- a/selfdrive/car/car_specific.py +++ b/selfdrive/car/car_specific.py @@ -1,4 +1,5 @@ -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from opendbc.car import DT_CTRL, structs from opendbc.car.car_helpers import interfaces from opendbc.car.interfaces import MAX_CTRL_SPEED diff --git a/selfdrive/car/card.py b/selfdrive/car/card.py index 1660881a9a..f5186699ac 100755 --- a/selfdrive/car/card.py +++ b/selfdrive/car/card.py @@ -5,7 +5,8 @@ import threading import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.common.realtime import config_realtime_process, Priority, Ratekeeper diff --git a/selfdrive/car/cruise.py b/selfdrive/car/cruise.py index 0d761844b5..5e2f9db306 100644 --- a/selfdrive/car/cruise.py +++ b/selfdrive/car/cruise.py @@ -1,7 +1,7 @@ import math import numpy as np -from cereal import car +from opendbc.car.structs import car from openpilot.common.constants import CV diff --git a/selfdrive/car/tests/test_car_interfaces.py b/selfdrive/car/tests/test_car_interfaces.py index 1bc59326a2..7ddd73c2d8 100644 --- a/selfdrive/car/tests/test_car_interfaces.py +++ b/selfdrive/car/tests/test_car_interfaces.py @@ -3,7 +3,7 @@ import hypothesis.strategies as st from hypothesis import Phase, given, settings from openpilot.common.parameterized import parameterized -from cereal import car +from opendbc.car.structs import car from opendbc.car import DT_CTRL from opendbc.car.structs import CarParams from opendbc.car.tests.test_car_interfaces import get_fuzzy_car_interface diff --git a/selfdrive/car/tests/test_cruise_speed.py b/selfdrive/car/tests/test_cruise_speed.py index bfb060874d..3b3fb115ba 100644 --- a/selfdrive/car/tests/test_cruise_speed.py +++ b/selfdrive/car/tests/test_cruise_speed.py @@ -5,7 +5,7 @@ import numpy as np from openpilot.common.parameterized import parameterized_class from cereal import log from openpilot.selfdrive.car.cruise import VCruiseHelper, V_CRUISE_MIN, V_CRUISE_MAX, V_CRUISE_INITIAL, IMPERIAL_INCREMENT -from cereal import car +from opendbc.car.structs import car from openpilot.common.constants import CV from openpilot.selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 5e3817c298..67566cf0a7 100755 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -2,7 +2,8 @@ import math from numbers import Number -from cereal import car, log +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from openpilot.common.constants import CV from openpilot.common.params import Params diff --git a/selfdrive/controls/lib/longcontrol.py b/selfdrive/controls/lib/longcontrol.py index 62dbc842c5..1132fedda6 100644 --- a/selfdrive/controls/lib/longcontrol.py +++ b/selfdrive/controls/lib/longcontrol.py @@ -1,5 +1,5 @@ import numpy as np -from cereal import car +from opendbc.car.structs import car from openpilot.common.realtime import DT_CTRL from openpilot.selfdrive.controls.lib.drive_helpers import CONTROL_N from openpilot.common.pid import PIDController diff --git a/selfdrive/controls/plannerd.py b/selfdrive/controls/plannerd.py index bec7eede0b..49c4473590 100755 --- a/selfdrive/controls/plannerd.py +++ b/selfdrive/controls/plannerd.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -from cereal import car +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.common.realtime import Priority, config_realtime_process from openpilot.common.swaglog import cloudlog diff --git a/selfdrive/controls/radard.py b/selfdrive/controls/radard.py index 6450ff416a..9d438661b3 100755 --- a/selfdrive/controls/radard.py +++ b/selfdrive/controls/radard.py @@ -5,7 +5,8 @@ from collections import deque from typing import Any import capnp -from cereal import messaging, log, car +from cereal import messaging, log +from opendbc.car.structs import car from openpilot.common.filter_simple import FirstOrderFilter from openpilot.common.params import Params from openpilot.common.realtime import DT_MDL, Priority, config_realtime_process diff --git a/selfdrive/controls/tests/test_latcontrol.py b/selfdrive/controls/tests/test_latcontrol.py index 5c3381edce..9cd5e6307c 100644 --- a/selfdrive/controls/tests/test_latcontrol.py +++ b/selfdrive/controls/tests/test_latcontrol.py @@ -1,6 +1,7 @@ from openpilot.common.parameterized import parameterized -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from opendbc.car.car_helpers import interfaces from opendbc.car.honda.values import CAR as HONDA from opendbc.car.toyota.values import CAR as TOYOTA diff --git a/selfdrive/controls/tests/test_latcontrol_torque_buffer.py b/selfdrive/controls/tests/test_latcontrol_torque_buffer.py index ab1d2c7b36..6a7ed5419e 100644 --- a/selfdrive/controls/tests/test_latcontrol_torque_buffer.py +++ b/selfdrive/controls/tests/test_latcontrol_torque_buffer.py @@ -1,6 +1,7 @@ from openpilot.common.parameterized import parameterized -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from opendbc.car.car_helpers import interfaces from opendbc.car.toyota.values import CAR as TOYOTA from opendbc.car.vehicle_model import VehicleModel diff --git a/selfdrive/controls/tests/test_longcontrol.py b/selfdrive/controls/tests/test_longcontrol.py index ab50810d89..da916b156f 100644 --- a/selfdrive/controls/tests/test_longcontrol.py +++ b/selfdrive/controls/tests/test_longcontrol.py @@ -1,4 +1,4 @@ -from cereal import car +from opendbc.car.structs import car from openpilot.selfdrive.controls.lib.longcontrol import LongCtrlState, long_control_state_trans diff --git a/selfdrive/controls/tests/test_torqued_lat_accel_offset.py b/selfdrive/controls/tests/test_torqued_lat_accel_offset.py index 2f95d7c14f..f1ca0c5f49 100644 --- a/selfdrive/controls/tests/test_torqued_lat_accel_offset.py +++ b/selfdrive/controls/tests/test_torqued_lat_accel_offset.py @@ -1,5 +1,6 @@ import numpy as np -from cereal import car, messaging +from cereal import messaging +from opendbc.car.structs import car from opendbc.car import ACCELERATION_DUE_TO_GRAVITY from opendbc.car import structs from opendbc.car.lateral import get_friction, FRICTION_THRESHOLD diff --git a/selfdrive/locationd/calibrationd.py b/selfdrive/locationd/calibrationd.py index c444d43983..23dacf6821 100755 --- a/selfdrive/locationd/calibrationd.py +++ b/selfdrive/locationd/calibrationd.py @@ -11,7 +11,8 @@ import capnp import numpy as np from typing import NoReturn -from cereal import log, car +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from openpilot.common.hardware import HARDWARE from openpilot.common.constants import CV diff --git a/selfdrive/locationd/lagd.py b/selfdrive/locationd/lagd.py index 0069bb51b9..17aa0a4303 100755 --- a/selfdrive/locationd/lagd.py +++ b/selfdrive/locationd/lagd.py @@ -6,7 +6,8 @@ from collections import deque from functools import partial import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from cereal.services import SERVICE_LIST from openpilot.common.constants import CV from openpilot.common.params import Params diff --git a/selfdrive/locationd/paramsd.py b/selfdrive/locationd/paramsd.py index 02d09c506e..6acf335178 100755 --- a/selfdrive/locationd/paramsd.py +++ b/selfdrive/locationd/paramsd.py @@ -4,7 +4,8 @@ import numpy as np import capnp import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.common.realtime import config_realtime_process, DT_MDL from openpilot.selfdrive.locationd.models.car_kf import CarKalman, ObservationKind, States diff --git a/selfdrive/locationd/test/test_lagd.py b/selfdrive/locationd/test/test_lagd.py index 63ea2b5fab..a0e4ee31fa 100644 --- a/selfdrive/locationd/test/test_lagd.py +++ b/selfdrive/locationd/test/test_lagd.py @@ -3,7 +3,8 @@ import numpy as np import time import pytest -from cereal import messaging, log, car +from cereal import messaging, log +from opendbc.car.structs import car from openpilot.selfdrive.locationd.lagd import LateralLagEstimator, retrieve_initial_lag, masked_normalized_cross_correlation, \ BLOCK_NUM_NEEDED, BLOCK_SIZE, MIN_OKAY_WINDOW_SEC, VERSION from openpilot.selfdrive.test.process_replay.migration import migrate, migrate_carParams diff --git a/selfdrive/locationd/test/test_torqued.py b/selfdrive/locationd/test/test_torqued.py index 53f3120c36..ac8e40fc30 100644 --- a/selfdrive/locationd/test/test_torqued.py +++ b/selfdrive/locationd/test/test_torqued.py @@ -1,4 +1,4 @@ -from cereal import car +from opendbc.car.structs import car from openpilot.selfdrive.locationd.torqued import TorqueEstimator diff --git a/selfdrive/locationd/torqued.py b/selfdrive/locationd/torqued.py index 16468f7055..fdd50d3eb6 100755 --- a/selfdrive/locationd/torqued.py +++ b/selfdrive/locationd/torqued.py @@ -4,7 +4,8 @@ import numpy as np from collections import deque, defaultdict import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from openpilot.common.constants import ACCELERATION_DUE_TO_GRAVITY from openpilot.common.params import Params from openpilot.common.realtime import config_realtime_process, DT_MDL diff --git a/selfdrive/modeld/modeld.py b/selfdrive/modeld/modeld.py index 372e8704a2..18f665529c 100755 --- a/selfdrive/modeld/modeld.py +++ b/selfdrive/modeld/modeld.py @@ -6,7 +6,8 @@ import time import pickle import numpy as np import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from cereal.messaging import PubMaster, SubMaster from msgq.visionipc import VisionIpcClient, VisionStreamType, VisionBuf from opendbc.car.car_helpers import get_demo_car_params diff --git a/selfdrive/monitoring/policy.py b/selfdrive/monitoring/policy.py index cf784818ee..146717349d 100644 --- a/selfdrive/monitoring/policy.py +++ b/selfdrive/monitoring/policy.py @@ -2,7 +2,8 @@ from collections import defaultdict from math import atan2, radians import numpy as np -from cereal import car, log +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from openpilot.common.realtime import DT_DMON from openpilot.common.filter_simple import FirstOrderFilter diff --git a/selfdrive/pandad/tests/test_pandad_loopback.py b/selfdrive/pandad/tests/test_pandad_loopback.py index bc90f42a83..5543b6d03c 100644 --- a/selfdrive/pandad/tests/test_pandad_loopback.py +++ b/selfdrive/pandad/tests/test_pandad_loopback.py @@ -7,7 +7,8 @@ from collections import defaultdict from pprint import pprint import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from opendbc.car.can_definitions import CanData from openpilot.common.utils import retry from openpilot.common.params import Params diff --git a/selfdrive/selfdrived/events.py b/selfdrive/selfdrived/events.py index 9a31e6f6b3..efdbd35d7b 100755 --- a/selfdrive/selfdrived/events.py +++ b/selfdrive/selfdrived/events.py @@ -5,7 +5,8 @@ import os from enum import IntEnum from collections.abc import Callable -from cereal import log, car +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from openpilot.common.constants import CV from openpilot.common.git import get_short_branch diff --git a/selfdrive/selfdrived/helpers.py b/selfdrive/selfdrived/helpers.py index f7468cbe43..3182d23403 100644 --- a/selfdrive/selfdrived/helpers.py +++ b/selfdrive/selfdrived/helpers.py @@ -1,7 +1,8 @@ import math from enum import StrEnum, auto -from cereal import car, messaging +from cereal import messaging +from opendbc.car.structs import car from openpilot.common.realtime import DT_CTRL from openpilot.selfdrive.locationd.helpers import Pose from opendbc.car import ACCELERATION_DUE_TO_GRAVITY diff --git a/selfdrive/selfdrived/selfdrived.py b/selfdrive/selfdrived/selfdrived.py index b4bd2a7b90..261a62ff6a 100755 --- a/selfdrive/selfdrived/selfdrived.py +++ b/selfdrive/selfdrived/selfdrived.py @@ -5,7 +5,8 @@ import threading import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from msgq.visionipc import VisionIpcClient, VisionStreamType diff --git a/selfdrive/selfdrived/tests/test_alerts.py b/selfdrive/selfdrived/tests/test_alerts.py index 5d5a1733e7..3cd137d586 100644 --- a/selfdrive/selfdrived/tests/test_alerts.py +++ b/selfdrive/selfdrived/tests/test_alerts.py @@ -4,7 +4,8 @@ import os import random from PIL import Image, ImageDraw, ImageFont -from cereal import log, car +from cereal import log +from opendbc.car.structs import car from cereal.messaging import SubMaster from openpilot.common.basedir import BASEDIR from openpilot.common.params import Params diff --git a/selfdrive/test/process_replay/migration.py b/selfdrive/test/process_replay/migration.py index 5a3403c925..e10db26e79 100644 --- a/selfdrive/test/process_replay/migration.py +++ b/selfdrive/test/process_replay/migration.py @@ -5,7 +5,8 @@ import capnp import functools import traceback -from cereal import messaging, car, log +from cereal import messaging, log +from opendbc.car.structs import car from opendbc.car.fingerprints import MIGRATION from opendbc.car.toyota.values import EPS_SCALE, ToyotaSafetyFlags from opendbc.car.ford.values import CAR as FORD, FordFlags, FordSafetyFlags diff --git a/selfdrive/test/process_replay/process_replay.py b/selfdrive/test/process_replay/process_replay.py index 2f198b0476..110b0101a5 100755 --- a/selfdrive/test/process_replay/process_replay.py +++ b/selfdrive/test/process_replay/process_replay.py @@ -15,7 +15,7 @@ import capnp from openpilot.common.hardware.hw import Paths import cereal.messaging as messaging -from cereal import car +from opendbc.car.structs import car from cereal.services import SERVICE_LIST from msgq.visionipc import VisionIpcServer, get_endpoint_name as vipc_get_endpoint_name from opendbc.car.can_definitions import CanData diff --git a/selfdrive/ui/feedback/feedbackd.py b/selfdrive/ui/feedback/feedbackd.py index 2d131a0d5e..b59954926c 100755 --- a/selfdrive/ui/feedback/feedbackd.py +++ b/selfdrive/ui/feedback/feedbackd.py @@ -2,7 +2,7 @@ import cereal.messaging as messaging from openpilot.common.params import Params from openpilot.common.swaglog import cloudlog -from cereal import car +from opendbc.car.structs import car from openpilot.system.micd import SAMPLE_RATE, SAMPLE_BUFFER FEEDBACK_MAX_DURATION = 10.0 diff --git a/selfdrive/ui/mici/onroad/alert_renderer.py b/selfdrive/ui/mici/onroad/alert_renderer.py index 6505ca47c8..a9cb5790d2 100644 --- a/selfdrive/ui/mici/onroad/alert_renderer.py +++ b/selfdrive/ui/mici/onroad/alert_renderer.py @@ -5,7 +5,8 @@ import pyray as rl import random import string from dataclasses import dataclass -from cereal import messaging, log, car +from cereal import messaging, log +from opendbc.car.structs import car from openpilot.selfdrive.ui.ui_state import ui_state from openpilot.common.filter_simple import BounceFilter, FirstOrderFilter from openpilot.common.hardware import TICI diff --git a/selfdrive/ui/mici/onroad/augmented_road_view.py b/selfdrive/ui/mici/onroad/augmented_road_view.py index e6609f9c09..0fe5875b8d 100644 --- a/selfdrive/ui/mici/onroad/augmented_road_view.py +++ b/selfdrive/ui/mici/onroad/augmented_road_view.py @@ -1,6 +1,7 @@ import numpy as np import pyray as rl -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from msgq.visionipc import VisionStreamType from openpilot.selfdrive.ui.ui_state import ui_state, UIStatus from openpilot.selfdrive.ui.mici.onroad import SIDE_PANEL_WIDTH diff --git a/selfdrive/ui/mici/onroad/driver_camera_dialog.py b/selfdrive/ui/mici/onroad/driver_camera_dialog.py index df5afe2e7c..f45cf33912 100644 --- a/selfdrive/ui/mici/onroad/driver_camera_dialog.py +++ b/selfdrive/ui/mici/onroad/driver_camera_dialog.py @@ -1,5 +1,6 @@ import pyray as rl -from cereal import car, log, messaging +from cereal import log, messaging +from opendbc.car.structs import car from msgq.visionipc import VisionStreamType from openpilot.selfdrive.ui.mici.onroad.cameraview import CameraView from openpilot.selfdrive.ui.mici.onroad.driver_state import DriverStateRenderer diff --git a/selfdrive/ui/mici/onroad/model_renderer.py b/selfdrive/ui/mici/onroad/model_renderer.py index 12500bdcd4..6e335b0af2 100644 --- a/selfdrive/ui/mici/onroad/model_renderer.py +++ b/selfdrive/ui/mici/onroad/model_renderer.py @@ -1,7 +1,8 @@ import colorsys import numpy as np import pyray as rl -from cereal import messaging, car +from cereal import messaging +from opendbc.car.structs import car from dataclasses import dataclass, field from openpilot.common.params import Params from openpilot.common.filter_simple import FirstOrderFilter diff --git a/selfdrive/ui/onroad/model_renderer.py b/selfdrive/ui/onroad/model_renderer.py index b9f601f8fb..94e5637a09 100644 --- a/selfdrive/ui/onroad/model_renderer.py +++ b/selfdrive/ui/onroad/model_renderer.py @@ -1,7 +1,8 @@ import colorsys import numpy as np import pyray as rl -from cereal import messaging, car +from cereal import messaging +from opendbc.car.structs import car from dataclasses import dataclass, field from openpilot.common.filter_simple import FirstOrderFilter from openpilot.common.params import Params diff --git a/selfdrive/ui/soundd.py b/selfdrive/ui/soundd.py index ca5c824c29..7766d0321b 100644 --- a/selfdrive/ui/soundd.py +++ b/selfdrive/ui/soundd.py @@ -4,7 +4,8 @@ import time import wave -from cereal import car, messaging +from cereal import messaging +from opendbc.car.structs import car from openpilot.common.basedir import BASEDIR from openpilot.common.filter_simple import FirstOrderFilter from openpilot.common.realtime import Ratekeeper diff --git a/selfdrive/ui/tests/diff/replay_script.py b/selfdrive/ui/tests/diff/replay_script.py index ad7e8952d6..f4c97a223f 100644 --- a/selfdrive/ui/tests/diff/replay_script.py +++ b/selfdrive/ui/tests/diff/replay_script.py @@ -5,7 +5,8 @@ from dataclasses import dataclass import math -from cereal import car, log, messaging +from cereal import log, messaging +from opendbc.car.structs import car from cereal.messaging import PubMaster from openpilot.common.basedir import BASEDIR from openpilot.common.params import Params diff --git a/selfdrive/ui/tests/test_feedbackd.py b/selfdrive/ui/tests/test_feedbackd.py index 0f7148de04..ada2c4763e 100644 --- a/selfdrive/ui/tests/test_feedbackd.py +++ b/selfdrive/ui/tests/test_feedbackd.py @@ -1,6 +1,6 @@ import pytest import cereal.messaging as messaging -from cereal import car +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.system.manager.process_config import managed_processes diff --git a/selfdrive/ui/tests/test_soundd.py b/selfdrive/ui/tests/test_soundd.py index a9da8455eb..ca153b6eef 100644 --- a/selfdrive/ui/tests/test_soundd.py +++ b/selfdrive/ui/tests/test_soundd.py @@ -1,4 +1,4 @@ -from cereal import car +from opendbc.car.structs import car from cereal import messaging from cereal.messaging import SubMaster, PubMaster from openpilot.selfdrive.ui.soundd import SELFDRIVE_STATE_TIMEOUT, check_selfdrive_timeout_alert diff --git a/selfdrive/ui/ui_state.py b/selfdrive/ui/ui_state.py index d5b0142744..4cc5810bb9 100644 --- a/selfdrive/ui/ui_state.py +++ b/selfdrive/ui/ui_state.py @@ -3,7 +3,8 @@ import time import threading from collections.abc import Callable from enum import Enum -from cereal import messaging, car, log +from cereal import messaging, log +from opendbc.car.structs import car from openpilot.common.filter_simple import FirstOrderFilter from openpilot.common.params import Params from openpilot.common.realtime import drop_realtime diff --git a/system/athena/athenad.py b/system/athena/athenad.py index 6d1325dac6..d5bcc92f13 100755 --- a/system/athena/athenad.py +++ b/system/athena/athenad.py @@ -28,7 +28,8 @@ from websocket import (ABNF, WebSocket, WebSocketException, WebSocketTimeoutExce create_connection) import cereal.messaging as messaging -from cereal import car, log +from cereal import log +from opendbc.car.structs import car from cereal.services import SERVICE_LIST from openpilot.common.api import Api, get_key_pair from openpilot.common.utils import CallbackReader, get_upload_stream diff --git a/system/manager/process.py b/system/manager/process.py index cdb316e1a1..63dbb35eb1 100644 --- a/system/manager/process.py +++ b/system/manager/process.py @@ -9,7 +9,8 @@ from multiprocessing import Process from setproctitle import setproctitle -from cereal import car, log +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging import openpilot.system.sentry as sentry from openpilot.common.basedir import BASEDIR diff --git a/system/manager/process_config.py b/system/manager/process_config.py index f610d1c786..c4cf834560 100644 --- a/system/manager/process_config.py +++ b/system/manager/process_config.py @@ -2,7 +2,7 @@ import os import operator import platform -from cereal import car +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.common.hardware import PC, TICI from openpilot.system.manager.process import PythonProcess, NativeProcess, DaemonProcess diff --git a/system/manager/test/test_manager.py b/system/manager/test/test_manager.py index 73c66ff3fc..273ddc8fd9 100644 --- a/system/manager/test/test_manager.py +++ b/system/manager/test/test_manager.py @@ -3,7 +3,7 @@ import pytest import signal import time -from cereal import car +from opendbc.car.structs import car from openpilot.common.params import Params import openpilot.system.manager.manager as manager from openpilot.system.manager.process import ensure_running diff --git a/tools/jotpluggler/SConscript b/tools/jotpluggler/SConscript index 078e173959..d65b8c02e3 100644 --- a/tools/jotpluggler/SConscript +++ b/tools/jotpluggler/SConscript @@ -95,6 +95,8 @@ event_extractors = jot_env.Command("generated_event_extractors.h", [ "generate_event_extractors.py", jot_env.Glob("#cereal/*.capnp"), jot_env.Glob("#cereal/include/*.capnp"), + "#opendbc_repo/opendbc/car/car.capnp", + "#opendbc_repo/opendbc/car/include/c++.capnp", ], generate_event_extractors, ) diff --git a/tools/jotpluggler/generate_event_extractors.py b/tools/jotpluggler/generate_event_extractors.py index 1aba9578cd..0ffa11c36c 100644 --- a/tools/jotpluggler/generate_event_extractors.py +++ b/tools/jotpluggler/generate_event_extractors.py @@ -321,7 +321,7 @@ if __name__ == "__main__": repo_root = Path(sys.argv[1]).resolve() output = Path(sys.argv[2]) capnp.remove_import_hook() - log = capnp.load(str(repo_root / "cereal" / "log.capnp")) + log = capnp.load(str(repo_root / "cereal" / "log.capnp"), imports=[str(repo_root / "opendbc_repo" / "opendbc" / "car")]) generated = Generator(log.Event.schema).generate() output.parent.mkdir(parents=True, exist_ok=True) output.write_text(generated) diff --git a/tools/joystick/joystickd.py b/tools/joystick/joystickd.py index 789dad5623..f06097658a 100755 --- a/tools/joystick/joystickd.py +++ b/tools/joystick/joystickd.py @@ -3,7 +3,8 @@ import math import numpy as np -from cereal import messaging, car +from cereal import messaging +from opendbc.car.structs import car from opendbc.car.vehicle_model import VehicleModel from openpilot.common.realtime import DT_CTRL, Ratekeeper from openpilot.common.params import Params diff --git a/tools/lateral_maneuvers/generate_report.py b/tools/lateral_maneuvers/generate_report.py index 5db486a70d..e26690e2da 100755 --- a/tools/lateral_maneuvers/generate_report.py +++ b/tools/lateral_maneuvers/generate_report.py @@ -11,7 +11,7 @@ from pathlib import Path import matplotlib.pyplot as plt from openpilot.common.utils import tabulate -from cereal import car +from opendbc.car.structs import car from openpilot.common.filter_simple import FirstOrderFilter from openpilot.selfdrive.controls.lib.latcontrol_torque import LP_FILTER_CUTOFF_HZ from openpilot.tools.lib.logreader import LogReader diff --git a/tools/lateral_maneuvers/lateral_maneuversd.py b/tools/lateral_maneuvers/lateral_maneuversd.py index 1cc2d3560e..61f51145df 100755 --- a/tools/lateral_maneuvers/lateral_maneuversd.py +++ b/tools/lateral_maneuvers/lateral_maneuversd.py @@ -2,7 +2,8 @@ import numpy as np from dataclasses import dataclass -from cereal import messaging, car +from cereal import messaging +from opendbc.car.structs import car from openpilot.common.constants import CV from openpilot.common.realtime import DT_MDL from openpilot.common.params import Params diff --git a/tools/longitudinal_maneuvers/maneuversd.py b/tools/longitudinal_maneuvers/maneuversd.py index f8dc6787cc..cf53f8e85a 100755 --- a/tools/longitudinal_maneuvers/maneuversd.py +++ b/tools/longitudinal_maneuvers/maneuversd.py @@ -2,7 +2,8 @@ import numpy as np from dataclasses import dataclass -from cereal import messaging, car +from cereal import messaging +from opendbc.car.structs import car from openpilot.common.constants import CV from openpilot.common.realtime import DT_MDL from openpilot.common.params import Params diff --git a/tools/scripts/car/fw_versions.py b/tools/scripts/car/fw_versions.py index 81692147f0..6fdac5e46d 100755 --- a/tools/scripts/car/fw_versions.py +++ b/tools/scripts/car/fw_versions.py @@ -2,7 +2,7 @@ import time import argparse import cereal.messaging as messaging -from cereal import car +from opendbc.car.structs import car from opendbc.car.carlog import carlog from opendbc.car.fw_versions import get_fw_versions, match_fw_to_car from opendbc.car.vin import get_vin diff --git a/tools/scripts/cycle_alerts.py b/tools/scripts/cycle_alerts.py index 4b1def4fc6..7dc963aafd 100755 --- a/tools/scripts/cycle_alerts.py +++ b/tools/scripts/cycle_alerts.py @@ -2,7 +2,8 @@ import time import random -from cereal import car, log +from cereal import log +from opendbc.car.structs import car import cereal.messaging as messaging from opendbc.car.honda.interface import CarInterface from openpilot.common.realtime import DT_CTRL diff --git a/tools/scripts/set_car_params.py b/tools/scripts/set_car_params.py index dabb6b7065..3864de0838 100755 --- a/tools/scripts/set_car_params.py +++ b/tools/scripts/set_car_params.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import sys -from cereal import car +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.tools.lib.route import Route from openpilot.tools.lib.logreader import LogReader diff --git a/tools/scripts/uiview.py b/tools/scripts/uiview.py index a8d50e7f99..3a81f2f84f 100755 --- a/tools/scripts/uiview.py +++ b/tools/scripts/uiview.py @@ -1,7 +1,8 @@ #!/usr/bin/env python3 import time -from cereal import car, log, messaging +from cereal import log, messaging +from opendbc.car.structs import car from openpilot.common.params import Params from openpilot.system.manager.process_config import managed_processes from openpilot.common.hardware import HARDWARE