From 95ee3a818ba4524784a195fd6b7e96fa5a814844 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Sat, 4 Jul 2026 00:14:11 -0500 Subject: [PATCH] nondefault --- build | 18 ++++++++++++------ common/libcommon.a | Bin 756896 -> 756896 bytes common/params_keys.h | 2 +- common/params_pyx.so | Bin 837400 -> 837400 bytes 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/build b/build index ff60aa5b5..b66dbb74f 100755 --- a/build +++ b/build @@ -39,17 +39,17 @@ add_panda_targets() { while [[ $# -gt 0 ]]; do case "$1" in - --params) + --params|-params|-param) shortcut_targets+=("common/params_pyx.so") ;; - --panda) + --panda|-panda) shortcut_includes_panda=1 add_panda_targets ;; - --ui) + --ui|-ui) shortcut_targets+=("selfdrive/ui/ui") ;; - --cereal) + --cereal|-cereal) shortcut_targets+=( "cereal/libcereal.a" "cereal/libsocketmaster.a" @@ -69,8 +69,14 @@ while [[ $# -gt 0 ]]; do done if [[ "${#shortcut_targets[@]}" -gt 0 ]]; then + scons_args=("--no-scrub") + scons_args+=("${shortcut_targets[@]}") + if [[ "${#passthrough_args[@]}" -gt 0 ]]; then + scons_args+=("${passthrough_args[@]}") + fi + if [[ "${shortcut_includes_panda}" -eq 1 ]]; then - exec "${ROOT_DIR}/scripts/laptop_device_build.sh" scons --no-scrub "${shortcut_targets[@]}" "${passthrough_args[@]}" + exec "${ROOT_DIR}/scripts/laptop_device_build.sh" scons "${scons_args[@]}" fi tmpdir="$(mktemp -d)" @@ -82,7 +88,7 @@ if [[ "${#shortcut_targets[@]}" -gt 0 ]]; then fi done - if "${ROOT_DIR}/scripts/laptop_device_build.sh" scons --no-scrub "${shortcut_targets[@]}" "${passthrough_args[@]}"; then + if "${ROOT_DIR}/scripts/laptop_device_build.sh" scons "${scons_args[@]}"; then status=0 else status=$? diff --git a/common/libcommon.a b/common/libcommon.a index 8846adfe3e543d9fbc05ab4dcd1817a98988e018..4d8ac439886d39b23f5c9b3d34a710e21ee3ae04 100644 GIT binary patch delta 7528 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 delta 7588 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 K-u1p4-v4J@5YgHI diff --git a/common/params_keys.h b/common/params_keys.h index 6728b59a3..a8bf00c3a 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -561,7 +561,7 @@ inline static std::unordered_map keys = { {"SpeedLimitSources", {PERSISTENT, BOOL, "0", "0", 3}}, {"VisionSpeedLimitAutoBookmark", {PERSISTENT, BOOL, "0", "0", 0}}, {"VisionSpeedLimitAutoPreserveSegment", {PERSISTENT, BOOL, "0", "0", 0}}, - {"VisionSpeedLimitDetection", {PERSISTENT, BOOL, "1", "0", 0}}, + {"VisionSpeedLimitDetection", {PERSISTENT, BOOL, "0", "0", 0}}, {"VisionSpeedLimitTrainingCollector", {PERSISTENT, BOOL, "1", "1", 0}}, {"StandardFollow", {PERSISTENT, FLOAT, "1.45", "1.45", 2}}, {"StandardFollowHigh", {PERSISTENT, FLOAT, "1.2", "1.2", 2}}, diff --git a/common/params_pyx.so b/common/params_pyx.so index cfb57463e8521ce8aba4ef86564f382c525d739f..3a74bb8649c7d8c56d0c4b5374d71383d28a652a 100755 GIT binary patch delta 3544 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