From fe3696ce9c376da5c75ccc098654467746fb06a6 Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Tue, 24 Jun 2025 14:18:35 +0200 Subject: [PATCH] Diag: E255 - handle E255 in previousMachineEventSet (because machineEventSet will be cleared regularely) - do not call finishDiag() on E255 because this will interscect previous- with current machineEventSet and thus remove all Errors/ Warnings because machineEventSet was cleared and includes only E255! --- src/ATBAPP/DeviceControllerDiag.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/ATBAPP/DeviceControllerDiag.cpp b/src/ATBAPP/DeviceControllerDiag.cpp index bc47ec4..1af4ff3 100644 --- a/src/ATBAPP/DeviceControllerDiag.cpp +++ b/src/ATBAPP/DeviceControllerDiag.cpp @@ -114,7 +114,7 @@ void DeviceControllerDiag::private_startDiag() qCritical() << "DeviceControllerDiag::private_startDiag() interrupted!"; DCMachineEvent E255Event = DCMachineEvent(DeviceController::State::E255); if (!this->previousMachineEventSet.contains(E255Event)) { - machineEventSet.insert(E255Event); + previousMachineEventSet.insert(E255Event); private_sendDiagEvent(E255Event, DeviceController::Action::SET); } if (this->E255counter > 5) { @@ -133,7 +133,9 @@ void DeviceControllerDiag::private_startDiag() * - diag is called again in ModeOOO wokeup() */ } - this->private_finishDiag(); + this->diagRequestTimeoutTimer->stop(); + this->isRequestRunning = false; + this->flagInterruptDiag = false; return; } @@ -177,13 +179,15 @@ void DeviceControllerDiag::sys_superviseSystem() // send DCMachineEvent E255Event = DCMachineEvent(DeviceController::State::E255); if (!this->previousMachineEventSet.contains(E255Event)) { - machineEventSet.insert(E255Event); + previousMachineEventSet.insert(E255Event); private_sendDiagEvent(E255Event, DeviceController::Action::SET); } if (this->E255counter > 5) { this->restartCArun(); } else { this->E255counter++; } QTimer::singleShot(400, this, &DeviceControllerDiag::diagRequest); - this->private_finishDiag(); + this->diagRequestTimeoutTimer->stop(); + this->isRequestRunning = false; + this->flagInterruptDiag = false; return; } @@ -194,13 +198,15 @@ void DeviceControllerDiag::sys_superviseSystem() hw->dc_autoRequest(true); DCMachineEvent E255Event = DCMachineEvent(DeviceController::State::M0254); - machineEventSet.insert(E255Event); + previousMachineEventSet.insert(E255Event); private_sendDiagEvent(E255Event, DeviceController::Action::SET); if (this->E255counter > 5) { this->restartCArun(); } else { this->E255counter++; } QTimer::singleShot(400, this, &DeviceControllerDiag::diagRequest); - this->private_finishDiag(); + this->diagRequestTimeoutTimer->stop(); + this->isRequestRunning = false; + this->flagInterruptDiag = false; return; }