In case of bus errors, e.g. bitrate conflicts, the CAN node generating bus errors goes through different error levels:
- error active - controller is full working
- bus light
- bus heavy
- bus off - controller does not participate on bus communication
Some CAN controllers automatically recover from bus off, some can be force to (SocketCAN provides an configuration to recover e.g. after 100 milliseconds).
But for some, a CAN controller hardware reset has to be forced by the backend API.
For the backends providing such functions, a QCanBusDevice method should be added, e.g. hardwareReset();
|For Gerrit Dashboard: QTBUG-54943|
|182201,12||Add QCanBusDevice::resetController() for CAN controller reset||dev||qt/qtserialbus||Status: MERGED||-2||0|