diff --git a/RELEASES.md b/RELEASES.md index a3a95ae6a8643f..5289d1a0c0ae59 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,9 @@ +Version 0.11.2 (2026-05-26) +======================== +* Tinkla Buddy IC support: lane / target-speed / road-sign / lead-car + overlay on stock Tesla MS cluster (requires Buddy R2S hardware via + EtherCAN bridge on Tesla OBD port) + Version 0.11.1 (2026-04-08) ======================== * New driver monitoring model diff --git a/common/params_keys.h b/common/params_keys.h index 12b89d87e93f85..e52775168301bc 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -147,7 +147,9 @@ inline static std::unordered_map keys = { {"NAPRadarBehindNosecone", {PERSISTENT, BOOL}}, {"NAPRadarEnabled", {PERSISTENT, BOOL}}, {"NAPRadarOffset", {PERSISTENT, FLOAT, "0.0"}}, + {"NAPRoadSignFallbackKph", {PERSISTENT, INT, "0"}}, {"NAPScriptRunning", {CLEAR_ON_MANAGER_START, BOOL}}, + {"NAPTinklaICIntegration", {PERSISTENT, BOOL, "1"}}, {"TermsVersion", {PERSISTENT, STRING}}, {"TrainingVersion", {PERSISTENT, STRING}}, }; diff --git a/opendbc_repo b/opendbc_repo index affde530c0c1dc..90819d48010285 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit affde530c0c1dcd5eb845f9d31a43fbee7acba53 +Subproject commit 90819d48010285d605427325cb868f199638d4b9 diff --git a/selfdrive/ui/layouts/settings/nap.py b/selfdrive/ui/layouts/settings/nap.py index 989d7ae2d1cfe4..c21ef7ceccf88e 100644 --- a/selfdrive/ui/layouts/settings/nap.py +++ b/selfdrive/ui/layouts/settings/nap.py @@ -227,7 +227,18 @@ def _build_items(self): self._brake_factor_buttons.action_item.set_enabled(False) self._all_items.append(self._brake_factor_buttons) - # ── Section 5: Advanced ── + # ── Section 5: Tinkla Buddy IC ── + self._all_items.append(section_header_item("Tinkla Buddy IC")) + + self._add_toggle( + NAPParamKeys.TINKLA_IC_INTEGRATION, + "Tinkla Buddy IC Integration", + "Render openpilot path, lanes and lead-car on the Tesla Instrument Cluster " + "via Tinkla Buddy. Only enable if you have a Tinkla Buddy installed with a " + "valid license. Display-only, has no effect on engage or safety.", + ) + + # ── Section 6: Advanced ── self._all_items.append(section_header_item("Advanced")) # Force Pre-AP is always on for now — grayed out in the ON position @@ -239,7 +250,7 @@ def _build_items(self): enabled=False, ) - # ── Section 6: Actions ── + # ── Section 7: Actions ── self._all_items.append(section_header_item("Actions")) self._backup_epas_btn = button_item( diff --git a/selfdrive/ui/mici/layouts/settings/nap.py b/selfdrive/ui/mici/layouts/settings/nap.py index c6ba0a213291dd..be8bc016edfae2 100644 --- a/selfdrive/ui/mici/layouts/settings/nap.py +++ b/selfdrive/ui/mici/layouts/settings/nap.py @@ -134,6 +134,10 @@ def __init__(self): ibooster_enabled = BigParamControl("ibooster enabled", NAPParamKeys.IBOOSTER_ENABLED) ibooster_enabled.set_enabled(False) + # ── Tinkla Buddy IC ────────────────────────────── + tinkla_ic_integration = BigParamControl( + "tinkla buddy ic integration", NAPParamKeys.TINKLA_IC_INTEGRATION) + # ── Advanced (locked on) ───────────────────────── force_pre_ap = BigParamControl("force pre-ap mode", NAPParamKeys.FORCE_PRE_AP) force_pre_ap.set_enabled(False) @@ -174,6 +178,7 @@ def __init__(self): calibrate_radar_btn, test_radar_btn, ibooster_enabled, + tinkla_ic_integration, force_pre_ap, backup_epas_btn, flash_epas_btn,