diff options
Diffstat (limited to 'src/plugins/canbus/peakcan')
-rw-r--r-- | src/plugins/canbus/peakcan/peakcanbackend.cpp | 9 | ||||
-rw-r--r-- | src/plugins/canbus/peakcan/peakcanbackend.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/canbus/peakcan/peakcanbackend.cpp b/src/plugins/canbus/peakcan/peakcanbackend.cpp index 2f4097e..30d3b8c 100644 --- a/src/plugins/canbus/peakcan/peakcanbackend.cpp +++ b/src/plugins/canbus/peakcan/peakcanbackend.cpp @@ -717,6 +717,9 @@ PeakCanBackend::PeakCanBackend(const QString &name, QObject *parent) d->setupChannel(name.toLatin1()); d->setupDefaultConfigurations(); + + std::function<void()> f = std::bind(&PeakCanBackend::resetController, this); + setResetControllerFunction(f); } PeakCanBackend::~PeakCanBackend() @@ -808,4 +811,10 @@ QString PeakCanBackend::interpretErrorFrame(const QCanBusFrame &errorFrame) return QString(); } +void PeakCanBackend::resetController() +{ + close(); + open(); +} + QT_END_NAMESPACE diff --git a/src/plugins/canbus/peakcan/peakcanbackend.h b/src/plugins/canbus/peakcan/peakcanbackend.h index 7f7083e..6a9cda2 100644 --- a/src/plugins/canbus/peakcan/peakcanbackend.h +++ b/src/plugins/canbus/peakcan/peakcanbackend.h @@ -72,6 +72,8 @@ public: static QList<QCanBusDeviceInfo> interfaces(); private: + void resetController(); + PeakCanBackendPrivate * const d_ptr; }; |