Diag: track ErrorState
This commit is contained in:
parent
6a08cf0b62
commit
379a5d4e3e
@ -13,6 +13,7 @@ DeviceControllerDiag::DeviceControllerDiag(PersistentData *pData, QObject *paren
|
|||||||
, isRequestRunning(false)
|
, isRequestRunning(false)
|
||||||
, flagInterruptDiag(false)
|
, flagInterruptDiag(false)
|
||||||
, lastState(DeviceController::State::INITIAL_STATE)
|
, lastState(DeviceController::State::INITIAL_STATE)
|
||||||
|
, _isErrorState(false)
|
||||||
, pData(pData)
|
, pData(pData)
|
||||||
{
|
{
|
||||||
diagRequestTimeoutTimer = new QTimer(this);
|
diagRequestTimeoutTimer = new QTimer(this);
|
||||||
@ -63,6 +64,24 @@ void DeviceControllerDiag::onDiagRequestTimeoutTimerTimeout()
|
|||||||
this->flagInterruptDiag = true;
|
this->flagInterruptDiag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool DeviceControllerDiag::isErrorState()
|
||||||
|
{
|
||||||
|
return this->_isErrorState;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DeviceControllerDiag::isOperatingState()
|
||||||
|
{
|
||||||
|
return !this->_isErrorState;
|
||||||
|
}
|
||||||
|
|
||||||
|
QSet<DeviceController::State> DeviceControllerDiag::getCurrentMachineState()
|
||||||
|
{
|
||||||
|
return this->machineEventSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void DeviceControllerDiag::private_startDiag()
|
void DeviceControllerDiag::private_startDiag()
|
||||||
{
|
{
|
||||||
// check for DiagRequestTimeoutTimerTimeout:
|
// check for DiagRequestTimeoutTimerTimeout:
|
||||||
@ -393,58 +412,72 @@ void DeviceControllerDiag::private_sendDiagEvent(DeviceController::State result)
|
|||||||
case DeviceController::State::A000: // alarm / intrusion
|
case DeviceController::State::A000: // alarm / intrusion
|
||||||
eventClass = EVENT_CLASS::ALARM;
|
eventClass = EVENT_CLASS::ALARM;
|
||||||
parameter = "alarm / intrusion";
|
parameter = "alarm / intrusion";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E002: // real time clock error
|
case DeviceController::State::E002: // real time clock error
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "real time clock error";
|
parameter = "real time clock error";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E003: // voltage error
|
case DeviceController::State::E003: // voltage error
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "voltage error";
|
parameter = "voltage error";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E004: // temperature error
|
case DeviceController::State::E004: // temperature error
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "temperature error";
|
parameter = "temperature error";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E007: // coin safe full
|
case DeviceController::State::E007: // coin safe full
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "coin safe full";
|
parameter = "coin safe full";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E008: // bill acceptor full
|
case DeviceController::State::E008: // bill acceptor full
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "bill acceptor full";
|
parameter = "bill acceptor full";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E009: // no cash box
|
case DeviceController::State::E009: // no cash box
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "no cash box";
|
parameter = "no cash box";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E010: // coin escrow
|
case DeviceController::State::E010: // coin escrow
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "coin escrow";
|
parameter = "coin escrow";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E011: // mem error int.ee.
|
case DeviceController::State::E011: // mem error int.ee.
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "mem error int.ee.";
|
parameter = "mem error int.ee.";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E018: // no paper
|
case DeviceController::State::E018: // no paper
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "no paper";
|
parameter = "no paper";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E020: // printer error
|
case DeviceController::State::E020: // printer error
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "printer error";
|
parameter = "printer error";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E025: // coin blocker
|
case DeviceController::State::E025: // coin blocker
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "coin blocker";
|
parameter = "coin blocker";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E026: // error coin validator
|
case DeviceController::State::E026: // error coin validator
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "error coin validator";
|
parameter = "error coin validator";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
case DeviceController::State::E034: // mdb error
|
case DeviceController::State::E034: // mdb error
|
||||||
eventClass = EVENT_CLASS::ERROR;
|
eventClass = EVENT_CLASS::ERROR;
|
||||||
parameter = "mdb error";
|
parameter = "mdb error";
|
||||||
|
this->_isErrorState = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DeviceController::State::E071: // cash box change is ongoing
|
case DeviceController::State::E071: // cash box change is ongoing
|
||||||
@ -480,6 +513,7 @@ void DeviceControllerDiag::private_sendDiagEvent(DeviceController::State result)
|
|||||||
break;
|
break;
|
||||||
case DeviceController::State::O000: // everything is fine
|
case DeviceController::State::O000: // everything is fine
|
||||||
this->machineEventSet.clear();
|
this->machineEventSet.clear();
|
||||||
|
this->_isErrorState = false;
|
||||||
eventClass = EVENT_CLASS::OPERATE;
|
eventClass = EVENT_CLASS::OPERATE;
|
||||||
parameter = "";
|
parameter = "";
|
||||||
if (this->lastState == DeviceController::State::O000) {
|
if (this->lastState == DeviceController::State::O000) {
|
||||||
|
@ -72,6 +72,13 @@ public:
|
|||||||
nsDeviceControllerInterface::COIN_PROCESSOR coinProcessorType;
|
nsDeviceControllerInterface::COIN_PROCESSOR coinProcessorType;
|
||||||
nsDeviceControllerInterface::BILL_ACCEPTOR billAcceptor;
|
nsDeviceControllerInterface::BILL_ACCEPTOR billAcceptor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return true, if machineEventSet contains an error
|
||||||
|
*/
|
||||||
|
bool isErrorState();
|
||||||
|
bool isOperatingState();
|
||||||
|
QSet<DeviceController::State> getCurrentMachineState();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void diagRequest();
|
void diagRequest();
|
||||||
|
|
||||||
@ -95,6 +102,7 @@ private:
|
|||||||
|
|
||||||
DeviceController::State lastState;
|
DeviceController::State lastState;
|
||||||
QSet<DeviceController::State> machineEventSet;
|
QSet<DeviceController::State> machineEventSet;
|
||||||
|
bool _isErrorState;
|
||||||
|
|
||||||
PersistentData* pData;
|
PersistentData* pData;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user