Skip to content

Mazda: recognize CX-9 with swapped CX-5 EPS - #3

Closed
maxzzznz wants to merge 1 commit into
zoompilot:mazda-devfrom
maxzzznz:pr/cx9-cx5-eps-swap
Closed

Mazda: recognize CX-9 with swapped CX-5 EPS#3
maxzzznz wants to merge 1 commit into
zoompilot:mazda-devfrom
maxzzznz:pr/cx9-cx5-eps-swap

Conversation

@maxzzznz

@maxzzznz maxzzznz commented Aug 23, 2026

Copy link
Copy Markdown

Summary

Recognize a 2021-2023 Mazda CX-9 with a supported 2022+ CX-5 EPS swap.

The existing EPS-swap logic already enables steer-to-zero after vehicle identification. However, firmware matching rejects a CX-9 when the reported EPS is KSD5-3210X-C-00, so it has no candidate and starts in dashcam mode unless the user manually forces CX-9.

This is particularly needed for export-market CX-9 firmware combinations, such as PXM7 (observed on a New Zealand CX-9), where the exact match rejects the swapped EPS and the fuzzy fallback does not have enough unique non-EPS firmware matches to identify the vehicle.

This adds the known swapped EPS firmware to the MAZDA_CX9_2021 fingerprint and tests the exact hybrid firmware set: CX-9 PCM, TCM, ABS, radar and camera firmware together with the CX-5 2022+ KSD5 EPS firmware.

Scope and safety

  • Only expands the accepted EPS firmware list for the existing CX-9 2021-23 platform.
  • Keeps the CX-9 vehicle parameters, radar, camera and longitudinal eligibility.
  • Uses the existing EPS-specific logic for minimum steering speed and steering delay.
  • Does not broaden fuzzy matching or change behavior for other Mazdas.

Test plan

  • uv run --with pytest pytest -q opendbc/car/mazda/tests (100 passed)
  • uv run --with ruff ruff check opendbc/car/mazda/fingerprints.py opendbc/car/mazda/tests/test_mazda_interface.py

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing to opendbc! In order for us to review your PR as quickly as possible, check the following:

  • Convert your PR to a draft unless it's ready to review
  • Read the contributing docs
  • Before marking as "ready for review", ensure:
    • the goal is clearly stated in the description
    • all the tests are passing
    • include a route or your device' dongle ID if relevant

@maxzzznz
maxzzznz marked this pull request as ready for review August 23, 2026 06:11
@zephleggett

Copy link
Copy Markdown

I think this PR should cover this for you :D
#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants