diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2018-10-02 11:41:16 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2019-05-02 11:15:05 +0000 |
commit | a88ecda86028228174a1ec4e53df235ebac33dcc (patch) | |
tree | 9a39dfe2e0e85310c0450fef9be15120f9dd7ba1 /src/plugins/canbus/socketcan/socketcanbackend.cpp | |
parent | 4a7f051247b05e1e298ffabc00e8ce3dc3e216a0 (diff) |
Add QCanBusDevice::resetController() for CAN controller reset
Currently missing:
* VectorCAN: no information in the documentation found
* PassthroughCAN: no documentation
[ChangeLog][QCanBus][QCanBusDevice] Added the function
QCanBusDevice::resetController() to reset a CAN controller
from bus off state, as far as supported by the various
plugins.
Fixes: QTBUG-54943
Change-Id: Ic098054b012726c0c69970c0ae84f434c2b3964a
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'src/plugins/canbus/socketcan/socketcanbackend.cpp')
-rw-r--r-- | src/plugins/canbus/socketcan/socketcanbackend.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp index cac1db5..9e99a57 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.cpp +++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp @@ -194,6 +194,9 @@ SocketCanBackend::SocketCanBackend(const QString &name) : } resetConfigurations(); + + std::function<void()> f = std::bind(&SocketCanBackend::resetController, this); + setResetControllerFunction(f); } SocketCanBackend::~SocketCanBackend() @@ -750,4 +753,9 @@ void SocketCanBackend::readSocket() enqueueReceivedFrames(newFrames); } +void SocketCanBackend::resetController() +{ + libSocketCan->restart(canSocketName); +} + QT_END_NAMESPACE |