Index: dialin/ui/hd_simulator.py =================================================================== diff -u -rbea9ebd2e6dd6ba909a7431044059a9aeb4ea0b5 -r7c40736c7dd4ead43359fe9a26af72e827004aa4 --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision bea9ebd2e6dd6ba909a7431044059a9aeb4ea0b5) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 7c40736c7dd4ead43359fe9a26af72e827004aa4) @@ -268,10 +268,10 @@ self.demoCounter = 1 # RESET/JUMP FORWARD DIALOG HANDLER ------------------------------- - if (msg_id == MsgIds.MSG_ID_UI_CONFIRMATION_RESULT.value) and \ + if (msg_id == MsgIds.MSG_ID_UI_CONFIRMATION_RESULT_RESPONSE.value) and \ (params.data_int[0] == 99) and \ (params.data_int[1] == EResponse.Accepted): # TBD! Use const for 99 - rsp_id = MsgIds.MSG_ID_HD_REQUEST_UI_CONFIRMATION + rsp_id = MsgIds.MSG_ID_HD_UI_CONFIRMATION_REQUEST rsp_payload = integer_to_bytearray(98) rsp_payload += integer_to_bytearray(0) # TBD use consts rsp_payload += integer_to_bytearray(0) @@ -282,9 +282,9 @@ self.demoSelection = 0 # setup event to change state on demoTimer self.demoCount = 0 - elif (msg_id == MsgIds.MSG_ID_UI_CONFIRMATION_RESULT.value) and \ + elif (msg_id == MsgIds.MSG_ID_UI_CONFIRMATION_RESULT_RESPONSE.value) and \ (params.data_int[0] == 98): - rsp_id = MsgIds.MSG_ID_HD_REQUEST_UI_CONFIRMATION + rsp_id = MsgIds.MSG_ID_HD_UI_CONFIRMATION_REQUEST rsp_payload = integer_to_bytearray(98) # TBD! Use const for 99 rsp_payload += integer_to_bytearray(3) # TBD use consts rsp_payload += integer_to_bytearray(0) @@ -303,14 +303,14 @@ # INITIATE A NEW TREATMENT SETUP ---------------------------------- elif msg_id == MsgIds.MSG_ID_UI_INITIATE_TREATMENT_REQUEST.value: - rsp_id = MsgIds.MSG_ID_HD_OP_MODE + rsp_id = MsgIds.MSG_ID_HD_OP_MODE_DATA if params.data_int[0] == EResponse.Accepted: rsp_payload = integer_to_bytearray(HDOpModes.MODE_TPAR.value) else: rsp_payload = integer_to_bytearray(HDOpModes.MODE_STAN.value) rsp_payload += integer_to_bytearray(0) - elif msg_id == MsgIds.MSG_ID_UI_NEW_TREATMENT_PARAMS.value: + elif msg_id == MsgIds.MSG_ID_UI_NEW_TREATMENT_PARAMS_REQUEST.value: rsp_id = MsgIds.MSG_ID_HD_NEW_TREATMENT_PARAMS_RESPONSE rsp_payload = struct.pack("<" + str(TreatmentParameters.NUM_OF_TREATMENT_PARAMS.value + 1) + "i", 1, @@ -331,10 +331,9 @@ # rsp_id = MsgIds.MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE self.cmd_send_treatment_adjust_pressures_limit_response( accepted=EResponse.Accepted, reason=RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value, - arterial_low=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value], - arterial_high=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value], - venous_low=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value], - venous_high=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] ) + arterial_pressure_limit_window=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value], + venous_pressure_limit_window=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value], + venous_pressure_limit_asymmetric=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC.value] ) self.arterial_pressure_mid_mmHg = (self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value]) / 2 self.venous_pressure_mid_mmHg = (self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] @@ -360,7 +359,7 @@ # else: # self.demoSpeed = 1 - elif msg_id == MsgIds.MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS.value: + elif msg_id == MsgIds.MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS_REQUEST.value: if params.data_int[0] == EResponse.Accepted: ## TBD!!! FOLLOWING IS FUTILE ATTEMPT TO SET UF MAX calc_max_uf_volume = min(int(self.MAX_UF_RATE_ML_PER_SEC * self.treatment_time_sec/100.0)*100.0, self.MAX_UF_ML_PER_TX) self.cmd_set_treatment_parameter_ranges(min_treatment_duration=0, max_treatment_duration=480, @@ -376,7 +375,7 @@ cumulative=0.0, delivered=0.0) self.salineVolume_ml = 0.0 self.salineVolCum_ml = 0.0 - rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE_DATA rsp_payload = struct.pack( "<" + str(PreTreatmentSubModes.NUM_OF_HD_PRE_TREATMENT_STATES.value + 1) + "i", PreTreatmentSubModes.HD_PRE_TREATMENT_WATER_SAMPLE_STATE.value, @@ -404,7 +403,7 @@ elif msg_id == MsgIds.MSG_ID_UI_SAMPLE_WATER_RESULT.value: # sample water completed, prime filter... if params.data_int[0] == EResponse.Accepted: self.demoTimedIncValue = PreTreatmentConsumableSelfTestStates.CONSUMABLE_SELF_TESTS_INSTALL_STATE.value - rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE_DATA rsp_payload = struct.pack( "<" + str(PreTreatmentSubModes.NUM_OF_HD_PRE_TREATMENT_STATES.value + 1) + "i", PreTreatmentSubModes.HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE.value, @@ -423,7 +422,7 @@ self.demoCounter = 0 else: # elif request_val == EResponse.Rejected: # 'Secret' jump over pre-treatment when user fails the water test - rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE_DATA rsp_payload = struct.pack( "<" + str(PreTreatmentSubModes.NUM_OF_HD_PRE_TREATMENT_STATES.value + 1) + "i", PreTreatmentSubModes.HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE.value, @@ -440,20 +439,20 @@ self.demoSelection = 0 # Wait for user # PRETREATMENT INSTALL AND TESTS --------------------------------- - elif msg_id == MsgIds.MSG_ID_UI_CONSUMABLE_INSTALL_CONFIRM.value: + elif msg_id == MsgIds.MSG_ID_UI_CONSUMABLE_INSTALL_CONFIRM_REQUEST.value: # assuming everything is setup in preceding MSG_ID_UI_SAMPLE_WATER_RESULT handling self.demoSelection = 6 # TBD setup event to change to self.demoCounter = self.demoCount # next tick self.demoCount = 3 # TBD redundant with above? self.demoCounter = self.demoCount # immediate self.demoTimedIncValue = PreTreatmentConsumableSelfTestStates.CONSUMABLE_SELF_TESTS_PRIME_STATE.value # 1. TBD Note: this will be skipped as an output - elif msg_id == MsgIds.MSG_ID_UI_INSTALLATION_CONFIRM.value: + elif msg_id == MsgIds.MSG_ID_UI_INSTALLATION_CONFIRM_REQUEST.value: self.demoTimedIncValue = PreTreatmentDrySelfTestsStates.DRY_SELF_TESTS_START_STATE.value self.demoSelection = 9 # TBD setup event to change to test completions self.demoCount = 4 # 4 timer ticks each for 12-16 TBD?? self.demoCounter = self.demoCount - self.demoCountdownId = MsgIds.MSG_ID_HD_DRY_SELF_TEST_PROGRESS + self.demoCountdownId = MsgIds.MSG_ID_HD_DRY_SELF_TEST_PROGRESS_DATA # aggregate # PreTreatmentDrySelfTestsStates.NUM_OF_DRY_SELF_TESTS_STATES * 2 self.demoGroupCounter = -self.demoCounter # start displayed timer progressing with the Counter @@ -469,7 +468,7 @@ # TREATMENT: PATIENT CONNECT -------------------------------------- elif msg_id == MsgIds.MSG_ID_UI_PATIENT_CONNECTION_BEGIN_REQUEST.value: # 100 x64 'Continue' Priming Complete # TBD!!! Setup UF Range before this - rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE_DATA rsp_payload = struct.pack( "<" + str(PreTreatmentSubModes.NUM_OF_HD_PRE_TREATMENT_STATES.value + 1) + "i", PreTreatmentSubModes.HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE.value, @@ -485,7 +484,7 @@ ) self.demoSelection = 0 # Wait for user - elif msg_id == MsgIds.MSG_ID_UI_SET_UF_VOLUME_PARAMETER.value: # _79 x4F + elif msg_id == MsgIds.MSG_ID_UI_SET_UF_VOLUME_PARAMETER_REQUEST.value: # _79 x4F rsp_id = MsgIds.MSG_ID_HD_SET_UF_VOLUME_PARAMETER_RESPONSE rsp_payload = integer_to_bytearray(EResponse.Accepted) rsp_payload += integer_to_bytearray(RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value) @@ -497,7 +496,7 @@ self.uf_rate_l_per_sec = 0 self.demoSelection = 0 # Wait for user - elif msg_id == MsgIds.MSG_ID_UI_PATIENT_CONNECTION_CONFIRM.value: # 102 x66 + elif msg_id == MsgIds.MSG_ID_UI_PATIENT_CONNECTION_CONFIRM_REQUEST.value: # 102 x66 rsp_id = MsgIds.MSG_ID_HD_PATIENT_CONNECTION_CONFIRM_RESPONSE rsp_payload = integer_to_bytearray(EResponse.Accepted) rsp_payload += integer_to_bytearray(RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value) @@ -548,18 +547,15 @@ rsp_payload = integer_to_bytearray(EResponse.Accepted) rsp_payload += integer_to_bytearray(RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value) # apply new settings - self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] =\ + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value] =\ params.data_int[0] - self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] =\ + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value] =\ params.data_int[1] - self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] =\ + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC.value] =\ params.data_int[2] - self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] =\ - params.data_int[3] rsp_payload += integer_to_bytearray(params.data_int[0]) # reply with as set rsp_payload += integer_to_bytearray(params.data_int[1]) rsp_payload += integer_to_bytearray(params.data_int[2]) - rsp_payload += integer_to_bytearray(params.data_int[3]) elif msg_id == MsgIds.MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_REQUEST.value: # _70 x46 rsp_id = MsgIds.MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_RESPONSE @@ -576,7 +572,7 @@ rsp_payload += integer_to_bytearray(params.data_int[0]) # RINSEBACK ------------------------- - elif msg_id == MsgIds.MSG_ID_UI_RINSEBACK_CMD.value: # _82 x52 + elif msg_id == MsgIds.MSG_ID_UI_RINSEBACK_CMD_REQUEST.value: # _82 x52 rsp_id = MsgIds.MSG_ID_HD_RINSEBACK_CMD_RESPONSE rsp_payload = integer_to_bytearray(EResponse.Accepted) rsp_payload += integer_to_bytearray(RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value) @@ -601,7 +597,7 @@ elif params.data_int[0] == 5 or\ params.data_int[0] == 8: # TBD!! need real ID consts: "END" 8 = Disconnect without further rinseback 5 = "End" during rinseback - rsp_id = MsgIds.MSG_ID_HD_OP_MODE + rsp_id = MsgIds.MSG_ID_HD_OP_MODE_DATA rsp_payload = integer_to_bytearray(HDOpModes.MODE_POST.value) rsp_payload += integer_to_bytearray(0) self.demoSelection = 0 # Complete Treatment @@ -612,12 +608,12 @@ elif params.data_int[0] == 9: # TBD!! Additional not implemented 9 = return to treatment rsp_payload = integer_to_bytearray(EResponse.Rejected) - elif msg_id == MsgIds.MSG_ID_UI_PATIENT_DISCONNECTION_CONFIRM.value or \ + elif msg_id == MsgIds.MSG_ID_UI_PATIENT_DISCONNECTION_CONFIRM_REQUEST.value or \ msg_id == MsgIds.MSG_ID_UI_TREATMENT_LOG_DATA_REQUEST.value: # _74 x4A # rsp_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE self._send_treatment_log() - elif msg_id == MsgIds.MSG_ID_UI_DISPOSABLE_REMOVAL_CONFIRM.value: # 115 x73 + elif msg_id == MsgIds.MSG_ID_UI_DISPOSABLE_REMOVAL_CONFIRM_REQUEST.value: # 115 x73 rsp_id = MsgIds.MSG_ID_HD_DISPOSABLE_REMOVAL_CONFIRM_RESPONSE rsp_payload = integer_to_bytearray(EResponse.Accepted) rsp_payload += integer_to_bytearray(RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value) @@ -673,21 +669,21 @@ self.demoTimedIncValue += 1 # RESET INIT TO STANDBY ------------------------------------------- if self.demoSelection == 1: # TBD Reset to start INIT - rsp_id = MsgIds.MSG_ID_HD_OP_MODE + rsp_id = MsgIds.MSG_ID_HD_OP_MODE_DATA rsp_payload = integer_to_bytearray(HDOpModes.MODE_INIT.value) rsp_payload += integer_to_bytearray(HDInitStates.POST_STATE_START.value) self.demoSelection = 2 # setup event to change state on demoTimer self.demoCount = 3 self.demoGroupCount = None elif self.demoSelection == 2: # TBD Auto transit to standby - rsp_id = MsgIds.MSG_ID_HD_OP_MODE + rsp_id = MsgIds.MSG_ID_HD_OP_MODE_DATA rsp_payload = integer_to_bytearray(HDOpModes.MODE_STAN.value) rsp_payload += integer_to_bytearray(HDStandbyStates.STANDBY_START_STATE.value) self.demoSelection = 0 # wait for user # PRETREATMENT ---------------------------------------------------- elif self.demoSelection == 4: # Dialysis - self.demoCountdownId = MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS + self.demoCountdownId = MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS_DATA self.demoCount = int(120 / 8) # TBD! fix const numbers self.demoCounter = -1 # give slight delay @@ -914,7 +910,7 @@ self.demoSelection = 29 # start dialysis elif self.demoSelection == 29: # Enter/Return to normal UF Dialysis - rsp_id = MsgIds.MSG_ID_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_TREATMENT_STATE_DATA self.uf_state = TreatmentDialysisStates.DIALYSIS_UF_STATE # 1 UF state self.saline_state = SalineBolusStates.SALINE_BOLUS_STATE_IDLE # 2 Saline bolus state rsp_payload = struct.pack("<10i", @@ -1050,7 +1046,7 @@ if (prev_heparin_state != self.heparin_state) or \ (prev_saline_state != self.saline_state): - rsp_id = MsgIds.MSG_ID_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_TREATMENT_STATE_DATA rsp_payload = struct.pack("<10i", TreatmentStates.TREATMENT_DIALYSIS_STATE.value, # 0 Treatment Submode self.uf_state.value, # 1 UF state @@ -1126,7 +1122,7 @@ # on Rinsback state changes: if set_rinseback_state is not None: - rsp_id = MsgIds.MSG_ID_TREATMENT_STATE + rsp_id = MsgIds.MSG_ID_TREATMENT_STATE_DATA rsp_payload = struct.pack("<10i", TreatmentStates.TREATMENT_RINSEBACK_STATE.value, # 0 Treatment Submode TreatmentDialysisStates.DIALYSIS_UF_STATE.value, # 1 UF state @@ -1141,7 +1137,7 @@ ) elif self.demoSelection == 50: - rsp_id = MsgIds.MSG_ID_HD_OP_MODE + rsp_id = MsgIds.MSG_ID_HD_OP_MODE_DATA rsp_payload = integer_to_bytearray(HDOpModes.MODE_STAN.value) rsp_payload += integer_to_bytearray(HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value) self.demoSelection = 0 # wait for user @@ -1178,7 +1174,7 @@ if ctr_count < 0: # TBD! shouldn't happen ctr_count = 0 ctr_counter = max(0, min(ctr_count, ctr_counter)) # this allows for negative start values to Prime display and avoids overrun - if ctr_id != MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS and\ + if ctr_id != MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS_DATA and\ ctr_id != MsgIds.MSG_ID_HD_RINSEBACK_PROGRESS: ctr_payload = integer_to_bytearray(ctr_count) ctr_payload += integer_to_bytearray(ctr_count - ctr_counter)