Skip to content

TPMS: sensor battery voltage per wheel, and TPMS values for dash apps - #275

Merged
wpmed92 merged 2 commits into
softwiredtech:mainfrom
ehoeve786:tpms-battery
Nov 8, 2026
Merged

wpmed92 merged 2 commits into
softwiredtech:mainfrom
ehoeve786:tpms-battery

Conversation

@ehoeve786

@ehoeve786 ehoeve786 commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

VCSEC_TPMSData muxes 0–3 also carry each sensor's battery voltage (VCSEC_TPMSBatVoltage0–3, 0.01 V + 1.5). This decodes it with the same mux-to-wheel map as the temperatures into tpmsBatt{FL,FR,RL,RR} (V, -1 = no reading; raw 0xFF = not available is rejected). The four values join the TPMS block right after the temperatures (TPMS_COUNT 8 → 12, slots 47–50, FIELD_COUNT = 51), carried through the iOS bridge and both apps.

It also gives dash apps the TPMS values, which #270 left out: the twelve tpmsPressure* / tpmsTemp* / tpmsBatt* keys go to Rive dashboards (dashValues, Android and iOS) and web dashboards (Android WebView getters getTpmsPressureFL …, iOS WebView JSON), and the README documents them.

Based on main, independent of #273. Both append to the CarState array, so whichever merges second needs a small rebase (its Android indices and FIELD_COUNT); #273's DOOR_OFFSET follows TPMS_OFFSET + TPMS_COUNT, so the C++ side shifts by itself.

Verification: replaying four Model Y CAN logs (2026-10-26..28) through the mapper gives 2.98–3.01 V per wheel, steady. Host test passes; Android debug APK builds; iOS not built.

🤖 Generated with Claude Code

…boards

VCSEC_TPMSData muxes 0-3 also carry each sensor's battery voltage
(VCSEC_TPMSBatVoltage0-3, 0.01 V + 1.5). Decode it with the same
mux-to-wheel map as the temperatures into tpmsBatt{FL,FR,RL,RR}
(V, -1 = no reading; raw 0xFF = not available is rejected). The four
values join the TPMS block after the temperatures (TPMS_COUNT 8 -> 12,
CarState slots 47-50, FIELD_COUNT = 51), carried through the iOS bridge
and both apps.

Rive dashboards get the TPMS values: dashValues (Android and iOS) add the
twelve tpmsPressure*/tpmsTemp*/tpmsBatt* keys, which softwiredtech#270 left out. README
documents them (Rive only for now; the WebView bridge doesn't carry TPMS).

Replaying four Model Y CAN logs through the mapper gives 2.98-3.01 V per
wheel, steady. Host test passes; Android debug APK builds; iOS not built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ehoeve786
ehoeve786 marked this pull request as ready for review November 8, 2026 03:32
Android WebView getters getTpmsPressure*/getTpmsTemp*/getTpmsBatt* and
the same twelve keys in the iOS WebView JSON, so web dash apps get the
tyre values like Rive ones. README no longer marks them Rive only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ehoeve786 ehoeve786 changed the title TPMS: sensor battery voltage per wheel, and TPMS values for Rive dashboards TPMS: sensor battery voltage per wheel, and TPMS values for dash apps Nov 8, 2026
@ehoeve786
ehoeve786 requested a review from wpmed92 November 8, 2026 03:37
@wpmed92
wpmed92 merged commit b43b0cf into softwiredtech:main Nov 8, 2026
2 checks passed
@ehoeve786
ehoeve786 deleted the tpms-battery branch November 8, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants