Index: dialin/ui/hd_simulator.py =================================================================== diff -u -r4fef44319caea79203c9c836a57802c62409da09 -r8b04f496c0387a253f4b8dfd243d85852aad8153 --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 4fef44319caea79203c9c836a57802c62409da09) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 8b04f496c0387a253f4b8dfd243d85852aad8153) @@ -106,9 +106,9 @@ self.dialysate_flow_measured_ml_per_min = 229.9 # simulation self.dialysate_flow_set_point_ml_per_min = 250 # setting self.arterial_pressure_mmHg = -80.8 # simulation - self.arterial_pressure_mid_mmHg = -50.0 # setting - self.venous_pressure_mmHg = 233.3 # simulation - self.venous_pressure_mid_mmHg = 200.0 # param + self.arterial_pressure_mid_mmHg = -118.9 # setting + self.venous_pressure_mmHg = 203.3 # simulation + self.venous_pressure_mid_mmHg = 165.2 # param self.treatment_time_sec = 60 * 100 # setting self.uf_volume_set_l = 1.2 # setting self.uf_volume_out_l = 0 # status @@ -131,6 +131,7 @@ self.hep_bolus_ml = 0 # setting self.hep_stop_min = 0 # setting self.hep_out_ml = 0 # status + self.hep_bolus_out_ml = 0 # status self.demo_treatment_params = DenaliData() @@ -258,6 +259,12 @@ print("generic handler:", MsgIds(msg_id).name, message) params = self.get_message_list_data(message) # convert payload data + # UI RESET -------------------------------------------------------- + if msg_id == MsgIds.MSG_ID_UI_POST_FINAL_TEST_RESULT.value: + self.demoSelection = 1 # setup event to change Mode + self.demoCount = 0 + self.demoCounter = 1 + # RESET/JUMP FORWARD DIALOG HANDLER ------------------------------- if (msg_id == MsgIds.MSG_ID_UI_CONFIRMATION_RESULT.value) and \ (params.data_int[0] == 99) and \ @@ -559,44 +566,45 @@ elif msg_id == MsgIds.MSG_ID_UI_PATIENT_DISCONNECTION_CONFIRM.value or \ msg_id == MsgIds.MSG_ID_UI_TREATMENT_LOG_DATA_REQUEST: # _74 x4A # rsp_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE - # self.cmd_send_post_treatment_log_response( - # accepted = EResponse.Accepted, # bool - # reason = RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value, # int, - # bood_flow_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value], # int - # dialysate_flow_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value], # int - # treatment_duration = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value], # int - # actual_treatment_duration = int(self.treatment_stop_time_s-self.treatment_start_time_s), # int - # acid_concentrate_type = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value], # int - # bicarbonate_concentrate_type = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value], # int - # potassium_concentration = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_.value], # int - # calcium_concentration = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # bicarbonate_concentration = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # sodium_concentration = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # dialysate_temperature = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # dialyzer_type = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # treatment_start_date_time = int(self.treatment_start_time_s), # int - # treatment_end_date_time = int(self.treatment_stop_time_s), # int - # average_blood_flow = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # average_dialysate_flow = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # dialysate_volume_used = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # average_dialysate_temp = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # origin_uf_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # target_uf_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # actual_uf_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # origin_uf_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # target_uf_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # actual_uf_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # saline_bolus_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # heparin_bolus_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # heparin_dispense_rate = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # heparin_pre_stop = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # heparin_delivered_volume = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # heparin_type = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # average_arterial_pressure = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # average_venous_pressure = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # float - # device_id = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # water_sample_test_result = demo_treatment_params.data_int[TreatmentParameters.TREATMENT_.value], # int - # ) + tx_time_s = self.treatment_stop_time_s-self.treatment_start_time_s + self.cmd_send_post_treatment_log_response( + accepted = EResponse.Accepted, # bool + reason = RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value, # int, + blood_flow_rate= self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value], # int + dialysate_flow_rate = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value], # int + treatment_duration = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value], # int + actual_treatment_duration = int(tx_time_s), # int + acid_concentrate_type = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value], # int + bicarbonate_concentrate_type = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value], # int + potassium_concentration = 1000, # int + calcium_concentration = 2500, # int + bicarbonate_concentration = 33000, # int + sodium_concentration = 137000, # int + dialysate_temperature = self.demo_treatment_params.data_float[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value], # float + dialyzer_type = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value], # int + treatment_start_date_time = int(self.treatment_start_time_s), # int + treatment_end_date_time = int(self.treatment_stop_time_s), # int + average_blood_flow = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value], # float + average_dialysate_flow = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value], # float + dialysate_volume_used = (self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] * tx_time_s), # float + average_dialysate_temp = self.demo_treatment_params.data_float[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value], # float + origin_uf_volume = self.uf_volume_set_l, # float + target_uf_volume = self.uf_volume_set_l, # float + actual_uf_volume = self.uf_volume_out_l, # float + origin_uf_rate = self.uf_volume_set_l / self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value], # float + target_uf_rate = self.uf_volume_set_l / self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value], # float + actual_uf_rate = self.uf_volume_out_l / tx_time_s, # float + saline_bolus_volume = int(self.salineVolCum_ml), # int + heparin_bolus_volume = self.hep_out_ml, # float + heparin_dispense_rate = self.hep_rate_ml_per_hr, # float + heparin_pre_stop = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value], # int + heparin_delivered_volume = self.hep_out_ml, # float + heparin_type = self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value], # int + average_arterial_pressure = self.arterial_pressure_mid_mmHg, # float + average_venous_pressure = self.venous_pressure_mid_mmHg, # float + device_id = 101, # int + water_sample_test_result = EResponse.Accepted # int + ) pass elif msg_id == MsgIds.MSG_ID_UI_DISPOSABLE_REMOVAL_CONFIRM.value: # 115 x73 @@ -638,12 +646,14 @@ rsp_channel_id = DenaliChannels.hd_to_ui_ch_id # default if (self.demoCounter <= self.demoCount) or (self.demoCount < 1): - print("t", end='') # TBD ctrIncrement = max(1, min(self.demoCount - self.demoCounter, self.demoSpeed)) self.demoCounter += ctrIncrement if self.demoGroupCount is not None: self.demoGroupCounter += ctrIncrement - if self.demoCounter > self.demoCount: + + if self.demoCounter <= self.demoCount: + print("t", end='') # TBD + else: print("T", end='') # TBD self.demoCounter = 0 self.demoCountdownId = None