diff options
Diffstat (limited to 'src/plugins/canbus/systeccan/systeccanbackend.cpp')
-rw-r--r-- | src/plugins/canbus/systeccan/systeccanbackend.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/canbus/systeccan/systeccanbackend.cpp b/src/plugins/canbus/systeccan/systeccanbackend.cpp index 3fdd135..54666d0 100644 --- a/src/plugins/canbus/systeccan/systeccanbackend.cpp +++ b/src/plugins/canbus/systeccan/systeccanbackend.cpp @@ -454,6 +454,11 @@ bool SystecCanBackendPrivate::verifyBitRate(int bitrate) return true; } +void SystecCanBackendPrivate::resetController() +{ + ::UcanResetCan(handle); +} + SystecCanBackend::SystecCanBackend(const QString &name, QObject *parent) : QCanBusDevice(parent), d_ptr(new SystecCanBackendPrivate(this)) @@ -462,6 +467,9 @@ SystecCanBackend::SystecCanBackend(const QString &name, QObject *parent) : d->setupChannel(name); d->setupDefaultConfigurations(); + + std::function<void()> f = std::bind(&SystecCanBackend::resetController, this); + setResetControllerFunction(f); } SystecCanBackend::~SystecCanBackend() @@ -553,4 +561,10 @@ QString SystecCanBackend::interpretErrorFrame(const QCanBusFrame &errorFrame) return QString(); } +void SystecCanBackend::resetController() +{ + Q_D(SystecCanBackend); + d->resetController(); +} + QT_END_NAMESPACE |