From 628e230b63d5d9e7e35493edce23a94cf8a42472 Mon Sep 17 00:00:00 2001 From: Armand du Parc Locmaria Date: Mon, 11 May 2026 15:26:04 -0700 Subject: [PATCH] modeld: build single camera (#37990) * modeld: build single camera * rm old * detect release only once * acados * rm whitespace change --- SConstruct | 5 +++-- selfdrive/modeld/SConscript | 21 +++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/SConstruct b/SConstruct index cd651bf289..5ac0987a8b 100644 --- a/SConstruct +++ b/SConstruct @@ -18,10 +18,11 @@ SetOption('num_jobs', max(1, int(os.cpu_count()/(1 if "CI" in os.environ else 2) AddOption('--ccflags', action='store', type='string', default='', help='pass arbitrary flags over the command line') AddOption('--verbose', action='store_true', default=False, help='show full build commands') +release = not os.path.exists(File('#.gitattributes').abspath) # file absent on release branch, see release_files.py AddOption('--minimal', action='store_false', dest='extras', - default=os.path.exists(File('#.gitattributes').abspath), # minimal by default on release branch (where there's no LFS) + default=not release, help='the minimum build to run openpilot. no tests, tools, etc.') # Detect platform @@ -187,7 +188,7 @@ else: np_version = SCons.Script.Value(np.__version__) Export('envCython', 'np_version') -Export('env', 'arch', 'acados') +Export('env', 'arch', 'acados', 'release') # Setup cache dir cache_dir = '/data/scons_cache' if arch == "larch64" else '/tmp/scons_cache' diff --git a/selfdrive/modeld/SConscript b/selfdrive/modeld/SConscript index 40b30b8c1b..ed8ad8075e 100644 --- a/selfdrive/modeld/SConscript +++ b/selfdrive/modeld/SConscript @@ -9,16 +9,25 @@ from openpilot.common.transformations.model import MEDMODEL_INPUT_SIZE, DM_INPUT from openpilot.selfdrive.modeld.constants import ModelConstants from openpilot.selfdrive.modeld.helpers import CompileConfig from tinygrad import Device +from openpilot.system.hardware import HARDWARE, PC -CAMERA_CONFIGS = [ - (_ar_ox_fisheye.width, _ar_ox_fisheye.height), # tici: 1928x1208 - (_os_fisheye.width, _os_fisheye.height), # mici: 1344x760 -] +Import('env', 'arch', 'release') + + +def get_camera_configs(): + DEVICE_RESOLUTIONS = { + "tici": (_ar_ox_fisheye.width, _ar_ox_fisheye.height), + "tizi": (_ar_ox_fisheye.width, _ar_ox_fisheye.height), + "mici": (_os_fisheye.width, _os_fisheye.height), + } + if release or PC or 'CI' in os.environ: + return list(DEVICE_RESOLUTIONS.values()) + return [DEVICE_RESOLUTIONS[HARDWARE.get_device_type()]] + +CAMERA_CONFIGS = get_camera_configs() MODELD_CONFIGS = [CompileConfig(cam_w, cam_h, prepare_only, 'driving_') for (cam_w, cam_h), prepare_only in product(CAMERA_CONFIGS, [True, False])] DM_WARP_CONFIGS = [CompileConfig(cam_w, cam_h, True, 'dm_') for cam_w, cam_h in CAMERA_CONFIGS] - -Import('env', 'arch') chunker_file = File("#common/file_chunker.py") lenv = env.Clone()