Repository navigation
Clean up timers on receipt of a non-0x78 UDS error - #25398
Merged
Merged
Conversation
jyoung8607
marked this pull request as ready for review
August 11, 2022 18:17
Collaborator
Author
|
The patch appears to work as intended, released from draft. |
sshane
reviewed
Aug 11, 2022
66thparallel
pushed a commit
to 66thparallel/janes_openpilot_fork
that referenced
this pull request
May 1, 2026
* clean up timers on receipt of a non-0x78 UDS error * Update selfdrive/car/isotp_parallel_query.py Co-authored-by: Shane Smiskol <shane@smiskol.com> old-commit-hash: 5d699a5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The end user complaint (simplified) was that openpilot master stays in "waiting for controls to start" for almost a minute at startup. The same car works correctly on openpilot 0.8.13.1.
With #24724, the UDS fingerprinting code now handles "request received - response pending" errors by extending timeouts to wait for a successful response. However, queries can still fail at this stage.
In the case of
a certain snowflake VW Polo engine ECUsome 1.0 and 1.4L engine ECUs on Polo, Golf, Jetta, and Passat GTE, we can get 0x7F2278 response pending quickly followed by 0x7F2231 request out of range. When this happened, the query was marked done but the timer wasn't cleaned up, which prevented the query loop from proceeding until the 10 second timer elapsed. This happened a few times to build up the larger total delay.This fix makes sure failed queries are always completely terminated.
Verification
The end user reports this patch fixed his problem.
Route
Before:
0bbe367c98fa1538|2022-08-10--14-28-52After:
0bbe367c98fa1538|2022-08-12--00-11-150bbe367c98fa1538|2022-08-12--00-06-360bbe367c98fa1538|2022-08-11--23-56-30