Index: drydemo.pro.user =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- drydemo.pro.user (.../drydemo.pro.user) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ drydemo.pro.user (.../drydemo.pro.user) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/MessageGlobals.h =================================================================== diff -u -r521f29cb7dcd0de352dd744292488380e07cb9e3 -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/MessageGlobals.h (.../MessageGlobals.h) (revision 521f29cb7dcd0de352dd744292488380e07cb9e3) +++ sources/MessageGlobals.h (.../MessageGlobals.h) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -197,6 +197,11 @@ ID_UI_RECIRCULATE_RQST = 0xA600, ID_TD_RECIRCULATE_RESP = 0xA700, ID_TD_RECIRCULATE_DATA = 0xA800, + + ID_UI_ADJUST_TREATMENT_LOGS_RQST = 0xA900, + ID_TD_ADJUST_TREATMENT_LOGS_RESP = 0xAA00, + + ID_TD_WATER_SAMPLE_RESULT_RESP = 0xAB00, ID_TD_UI_GENERIC_CONFIRMATION_RQST = 0xB500, ID_UI_CONFIRMATION_RESULT_RESP = 0xB600, Index: sources/drydemo/DryDemoDefines.h =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/drydemo/DryDemoDefines.h (.../DryDemoDefines.h) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ sources/drydemo/DryDemoDefines.h (.../DryDemoDefines.h) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -144,12 +144,13 @@ #define ALARM_LOW_VENOUS_PROPERTIES 2 #define ALARM_RECIRC_WARN_PROPERTIES 112 #define ALARM_REPLACE_BICARB_PROPERTIES 112 -#define ALARM_DIAL_PROPOR_PROPERTIES 76 +#define ALARM_DIAL_PROPOR_PROPERTIES 124 #define ALARM_TX_MOD_CHNG_PROPERTIES 2 #define ALARM_LOW_BICARB_PROPERTIES 112 #define ALARM_TD_END_OF_TX_PROPERTIES 248 #define ALARM_TD_END_OF_TX_TIMEOUT_PROPERTIES 108 #define ALARM_ID_TD_HDF_SUBMODE_CHGE_PROPERTIES 116 +#define ALARM_ID_TD_PRE_TX_HEP_LOAD_PROPERTIES 116 // Dry bicart defines #define DRY_BICART_DRIN_IN_PROGRESS 1 @@ -366,6 +367,7 @@ ALARM_ID_TD_TREATMENT_STOPPED_BY_USER = 96, ALARM_ID_TD_RECIRC_TIMEOUT_WARNING = 199, ALARM_ID_TD_RECIRC_TIMEOUT = 200, + ALARM_ID_TD_PRE_TX_HEPARIN_LOAD_SYRINGE = 201, ALARM_ID_DD_BICARBONATE_CARTRIDGE_LOW_LEVEL = 244, ALARM_ID_TD_HDF_SUBMODE_CHANGE = 246, ALARM_ID_TD_TREATMENT_MODALITY_CHANGE = 247, 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 = [=](){ Index: sources/drydemo/StateController.h =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/drydemo/StateController.h (.../StateController.h) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ sources/drydemo/StateController.h (.../StateController.h) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -91,6 +91,8 @@ quint32 treatmentEndTimeoutAlarmCtr; // Dialysate flow bool isDialysateInBypass; + + bool TEMPREMOVEFORASN; }; struct Treatment_HDF_vars { Index: sources/drydemo/StateControllerStandby.cpp =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/drydemo/StateControllerStandby.cpp (.../StateControllerStandby.cpp) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ sources/drydemo/StateControllerStandby.cpp (.../StateControllerStandby.cpp) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -68,6 +68,7 @@ handleUIResponseMessage(ID_TD_RESP_INITIATE_TREATMENT, ACCEPT_VALUE); // Set the state to be on exit because the state has to exit status = STATE_ON_EXIT; + _treatmentStatus.TEMPREMOVEFORASN = true; } void StateController::handleUIResponseMessage(const Message_ID_Enum msgID, const quint32 acceptReject, const QVariantList &rejectReasons) @@ -143,6 +144,8 @@ _treatmentStatus.bicartTotal = 100; _treatmentStatus.bicartShowDialog = DRY_BICART_OPEN_SCREEN; + _treatmentStatus.TEMPREMOVEFORASN = true; + // UI confirm _uiConfirmMessages.clear(); } Index: sources/drydemo/StateControllerTreatmentBroadcasts.cpp =================================================================== diff -u -re8edefcae8e47854198b06c1a65e4e45da5f3afc -r92e21520e183cd3275576dc3670752da082ec9d4 --- sources/drydemo/StateControllerTreatmentBroadcasts.cpp (.../StateControllerTreatmentBroadcasts.cpp) (revision e8edefcae8e47854198b06c1a65e4e45da5f3afc) +++ sources/drydemo/StateControllerTreatmentBroadcasts.cpp (.../StateControllerTreatmentBroadcasts.cpp) (revision 92e21520e183cd3275576dc3670752da082ec9d4) @@ -188,7 +188,7 @@ static quint32 broadcastCounter = 22; if ((++broadcastCounter % NUM_OF_COUNTS_TIMER_BC_EMIT != 0) && (BCType == BC_DELAYED)) { return; } - float d27Cond = 13.2; + float d27Cond = 13600; QVariantList msg; msg.append(static_cast(ID_DD_CONDUCTIVITY_DATA));