Homepage GitHub

Stack behavior if error_passive

How does the stack handle underlying errors in socketCan such as when it enters error states?

I do not see an error code for it in error.hpp, if not ErrFailure is used for it?

Or is it better to monitor the socketCan state in parallell and reset the node if socketCan error states are entered?


Libuavcan does not handle CAN error states – it plows through regardless. If a different behavior is desired, consider implementing it in the application by querying the underlying driver directly. I feel like paging @scottdixon just to keep him in the loop.

This is correct. In v1 we continue with this design where the media layer does not abstract CAN error states but encourages the integrator to expose them from the concrete driver so applications can apply any “back on bus” logic or other bus error state handling that is appropriate for their system.

Thanks guys!
Good to know, I’ll monitor bus states in app.