Diag: check doors in sub_componentAssessment ...
... this prevents sending Operate "O000" in case of an opend door and enables sending Operate "O000" after closing all doors because 'lastResult' has not changed.
This commit is contained in:
parent
816182c87b
commit
6c2717c56b
@ -178,18 +178,6 @@ void DeviceControllerDiag::sys_superviseSystem()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// all doors: 99: undefined 0:closed 1:open
|
|
||||||
if (dynMaCond.lowerDoor || dynMaCond.upperDoor) {
|
|
||||||
// Service or battery door is open, goto INTRUSION MODE
|
|
||||||
qCritical() << "DeviceControllerDiag::sys_superviseSystem() Service or battery door is open, goto INTRUSION MODE";
|
|
||||||
this->private_sendDiagEvent(DeviceController::State::E253);
|
|
||||||
}
|
|
||||||
if (dynMaCond.middleDoor) {
|
|
||||||
// vault door is open, goto INTRUSION MODE
|
|
||||||
qCritical() << "DeviceControllerDiag::sys_superviseSystem() vault door is open, goto INTRUSION MODE";
|
|
||||||
this->private_sendDiagEvent(DeviceController::State::E252);
|
|
||||||
}
|
|
||||||
|
|
||||||
qCritical() << " --> call sub_componentAssessment()";
|
qCritical() << " --> call sub_componentAssessment()";
|
||||||
|
|
||||||
sub_componentAssessment();
|
sub_componentAssessment();
|
||||||
@ -223,6 +211,21 @@ void DeviceControllerDiag::sub_componentAssessment()
|
|||||||
this->private_sendDiagEvent(DeviceController::State::A000);
|
this->private_sendDiagEvent(DeviceController::State::A000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check for open doors
|
||||||
|
// all doors: 99: undefined 0:closed 1:open
|
||||||
|
if (dynMaCond.lowerDoor || dynMaCond.upperDoor) {
|
||||||
|
// Service or battery door is open
|
||||||
|
flag_sendOperate = false;
|
||||||
|
qCritical() << "DeviceControllerDiag::sys_superviseSystem() Service or battery door is open, goto INTRUSION MODE";
|
||||||
|
this->private_sendDiagEvent(DeviceController::State::E253);
|
||||||
|
}
|
||||||
|
if (dynMaCond.middleDoor) {
|
||||||
|
// vault door is open
|
||||||
|
flag_sendOperate = false;
|
||||||
|
qCritical() << "DeviceControllerDiag::sys_superviseSystem() vault door is open, goto INTRUSION MODE";
|
||||||
|
this->private_sendDiagEvent(DeviceController::State::E252);
|
||||||
|
}
|
||||||
|
|
||||||
// check for invalid states:
|
// check for invalid states:
|
||||||
|
|
||||||
if (modCond.rtc>=200) {
|
if (modCond.rtc>=200) {
|
||||||
|
Loading…
Reference in New Issue
Block a user