Index: sources/drydemo/StateControllerStandby.cpp =================================================================== diff -u -rb9f4ddeb2dec3019b87c712bfe64b8df1d4b328c -rc52253ab5fc73e9b59d9cd99eada3d526d799987 --- sources/drydemo/StateControllerStandby.cpp (.../StateControllerStandby.cpp) (revision b9f4ddeb2dec3019b87c712bfe64b8df1d4b328c) +++ sources/drydemo/StateControllerStandby.cpp (.../StateControllerStandby.cpp) (revision c52253ab5fc73e9b59d9cd99eada3d526d799987) @@ -33,6 +33,22 @@ _treatmentRcvdMessages[ID_UI_CONFIRMATION_RESULT_RESP].clear(); } +void StateController::handleUICheckInMessage() +{ + if (_treatmentRcvdMessages[ID_UI_CHECK_IN].isNull()) { return; } + + qint32 index = 0; + Types::S16 seq; + GetValue(_treatmentRcvdMessages[ID_UI_CHECK_IN].toByteArray(), index, seq); + + qint16 sequence = seq.value * -1; + QVariantList resp; + resp.append(static_cast(ID_ACK_MESSAGE_THAT_REQUIRES_ACK)); + resp.append(Can_Id::eChlid_TD_UI); + resp.append(sequence); + _treatmentRcvdMessages[ID_UI_CHECK_IN].clear(); +} + void StateController::handleInitiateTreatmentRequestMessage(State_Status &status) { if (_treatmentRcvdMessages[ID_INITIATE_TREATMENT].isNull()){ return; } @@ -81,6 +97,7 @@ _treatmentSubStates.rinsebackState = RINSEBACK_STOP_INIT_STATE; _treatmentStatus.ufVolDeliveredL = 0.0; _treatmentStatus.hasRecircBeenRequested = false; + _treatmentStatus.lowVenousAlarmTimeoutCtr = 0; } void StateController::triggerAnAlarm(Alarm_List alarmID) @@ -166,6 +183,16 @@ } } +void StateController::handleTriggerLowVenousAlarmInTx() +{ + _treatmentStatus.lowVenousAlarmTimeoutCtr++; + + if ((_treatmentStatus.lowVenousAlarmTimeoutCtr * QOBJECT_TIMER_TIMEOUT_MS) == TRIG_LOW_VEN_ALARM_TIMEOUT_MS) + { + triggerAnAlarm(ALARM_ID_TD_VENOUS_PRESSURE_LOW); + } +} + void StateController::handleUIConfirmMessage(const Generic_Confirm_Id confirmID, State_Status &status) { if (!_uiConfirmMessages.contains(confirmID)) { return; } @@ -176,9 +203,8 @@ case GENERIC_CONFIRM_ID_TREATMENT_END: if (_uiConfirmMessages[confirmID][UI_CONFIRM_MSG_STATUS_INDEX].toUInt() == CONFIRMATION_REQUEST_STATUS_ACCEPTED) { QStringList activeStates = _dryDemo.activeStateNames(true); - QString activeState = activeStates[0]; + QString activeState = activeStates[0]; _treatmentStatus.stateTransitionEvent = (activeState == "Treatment_Recirculate" ? "T_RC_2_TE" : "T_RB_2_TE"); - //_treatmentStatus.stateTransitionEvent = "T_RB_2_TE"; status = STATE_ON_EXIT; qDebug() << "Event" << _treatmentStatus.stateTransitionEvent << _dryDemo.activeStateNames(true); }