Recovery Logic:
Code: Select all
twai_read_alerts(TWAI_ALERT_BUS_OFF);
// Coder to wait 5 seconds
twai_initiate_recovery();
twai_read_alerts(TWAI_ALERT_BUS_RECOVERED);
// Never gets past this
Code: Select all
twai_stop();
twai_driver_uninstall();
periph_module_reset(PERIPH_TWAI_MODULE);
twai_driver_install();
twai_start();
The devices are identical, all chips are from the same batch. I swapped their position on the bus with no difference.
It's possible that that the traces were routed poorly (250mil difference in routing length) but I don't think this would be it because the other 2 devices are working fine for months.
Does anyone have any ideas?
Thanks!