Index: sources/drydemo/StateController.cpp =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/drydemo/StateController.cpp (.../StateController.cpp) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ sources/drydemo/StateController.cpp (.../StateController.cpp) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -52,6 +52,7 @@ _alarmTriggerSpecs[ALARM_ID_TD_END_OF_TREATMENT ] = {ALARM_PRIORITY_LOW , ALARM_TD_END_OF_TX_PROPERTIES , ALARM_NOT_TRANS_TO_TX_PAUSE , BLOOD_PUMP_NOT_RUNNING}; _alarmTriggerSpecs[ALARM_ID_TD_END_OF_TREATMENT_TIMEOUT ] = {ALARM_PRIORITY_HIGH , ALARM_TD_END_OF_TX_TIMEOUT_PROPERTIES , ALARM_NOT_TRANS_TO_TX_PAUSE , BLOOD_PUMP_NOT_RUNNING}; _alarmTriggerSpecs[ALARM_ID_TD_HDF_SUBMODE_CHANGE ] = {ALARM_PRIORITY_MEDIUM , ALARM_ID_TD_HDF_SUBMODE_CHGE_PROPERTIES , ALARM_TRANS_TO_TX_PAUSE , BLOOD_PUMP_IS_RUNNING }; + _alarmTriggerSpecs[ALARM_ID_TD_PRE_TX_HEPARIN_LOAD_SYRINGE ] = {ALARM_PRIORITY_MEDIUM , ALARM_ID_TD_PRE_TX_HEP_LOAD_PROPERTIES , ALARM_NOT_TRANS_TO_TX_PAUSE , BLOOD_PUMP_NOT_RUNNING}; } void StateController::quit() @@ -281,22 +282,27 @@ handleVitalsDataRquest(); handleTDWaterSampleResultRequest(); - if (! _treatmentRcvdMessages[ID_UI_ADJUST_DISPOSABLES_CONFIRM_RQST].isNull()){ + if (! _treatmentRcvdMessages[ID_UI_ADJUST_DISPOSABLES_CONFIRM_RQST].isNull()) { _treatmentRcvdMessages[ID_UI_ADJUST_DISPOSABLES_CONFIRM_RQST].clear(); handleUIResponseMessage(ID_TD_ADJUST_DISPOSSABLES_CONFIRM_RESP, ACCEPT_VALUE); } - if (! _treatmentRcvdMessages[ID_UI_TREATMENT_PARAMS_TO_VALIDATE].isNull()){ + if (! _treatmentRcvdMessages[ID_UI_TREATMENT_PARAMS_TO_VALIDATE].isNull()) { setTreatmentParametersFromUI(_treatmentRcvdMessages[ID_UI_TREATMENT_PARAMS_TO_VALIDATE]); _treatmentRcvdMessages[ID_UI_TREATMENT_PARAMS_TO_VALIDATE].clear(); + if (!_treatmentStatus.TEMPREMOVEFORASN && _treatmentParams.heparinDeliveryDurationMin > 0) { triggerAnAlarm(ALARM_ID_TD_PRE_TX_HEPARIN_LOAD_SYRINGE); } + if (_treatmentStatus.TEMPREMOVEFORASN) { _treatmentStatus.TEMPREMOVEFORASN = false; } + } - if (! _treatmentRcvdMessages[ID_UI_ADJUST_START_TREATMENT_RQST].isNull()){ + if (! _treatmentRcvdMessages[ID_UI_ADJUST_START_TREATMENT_RQST].isNull()) { _treatmentRcvdMessages[ID_UI_ADJUST_START_TREATMENT_RQST].clear(); handleUIResponseMessage(ID_TD_ADJUST_START_TREATMENT_RESP, ACCEPT_VALUE); status = STATE_ON_EXIT; _treatmentStatus.stateTransitionEvent = "T_Pretx_2_BP"; } + + handleAlarmUserAction(status, false); }; auto onExit = [=](){