commaai / commaai/opendbc

Ford FW responses sometimes skip a consecutive frame

Open
#1,794 4 comments 0 reactions 0 assignees View on GitHub
bug fingerprint ford
Dominant language
Python
Stars
3.4k
Forks
2.3k
Avg merge
2d 8h
Merged PRs (30d)
39

Description

Route: e36b272d5679115f/0000030f--340e67d898

Opened a new issue since the old one had some other changes as well, now I'm back to master + dashcam removal, see below the git diffs

More than 6 minutes long - Dashcam with unrecognized car

`git diff` output:

```
comma@comma-e11dd515:/data/openpilot$ git diff
diff --git a/opendbc_repo b/opendbc_repo
--- a/opendbc_repo
+++ b/opendbc_repo
@@ -1 +1 @@
-Subproject commit 4185f81635edab3e943a881edde7e1a03d43ec9c
+Subproject commit 4185f81635edab3e943a881edde7e1a03d43ec9c-dirty
```

```
comma@comma-e11dd515:/data/openpilot/opendbc_repo$ git diff
diff --git a/opendbc/car/ford/interface.py b/opendbc/car/ford/interface.py
index 26a18ea..1b22341 100644
--- a/opendbc/car/ford/interface.py
+++ b/opendbc/car/ford/interface.py
@@ -20,7 +20,7 @@ class CarInterface(CarInterfaceBase):
@staticmethod
def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs) -> structs.CarParams:
ret.brand = "ford"
- ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD)
+# ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD)

ret.radarUnavailable = Bus.radar not in DBC[candidate]
ret.steerControlType = structs.CarParams.SteerControlType.angle
```

To fix it, while driving I just rebooted the device. The next route `e36b272d5679115f/00000310--6760d21c98` did a good fingerprinting.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Ford interface change in opendbc/car/ford/interface.py and compare the affected route e36b272d5679115f/0000030f--340e67d898 with the subsequent fingerprinting route. Determine why a consecutive Ford FW response is skipped and verify the behavior against the provided route evidence; the issue is done when the skip is explained and corrected without relying on the dashcam-only modification.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.