Panda aborts CAN send on NACK
- Dominant language
- C
- Stars
- 1.7k
- Forks
- 981
- Avg merge
- 13m
- Merged PRs (30d)
- 18
Description
I noticed the panda no longer retries sending a message when it's not ACKed. I'm opening this issue to check if this is intentional.
I think this behavior was introduced in this PR: https://github.com/commaai/panda/pull/1067/files. An interrupt was added for `CAN_IER_LECIE`, which includes getting a NACK. This in turn triggers an abort of the send in `llcan_clear_send`.
If this is intentional behavior, it's probably cleaner to put the CAN controller in "Time Triggered CAN" mode where retries are disabled by default, and no manual cancellation is necessary. If this is intentional I would also like to suggest to return the message as "blocked/error" to the user, because now the message disappears into thin air.
Quick hack to bring back retry behavior on F4 pandas, but there are probably other errors that need to be retried as well (e.g. form error). https://github.com/pd0wm/panda/commit/d1fc60b79993428c6b109ab28a5dc1c107dd6cd9
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.