summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/systeccan/systeccanbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/canbus/systeccan/systeccanbackend.cpp')
-rw-r--r--src/plugins/canbus/systeccan/systeccanbackend.cpp14
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