Tesla: fix disengagement without stalk #2182
Open
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.
On Tesla models without a cruise control 8000 stalk, the steering wheel scroll wheel is used to engage and disengage.
Unlike the stalk, pressing the scroll wheel button doesn't change the DI_state. This meant that pressing the scroll wheel button currently does not disengage openpilot, whenever openpilot's longitudinal control is enabled
When the scroll wheel button is pressed to cancel ACC, DAS_accState becomes 13.
We have to listen to DAS_accState sent by the autopilot computer and add it to the cancel condition, to ensure that openpilot correctly disengages on a scroll wheel button press.
The screenshot shows several button presses, but the DI_State does not change.

route: f15cb91e37913f92/00000002--ee7e5b52c1
We need to make sure that ACC_CANCEL_GENERIC_SILENT (state 13) is not sent by the autopilot computer in other scenarios where we don't want to disengage.