nap: add Tinkla Buddy IC integration toggle + opendbc bump#1
Conversation
Wires UI toggle for the Buddy IC feature added in opendbc companion PR. With this merged and a Tinkla Buddy R2S connected via EtherCAN bridge on Tesla OBD port, openpilot renders path / lanes / lead-car / target-speed / road-sign on the stock Tesla MCU1 instrument cluster. Default on: NAPTinklaICIntegration=1. Users without Buddy hardware see no IC change (the chassis-CAN traffic they don't tap is harmless). Changes: - NAPTinklaICIntegration param (PERSISTENT BOOL, default 1 = on) - NAPRoadSignFallbackKph param (PERSISTENT INT, default 0 = no sign rendered when Tesla GPS SNA) - selfdrive/ui/layouts/settings/nap.py: new toggle row under "Tinkla Buddy IC" section header - selfdrive/ui/mici/layouts/settings/nap.py: mirror toggle for mici UI - opendbc bump to buddy-ic-for-magzu HEAD (ac463ef2) - RELEASES.md entry Companion opendbc PR: MagZu/opendbc#1 Hardware required (end-user): comma 3/3X + Tinkla Buddy R2S + EtherCAN-bridge cable + 2014-2016 pre-AP Tesla Model S. Buddy firmware v1.44 or v1.49 (both verified). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds UI and parameter support for a new “Tinkla Buddy IC” integration toggle, updates params to include new keys/defaults, and bumps the opendbc submodule.
Changes:
- Add a new “Tinkla Buddy IC Integration” toggle to NAP settings (both standard UI and Mici UI).
- Introduce new params keys for Tinkla IC integration and road-sign fallback kph.
- Update release notes and advance the
opendbcsubmodule pointer.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| selfdrive/ui/mici/layouts/settings/nap.py | Adds a new BigParamControl for Tinkla Buddy IC integration in the Mici settings layout. |
| selfdrive/ui/layouts/settings/nap.py | Adds a new “Tinkla Buddy IC” settings section and toggle in the main settings UI. |
| common/params_keys.h | Adds new persistent params keys, including default values. |
| RELEASES.md | Documents the new Tinkla Buddy IC support in the release notes. |
| opendbc_repo | Updates the opendbc submodule commit reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {"NAPRadarOffset", {PERSISTENT, FLOAT, "0.0"}}, | ||
| {"NAPRoadSignFallbackKph", {PERSISTENT, INT, "0"}}, | ||
| {"NAPScriptRunning", {CLEAR_ON_MANAGER_START, BOOL}}, | ||
| {"NAPTinklaICIntegration", {PERSISTENT, BOOL, "1"}}, |
| @@ -1,3 +1,9 @@ | |||
| Version 0.11.2 (2026-05-26) | |||
| ======================== | |||
Pulls in opendbc 644c7147 which replaces `from cereal import car` in hud_module.py with `from opendbc.car import structs`. Required because opendbc public CI builds the package standalone (no cereal installed) and was failing import. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bumps opendbc submodule pointer to 90819d48 which replaces the `from cereal import car` with `from opendbc.car import structs` in preap/hud_module.py. Required for opendbc standalone CI builds where cereal is not installed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Heads-up: failing The failed Root cause: uses: actions/first-interaction@v3
with:
issue_message: ""
pr_message: |
<!-- ... -->
This will fail on every PR opened against any Suggested fix (either approach works):
Easy to verify: the Happy to send a separate small PR with the workflow fix if useful. |
NAP: Tinkla Buddy IC integration toggle + opendbc bump
Wires the UI toggle and Params-keys for the Tinkla Buddy IC feature
added in the linked opendbc PR. With this merged and a Buddy R2S
connected via EtherCAN bridge, openpilot renders path / lanes / lead
car / target speed / road-sign on the stock Tesla MCU1 instrument
cluster.
Companion opendbc PR: MagZu/opendbc#1
What's in this PR
New Params
NAPTinklaICIntegration(Persistent, BOOL, default1= on) — whenset, the HUDController in opendbc emits IC frames on chassis bus 0.
When unset, HUDController is a no-op regardless of Buddy presence.
NAPRoadSignFallbackKph(Persistent, INT, default0) — fallbackspeed for Tesla IC road-sign widget when Tesla DI reports GPS SNA
(no GPS-fix, no nav-DB hit, parking, private road). Default
0=no sign rendered when SNA.
Both declared in
common/params_keys.h.UI toggle
selfdrive/ui/layouts/settings/nap.py— new toggle row in NAPsettings panel: "Tinkla Buddy IC integration". Default on.
selfdrive/ui/layouts/settings/nap_content.py— Buddy IC instructiontext (hardware requirements, what the toggle does).
selfdrive/ui/mici/layouts/settings/nap.py— mirror toggle forcomma 4 / mici UI.
Pattern follows existing NAP settings: same toggle widget, same content-
file-extraction approach used for EPAS-flasher and pedal-calibration.
opendbc bump
Bumps
opendbc_repopointer to the HEAD of the companion opendbc PR'sbranch (
sveinmer:buddy-ic-for-magzu). Updates to MagZu/opendbc HEADonce the opendbc PR is merged.
RELEASES.md entry
Format per
docs-nap/contributing.md— short, user-facing, parsed bythe comma updater.
Default-state
NAPTinklaICIntegration=1(on). Rationale: this is consistent withhow MagZu's other "is the hardware connected → use it" features
default (no pre-flight surveys before features activate). Users
without Buddy hardware see no IC change — the chassis-CAN traffic
they don't tap is harmless.
If MagZu prefers
default=0(opt-in), the change is one line incommon/params_keys.h.Hardware required (for end-user)
Buddy firmware: v1.44 or v1.49 (both verified).
What's NOT in this PR
dashcamOnlysafety-lock — fork-specific safety policy(Tesla gateway doesn't forward chassis 0x239 to IC-bus); fix path is
openpilot Python only
scripts/buddy_sprint/debug suite — can be a follow-up tools-PR ifinteresting
.claude/,CLAUDE.md,docs/NAP_*, sprint memory — fork-onlyTest evidence
Local
scons -j$(nproc)— green onnap-C3-devbaseline + PRpytest opendbc_repo/opendbc/safety/tests/test_tesla_preap.py -vpytest opendbc_repo/opendbc/car/tesla/preap/tests/— greendocs-nap/contributing.mdHardware (Sveins c3, 2014 Tesla S P85)
target-speed, road-sign, lead-car all rendered on Tesla MCU1)
stalk-spoof / pedal-mode flows
Buddy-relevant subset
What's NOT validated
validation (parked, ignition-on) on c3 with MagZu-base + PR before
merge: verify cabana shows expected DAS-frame values
Verification on MagZu hardware (recommended pre-merge)
Commit structure
Single commit (small openpilot delta):
nap: add Tinkla Buddy IC integration toggle🤖 PR-body authored with Claude Code