Files
panda/python
Adeeb Shihadeh 45151243fb Fix infinite loops and timeout handling in SPI and CAN
- SPI _wait_for_ack: default timeout=0 to 500ms, clamp to 100-500ms range
- SPI _transfer: default timeout=0 to 500ms, add MAX_TIMEOUT_RETRIES (5) limit
- SPI _transfer: add NACK backoff like C++ implementation
- SPI _transfer: run recovery logic for ALL exception types (fixes onroad test)
- CAN can_recv: max 3 retries instead of infinite loop, return [] on failure
- CAN can_send_many: detect no-progress and drop after 3 retries
- CAN_SEND_TIMEOUT_MS: changed from 10ms to 5ms to match C++

These changes align Python behavior with the C++ pandad implementation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:48:54 -08:00
..
2025-08-26 12:37:36 -07:00
2025-08-31 16:47:03 -07:00
2023-09-30 23:19:06 -07:00