diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index dcc8d8e..b71b162 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -540,6 +540,8 @@ void ATBDeviceControllerPlugin::onCBinAndAllDoorsClosed() { qCritical() << "ATBDeviceControllerPlugin::onCBinAndAllDoorsClosed()"; + this->diag->diagReInit(); + QTimer::singleShot(2000, this, SIGNAL(requestModeIDLE())); this->dbus->finishedBackgroundTask("DOOR_OPEN"); diff --git a/src/ATBAPP/DeviceControllerDiag.cpp b/src/ATBAPP/DeviceControllerDiag.cpp index a5528d1..0774275 100644 --- a/src/ATBAPP/DeviceControllerDiag.cpp +++ b/src/ATBAPP/DeviceControllerDiag.cpp @@ -36,6 +36,12 @@ void DeviceControllerDiag::init(hwinf *hw, QObject* eventReceiver) } +void DeviceControllerDiag::diagReInit() +{ + this->machineEventSet.clear(); + this->_isErrorState = false; +} + void DeviceControllerDiag::diagRequest() { qCritical() << "DeviceControllerDiag::diagRequest()"; diff --git a/src/ATBAPP/DeviceControllerDiag.h b/src/ATBAPP/DeviceControllerDiag.h index a5dcd35..ca6aaa2 100644 --- a/src/ATBAPP/DeviceControllerDiag.h +++ b/src/ATBAPP/DeviceControllerDiag.h @@ -80,9 +80,20 @@ public: bool isOperatingState(); QSet getCurrentMachineState(); + + public slots: + /** + * start diag request + */ void diagRequest(); + /** + * reset / re-init diag request. + * Called e.g. when doors are closed. + */ + void diagReInit(); + signals: void diagResponse(ATBMachineEvent* machineEvent);