# -*- coding: utf-8 -*- ## # Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. # copyright # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, # IN PART OR IN WHOLE, # WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # file tst_UI_log_verification # date 2022/04/09 # author Bhavana Savanth # author Amol Pandharinath Shinde # author Amrita Debnath # author Sai Chaitanya Ela # author Akshay Rajaram # # NOTE: # This test verifies the logs for the messages provided from dialin.ui.hd_simulator_alarms import HDAlarmsSimulator import logging from dialin.protocols.CAN import DenaliCanMessenger from dialin.ui import HDSimulator from dialin.ui import DGSimulator from dialin.ui import utils from configuration import utility from configuration import config import builtins from dialin.common.msg_ids import MsgIds from dialin.common import msg_defs from dialin.utils.conversions import byte_to_bytearray, integer_to_bytearray, float_to_bytearray, short_to_bytearray, unsigned_integer_to_bytearray, integer_to_bit_array # from dialin.utils import YES logger= logging.getLogger("INFO") messenger= DenaliCanMessenger('can0') hd_alarm= HDAlarmsSimulator(can_interface=messenger, logger=logger) hd_simulator = HDSimulator() dg_simulator = DGSimulator() NUMBER_OF_OPMODE = 9 NUMBER_OF_TREATMENTMODES = 3 def verify_log(msg_id,msg = None, param = None): utils.waitForGUI(2) ack = False if not msg_id in msg_defs.ACK_NOT_REQUIRED: ack = True message_extracted = utility.get_current_log_details(message_ack = ack, message_text = msg) test.log(str(message_extracted)) if ack == True: test.verify(config.ACK_REQ_STATUS in message_extracted, "ack request is verified") test.verify(config.ACK_BAK_STATUS in message_extracted, "ack back is verified") message_id_hex = builtins.hex(builtins.int(msg_id)) message_id_str = builtins.str(message_id_hex) test.verify(message_id_str in message_extracted, "message ID is verified") if param != None: test.verify(param in message_extracted, "parameters are verified") def main(): utils.tstStart(__file__) startApplication(config.AUT_NAME) #HD Broadcast #0x0D00 hd_simulator.cmd_set_treatment_time(200,60,0) verify_log(msg_id = MsgIds.MSG_ID_TREATMENT_TIME.value, msg = "TreatmentTime", param = [200,60,0]) #0x0500 hd_simulator.cmd_set_treatment_blood_flow_rate(flow_set_pt=20, measured_flow=10.5, rot_speed = 112.2 , mot_speed = 120.3, mc_speed = 100.0, mc_current = 12.5, pwm = 32.3, rotor_count = 30) verify_log(msg_id = MsgIds.MSG_ID_BLOOD_FLOW_DATA.value, msg = "BloodFlow", param = [20,10.5,112.2,120.3,100.0,12.5,32.3,30]) #0x0800 hd_simulator.cmd_set_treatment_dialysate_flow_rate(flow_set_pt=20, measured_flow=10.5, rot_speed = 112.2 , mot_speed = 120.3, mc_speed = 100.0, mc_current = 12.5, pwm = 32.3) verify_log(msg_id = MsgIds.MSG_ID_DIALYSATE_FLOW_DATA.value, msg = "DialysateFlow", param = [20,10.5,112.2,120.3,100.0,12.5,32.3]) #0x0900 hd_simulator.cmd_set_pressure_occlusion_data(arterial_prs = 54.5, venous_prs = 20.1, blood_pump_occlusion = 3, dialysate_inlet_pump_occlusion = 2, dialysate_outlet_pump_occlusion = 5) verify_log(msg_id = MsgIds.MSG_ID_PRESSURE_OCCLUSION_DATA.value, msg = "Pressure/Occlusion", param = [54.5,20.1,3,2,5]) #0x0B00 hd_simulator.cmd_set_treatment_ultrafiltration_outlet_flow_data(ref_uf_vol = 77.5, measured_uf_vol = 22.6, rot_speed = 54.0, mot_speed = 66.2, mc_speed = 33.3, mc_current = 21.2, pwm = 322.2) verify_log(msg_id = MsgIds.MSG_ID_DIALYSATE_OUT_FLOW_DATA.value, msg = "OutletFlow",param = [77.5,22.6,54.0,66.2,33.3,21.2,322.2]) #0x1A00 hd_simulator.cmd_set_treatment_parameter_ranges(min_treatment_duration = 300, max_treatment_duration = 500, min_uf_volume = 22.6, max_uf_volume = 34.2, min_dialysate_flow_rate = 3, max_dialysate_flow_rate = 5) verify_log(msg_id = str(MsgIds.MSG_ID_TREATMENT_PARAM_CHANGE_RANGES.value), msg = "TreatmentRanges", param = [300,500,22.6,34.2,3,5]) #0x2F00 hd_simulator.cmd_set_treatment_saline_bolus_data(target = 2, cumulative = 90.0, delivered = 67.2) verify_log(msg_id = MsgIds.MSG_ID_SALINE_BOLUS_DATA.value, msg = "Saline", param = [2,90.0,67.2]) #0x4D00 hd_simulator.cmd_set_treatment_heparin_data(cumulative = 4) verify_log(msg_id = MsgIds.MSG_ID_HD_HEPARIN_DATA_BROADCAST.value, msg = "Heparin", param = [4]) #0x3300 hd_simulator.cmd_send_accelerometer_hd_data(x = 12.3, y = 22.2, z = 4.0, x_max = 14.0, y_max = 30.2, z_max = 10.5, x_tilt = 11.0, y_tilt = 22.1, z_tilt = 5.5) verify_log(msg_id = MsgIds.MSG_ID_HD_ACCELEROMETER_DATA.value, msg = "Accel", param = [12.3,22.2,4.0,14.0,30.2,10.5,11.0,22.1,5.5]) #0x3A00 #TODO: Payload values need to been changed after discussion payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(MsgIds.MSG_ID_HD_VALVES_DATA.value) payload += short_to_bytearray(3) payload += short_to_bytearray(4) payload += float_to_bytearray(3) payload += short_to_bytearray(7) payload += short_to_bytearray(5) payload += short_to_bytearray(4) payload += unsigned_integer_to_bytearray(3) payload += unsigned_integer_to_bytearray(5) hd_simulator.cmd_send_hd_general_response(message_id=58, accepted=1, reason=1, is_pure_data=False, has_parameters=False, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_VALVES_DATA.value, msg="~HD_Valves_Data") #0x3E00 hd_simulator.cmd_send_hd_general_response(message_id = 62, accepted = 1, reason = 1) hd_simulator.cmd_send_hd_air_trap_data(lower_level = 1, upper_level = 10) verify_log(msg_id = MsgIds.MSG_ID_HD_AIR_TRAP_DATA.value, msg = "AirTrap", param = [1,10]) #0x6900 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(0) payload += float_to_bytearray(5.5) payload += float_to_bytearray(1.5) payload += integer_to_bytearray(1) payload += float_to_bytearray(7.5) payload += float_to_bytearray(2.5) payload += float_to_bytearray(1.5) payload += float_to_bytearray(1.2) payload += float_to_bytearray(2) payload += unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=105, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_SYRINGE_PUMP_DATA.value, msg="Syringe") #0x6A00 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=106, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id = MsgIds.MSG_ID_HD_FLUID_LEAK_STATE.value, msg = "~HD_Fluid_Leak_Data") #0x6C00 hd_simulator.cmd_send_hd_blood_leak_data(blood_leak_status = 0, blood_leak_state = 1, blood_leak_zero_status_counter = 2, blood_leak_counter = 3, blood_leak_zeroed_status = 2, blood_leak_detect_set_point = 1, blood_leak_detect_level = 1, blood_leak_st_count = 1, blood_leak_led_intensity = 2, blood_leak_register_counter = 3) verify_log(msg_id = MsgIds.MSG_ID_HD_BLOOD_LEAK_DATA.value, msg = "BloodLeak", param = [0,1,2,3,2,1,1,1,2,3]) #0x9300 hd_simulator.cmd_send_hd_air_bubble_data(venous_air_bubble_status = 2, venous_air_bubble_state = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_BUBBLES_DATA.value, msg = "AirBubble", param = [2,0]) #0x7B00 payload = float_to_bytearray(1.1) payload += float_to_bytearray(2.1) payload += float_to_bytearray(4) payload += float_to_bytearray(3) payload += float_to_bytearray(7) payload += float_to_bytearray(6) payload += float_to_bytearray(1) payload += float_to_bytearray(2) payload += float_to_bytearray(3) payload += float_to_bytearray(4) payload += float_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=123, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_VOLTAGES_DATA.value, msg="~HD_Voltages_Data") #0x7D00 payload = unsigned_integer_to_bytearray(10) payload += float_to_bytearray(3) payload += float_to_bytearray(2) payload += float_to_bytearray(0.5) payload += unsigned_integer_to_bytearray(2) hd_simulator.cmd_send_hd_general_response(message_id=125, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_ALARM_INFORMATION.value, msg="~HD_Alarm_Information") #0xA200 payload = unsigned_integer_to_bytearray(20) payload += unsigned_integer_to_bytearray(30) hd_simulator.cmd_send_hd_general_response(message_id=162, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_SWITCHES_DATA.value, msg="~HD_Switches_Data") #0x9D00 payload = float_to_bytearray(1) payload += float_to_bytearray(1) payload += float_to_bytearray(3) payload += float_to_bytearray(2) payload += float_to_bytearray(5) payload += float_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=157, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_TEMPERATURES_DATA.value, msg="~HD_Temperature_Data") #0xA300 payload = float_to_bytearray(3) payload += float_to_bytearray(4) payload += float_to_bytearray(10) payload += unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=163, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_FANS_DATA.value, msg="~HD_Fans_Data") #0xA800 payload = unsigned_integer_to_bytearray(1) payload += float_to_bytearray(4) payload += float_to_bytearray(10) payload += float_to_bytearray(1) payload += float_to_bytearray(2) payload += unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(133) payload += float_to_bytearray(13) hd_simulator.cmd_send_hd_general_response(message_id=168, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_RESERVOIRS_DATA.value, msg="~HD_Reservoirs_Data") #HD Operation Mode #0x2500 for mode in range(NUMBER_OF_OPMODE): hd_simulator.cmd_send_hd_operation_mode(op_mode = mode, sub_mode = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_OP_MODE.value, msg = "OpMode", param = [mode,0]) #0x5C00 for s_mode in range(NUMBER_OF_OPMODE): hd_simulator.cmd_send_pre_treatment_state_data(sub_mode = s_mode, water_sample_state = 0, consumables_self_test_state = 0, no_cartridge_self_test_state = 0, installation_state = 0, dry_self_test_state = 0, prime_state = 0, recirculate_state = 0, patient_connection_state = 0) verify_log(msg_id = MsgIds.MSG_ID_PRE_TREATMENT_STATE.value, msg = "PreTreatmentStates",param = [s_mode,0,0,0,0,0,0,0,0]) #0x0F00 for s_mode in range(NUMBER_OF_TREATMENTMODES): hd_simulator.cmd_set_treatment_states_data(sub_mode = s_mode, uf_state = 0, saline_state = 0, heparin_state = 0, rinseback_state = 0, recirculate_state = 0, blood_prime_state = 0, treatment_end_state = 0, treatment_stop_state = 0, dialysis_state = 0) verify_log(msg_id = MsgIds.MSG_ID_TREATMENT_STATE.value, msg = "TreatmentStates", param = [s_mode,0,0,0,0,0,0,0,0,0]) #0x7700 # for s_mode in range(3): payload = integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=119, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_POST_TREATMENT_STATE.value, msg="PostTreatmentStates") #0x7E00 for s_mode in range(NUMBER_OF_TREATMENTMODES): hd_simulator.cmd_send_hd_disinfection_state(sub_mode = s_mode, flush_mode = 0, heat_mode = 0, chemical_mode = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_DISINFECT_STANDBY_DATA.value, msg = "DisinfectStates", param = [s_mode,0,0,0]) #0x9A00 UI-HD #0x9B00 # hd_simulator.cmd_send_hd_disinfect_response(accepted = True, reason =1) payload = integer_to_bytearray(1) payload += integer_to_bytearray(2) hd_simulator.cmd_send_hd_general_response(message_id=155, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_SET_STANDBY_DISINFECT_SUB_MODE_RESPONSE.value, msg="~HD_Set_Standby_Disinfect_State_Response") #RINSEBACK #0x5200 UI-HD #0x5300 hd_simulator.cmd_send_treatment_adjust_rinseback_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_RINSEBACK_CMD_RESPONSE.value, msg = "AdjustRinseback", param = [1,0]) #0x5400 #0x5500 hd_simulator.cmd_send_treatment_adjust_recirculate_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_RECIRC_CMD_RESPONSE.value, msg = "AdjustRecirculate", param = [1,0]) #0x5600 hd_simulator.cmd_send_treatment_rinseback_data(target_vol = 2.4, current_vol = 1.9, flow_rate = 1, timeout = 4, timeout_countdown = 8, is_completed = False) verify_log(msg_id = MsgIds.MSG_ID_HD_RINSEBACK_PROGRESS.value, msg = "Rinseback", param = [2.4,1.9,1,4,8,False]) #0x5A00 hd_simulator.cmd_send_treatment_recirculate_data(timeout_total = 200, timeout_count_down = 100) verify_log(msg_id = MsgIds.MSG_ID_HD_RECIRC_PROGRESS.value, msg = "Recirculate", param = [200,100]) #Treatment End(sub-mode) #0x5800 hd_simulator.cmd_send_treatment_adjust_end_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_TX_END_CMD_RESPONSE.value, msg = "AdjustTxEnd", param = [1,0]) #Treatment Blood Prime(sub-mode) #0x5900 #there is an additional parameter in the log hd_simulator.cmd_send_treatment_blood_prime_data(target = 22.2, current = 33.3) verify_log(msg_id = MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS.value, msg = "BloodPrime", param = [22.2,33.3, 0.0]) #Treatment Stop(sub-mode) #0x4900 payload = unsigned_integer_to_bytearray(150) payload += unsigned_integer_to_bytearray(300) hd_simulator.cmd_send_hd_general_response(message_id=73, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_TREATMENT_STOP_TIMER_DATA.value, msg="Stop") #RTC #0x0A00 payload = unsigned_integer_to_bytearray(20) hd_simulator.cmd_send_hd_general_response(message_id=10, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id = MsgIds.MSG_ID_RTC_EPOCH.value, msg = "~HD_RTC_Epoch_Data") #0x6E00 hd_simulator.cmd_send_set_rtc_response(response = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_UI_SET_RTC_RESPONSE.value, msg = "AdjustHDDateTime", param = [1,0]) #0x7000 dg_simulator.cmd_send_set_rtc_response(response = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_DG_UI_SET_RTC_RESPONSE.value, msg = "AdjustDGDateTime", param = [1,0]) #Power #0x0100 hd_simulator.cmd_send_poweroff_button_pressed() verify_log(msg_id = MsgIds.MSG_ID_OFF_BUTTON_PRESS.value, msg = "PowerOff") #0x0E00 hd_simulator.cmd_send_broadcast_poweroff_imminent() verify_log(msg_id = MsgIds.MSG_ID_POWER_OFF_WARNING.value, msg = "ShuttingDown") #Events #0xA400 payload = unsigned_integer_to_bytearray(MsgIds.MSG_ID_HD_EVENT.value) payload += unsigned_integer_to_bytearray(1) payload += integer_to_bytearray(0) payload += unsigned_integer_to_bytearray(1) payload += integer_to_bytearray(0) hd_simulator.cmd_send_hd_general_response(message_id=164, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_EVENT.value, msg="General") #0xA500 payload = unsigned_integer_to_bytearray(MsgIds.MSG_ID_DG_EVENT.value) payload += unsigned_integer_to_bytearray(4) payload += integer_to_bytearray(0) payload += unsigned_integer_to_bytearray(4) payload += integer_to_bytearray(0) dg_simulator.cmd_send_dg_general_response(message_id=165, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id = MsgIds.MSG_ID_DG_EVENT.value) #Power-On Self-Test [POST] #0x8E00 hd_simulator.cmd_send_hd_post(item = 1, passed = True, done = False) verify_log(msg_id = MsgIds.MSG_ID_HD_POST_SINGLE_TEST_RESULT.value, msg = "POSTItem", param = [1,1]) #0x8F00 hd_simulator.cmd_send_hd_post(item = 1, passed = False, done = True) verify_log(msg_id = MsgIds.MSG_ID_HD_POST_FINAL_TEST_RESULT.value, msg = "POSTDone", param = [0]) #0x9000 dg_simulator.cmd_send_dg_post(item = 1, passed = True, done = False) verify_log(msg_id = MsgIds.MSG_ID_DG_POST_SINGLE_TEST_RESULT.value, msg = "POSTItem", param = [1,1]) #0x9100 dg_simulator.cmd_send_dg_post(item = 1, passed = False, done = True) verify_log(msg_id = MsgIds.MSG_ID_DG_POST_FINAL_TEST_RESULT.value, msg = "POSTDone", param = [0]) #0x9C00 #TODO: Payload values need to been changed after discussion hd_simulator.cmd_send_hd_general_response(message_id=156, accepted=1, reason=1, is_pure_data=False, has_parameters=False, parameters_payload=None) verify_log(msg_id=MsgIds.MSG_ID_HD_DG_POST_RESULT_REQUEST.value) #Versions #0x1D00 hd_simulator.cmd_send_version_hd_data(major=1, minor=1, micro=0, build=4, fpga_id=5, fpga_major=1, fpga_minor=2, fpga_lab=3, compatibility_rev=6) verify_log(msg_id = MsgIds.MSG_ID_HD_VERSION.value, msg = "VersionRsp", param = [1,1,0,4,5,1,2,3,6]) #0x1E00 dg_simulator.cmd_send_version_dg_data(major=1, minor=1, micro=0, build=4, fpga_id=5, fpga_major=1, fpga_minor=2, fpga_lab=3, compatibility_rev=6) verify_log(msg_id = MsgIds.MSG_ID_DG_VERSION.value, msg = "Version", param = [1,1,0,4,5,1,2,3,6]) #0x9E00 hd_simulator.cmd_send_hd_request_ui_version() verify_log(msg_id = MsgIds.MSG_ID_HD_UI_VERSION_INFO_RESPONSE.value, msg = "VersionReq") #0x2000 dg_simulator.cmd_set_dg_pressures_data(ro_inlet_pressure = 0.0, ro_outlet_pressure = 1.0, drain_inlet_pressure = 2.0, drain_outlet_pressure = 3.0) verify_log(msg_id = MsgIds.MSG_ID_DG_PRESSURES_DATA.value, msg = "Pressures", param = [0.0, 1.0, 2.0, 3.0]) #0x2800 dg_simulator.cmd_set_dg_reservoir_data(active_reservoir = 0, fill_to_vol_ml = 1, drain_to_vol_ml = 2) verify_log(msg_id = MsgIds.MSG_ID_DG_RESERVOIRS_DATA.value, msg = "Reservoir", param = [0, 1, 2]) #0x2A00 #there is a parameter mismatch here as the log contains a series of boolean values instead of one integer dg_simulator.cmd_set_dg_valves_states(valves_states = 3) verify_log(msg_id = MsgIds.MSG_ID_DG_VALVES_STATES.value, msg = "ValvesStates") #0x2C00 #there is a parameter mismatch here as the log contains a 3 float values [0.0,0.0,0.0] instead of 3 given integers dg_simulator.cmd_set_dg_heaters_data(main_primary_dc = 1, small_primary_dc = 2, trimmer_dc = 3) verify_log(msg_id = MsgIds.MSG_ID_DG_HEATERS_DATA.value, msg = "Heaters", param = [0.0, 0.0, 0.0]) #0x0C00 dg_simulator.cmd_set_dg_load_cell_readings_data(reservoir1_primary = 1.0, reservoir1_backup = 2.0,reservoir2_primary = 3.0, reservoir2_backup = 4.0) verify_log(msg_id = MsgIds.MSG_ID_LOAD_CELL_READINGS.value, msg = "LoadCell", param = [1.0,2.0,3.0,4.0]) #0x2D00 dg_simulator.cmd_set_dg_temperatures_data(inlet_primary_heater = 1.0, outlet_primary_heater = 2.0, conductivity_sensor1 = 3.0, conductivity_sensor2 = 4.0, outlet_redundancy = 5.0, inlet_dialysate = 6.0, primary_heater_thermocouple = 7.0, trimmer_heater_thermocouple = 8.0, primary_heater_cold_junction = 9.0, trimmer_heater_cold_junction = 10.0, primary_heater_internal_temp = 11.0, trimmer_heater_internal_temp = 12.0) verify_log(msg_id = MsgIds.MSG_ID_DG_TEMPERATURE_DATA.value, msg = "Temperatures") #0x3100 dg_simulator.cmd_send_dg_conductivity_data(ro_rejection_ratio = 1.0, cpi_conductivity = 2.0, cpo_conductivity = 3.0, cd1_conductivity = 4.0, cd2_conductivity = 5.0) verify_log(msg_id = MsgIds.MSG_ID_DG_CONDUCTIVITY_DATA.value, msg = "Conductivity", param = [1.0, 2.0, 3.0, 4.0,5.0]) #0x3700 payload = integer_to_bytearray(1) payload += integer_to_bytearray(20) payload += integer_to_bytearray(15) payload += integer_to_bytearray(30) payload += integer_to_bytearray(25) payload += float_to_bytearray(2.0) payload += float_to_bytearray(1.0) payload += integer_to_bytearray(40) dg_simulator.cmd_send_dg_general_response(message_id=55, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_HEAT_DISINFECT_DATA.value, msg = "~DG_Heat_Disinfect_Data") #0x4200 payload = float_to_bytearray(2.22) payload += float_to_bytearray(1.45) payload += float_to_bytearray(4.67) payload += float_to_bytearray(5.93) dg_simulator.cmd_send_dg_general_response(message_id=66, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_CONCENTRATE_PUMP_DATA.value, msg="~DG_Concentrate_Pump_Data") #0x4400 payload = integer_to_bytearray(10) payload += integer_to_bytearray(15) payload += integer_to_bytearray(30) payload += integer_to_bytearray(20) dg_simulator.cmd_send_dg_general_response(message_id=68, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_UV_REACTORS_DATA.value, msg="~DG_UV_Reactors_Data") #0x4500 payload = float_to_bytearray(1.25) payload += float_to_bytearray(4.17) payload += float_to_bytearray(5.53) dg_simulator.cmd_send_dg_general_response(message_id=69, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_THERMISTORS_DATA.value, msg="~DG_Thermistors_Data") #0x4800 payload = float_to_bytearray(1.9) payload += float_to_bytearray(4.7) payload += float_to_bytearray(9.5) payload += float_to_bytearray(9.3) payload += float_to_bytearray(8.8) payload += float_to_bytearray(5.3) payload += float_to_bytearray(8.1) payload += float_to_bytearray(6.7) dg_simulator.cmd_send_dg_general_response(message_id=72, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_FANS_DATA.value, msg="~DG_Fans_Data") #0x3400 dg_simulator.cmd_send_accelerometer_dg_data(x=1.0, y=2.0, z=3.0, x_max=2.0, y_max=2.0, z_max=3.0, x_tilt=2.0, y_tilt=3.0, z_tilt=4.0) verify_log(msg_id = MsgIds.MSG_ID_DG_ACCELEROMETER_DATA.value, msg = "Accel", param = [1.0, 2.0, 3.0, 2.0, 2.0, 3.0, 2.0, 3.0, 4.0]) #0x6B00 payload = integer_to_bytearray(0) dg_simulator.cmd_send_dg_general_response(message_id=107, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_FLUID_LEAK_STATE.value, msg="~DG_Fluid_Leak_Data") #0x7A00 payload = integer_to_bytearray(5) payload += integer_to_bytearray(60) payload += integer_to_bytearray(30) dg_simulator.cmd_send_dg_general_response(message_id=122, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_FLUSH_DATA.value, msg="~DG_Flush_Data") #0x8600 payload = float_to_bytearray(1.0) payload += float_to_bytearray(1.2) payload += float_to_bytearray(1.8) payload += float_to_bytearray(1.8) payload += float_to_bytearray(3.0) payload += float_to_bytearray(3.0) payload += float_to_bytearray(3.0) payload += float_to_bytearray(3.3) payload += float_to_bytearray(3.3) payload += float_to_bytearray(5.0) payload += float_to_bytearray(5.0) payload += float_to_bytearray(5.0) payload += float_to_bytearray(24.0) payload += float_to_bytearray(24.0) payload += float_to_bytearray(24.0) dg_simulator.cmd_send_dg_general_response(message_id=134, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_VOLTAGES_DATA.value, msg="~DG_Voltages_Data") #0x8700 payload = integer_to_bytearray(1) payload += integer_to_bytearray(60) payload += integer_to_bytearray(30) payload += integer_to_bytearray(0) payload += float_to_bytearray(2.0) payload += float_to_bytearray(4.0) payload += integer_to_bytearray(24) payload += integer_to_bytearray(30) payload += integer_to_bytearray(1) dg_simulator.cmd_send_dg_general_response(message_id=135, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_CHEM_DISINFECT_DATA.value, msg="~DG_Chemical_Disinfect_Data") #0xA100 payload = integer_to_bytearray(1) payload += integer_to_bytearray(0) payload += integer_to_bytearray(1) dg_simulator.cmd_send_dg_general_response(message_id=161, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_SWITCHES_DATA.value, msg="~DG_Switches_Data") #0xA700 #TODO: Payload values need to been changed after discussion payload = integer_to_bytearray(1) dg_simulator.cmd_send_dg_general_response(message_id=167, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_ALARM_INFO.value, msg=None) #0xAA00 #TODO: Payload values need to been changed after discussion payload = float_to_bytearray(88.6) payload += float_to_bytearray(256.8) payload += integer_to_bytearray(156) dg_simulator.cmd_send_dg_general_response(message_id=170, accepted=1, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_CONCENTRATE_MIXING_RATIOS_DATA.value, msg = None) #0xA600 payload = float_to_bytearray(22.2) dg_simulator.cmd_send_dg_general_response(message_id=166, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_DIALYSATE_FLOW_METER_DATA.value, msg="~DG_Dialysate_Flow_Data") #0xAB00 #TODO: Payload values need to been changed after discussion dg_simulator.cmd_send_dg_general_response(message_id=171, accepted=0, reason=1) verify_log(msg_id=MsgIds.MSG_ID_DG_SCHEDULED_RUNS_DATA.value, msg="DG scheduled runs data") #0xAC00 #TODO: Payload values need to been changed after discussion dg_simulator.cmd_send_dg_general_response(message_id=172, accepted=0, reason=1) verify_log(msg_id = MsgIds.MSG_ID_DG_SCHEDULED_RUNS_INFO.value, msg = "DG scheduled runs info") #TODO: Msg_Ids need to be update as per patch file. line number 446 should be uncomment after the fix #Fix id : ID not logged for the ones in ACK_NOT_REQUIRED list #46 #0xAE00 #TODO: Payload values need to been changed after discussion payload = float_to_bytearray(22.2) payload += float_to_bytearray(22.2) payload += integer_to_bytearray(1) payload += float_to_bytearray(22.2) payload += float_to_bytearray(22.2) payload += float_to_bytearray(22.2) dg_simulator.cmd_send_dg_general_response(message_id=174, accepted=0, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) #verify_log(msg_id = MsgIds.MSG_ID_DG_FILL_MODE_DATA.value, msg = None) #TODO: Msg_Ids need to be update as per patch file. line number 453 should be uncomment after the fix #Fix id : ID not logged for the ones in ACK_NOT_REQUIRED list #46 #0xAF00 #TODO: Payload values need to been changed after discussion payload = unsigned_integer_to_bytearray(456) dg_simulator.cmd_send_dg_general_response(message_id=175, accepted=0, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) #verify_log(msg_id = MsgIds.MSG_ID_DG_IDLE_MODE_BAD_FILL_SUB_STATES.value, msg = None) #0x0200 hd_alarm.cmd_send_clear_alarms() verify_log(msg_id = MsgIds.MSG_ID_ALARM_STATUS.value, msg = "AlarmStatus") #0x0300 #parameter data type mismatch hd_alarm.cmd_set_alarm_triggered(alarm_id = 1, field_descriptor_1 = 1, data_field_1 = '2', field_descriptor_2 = 3, data_field_2 = '4', priority = 5, rank = 6, clear_top = 7) verify_log(msg_id = MsgIds.MSG_ID_ALARM_TRIGGERED.value, msg = "AlarmTriggered") #0x0400 hd_alarm.cmd_set_alarm_cleared(alarm_id = 4) verify_log(msg_id = MsgIds.MSG_ID_ALARM_CLEARED.value, msg = "AlarmCleared", param = [4]) #0x7C00 hd_simulator.cmd_send_hd_general_response(message_id=124, accepted=1, reason=1) verify_log(msg_id = MsgIds.MSG_ID_HD_ALARM_AUDIO_VOLUME_SET_RESPONSE.value, msg = "AdjustHDAlarmVolume") #0x3F00 #TODO: Payload values need to been changed after discussion hd_simulator.cmd_send_hd_general_response(message_id=63, accepted=1, reason=1) verify_log(msg_id = MsgIds.MSG_ID_ALARM_CONDITION_CLEARED.value, msg = "AlarmCondition") #0x3200 #TODO: Payload values need to been changed after discussion payload = unsigned_integer_to_bytearray(6) dg_simulator.cmd_send_dg_general_response(message_id=50, accepted=0, reason=1, is_pure_data= False, has_parameters = True, parameters_payload = payload) verify_log(msg_id = MsgIds.MSG_ID_USER_REQUEST_ALARM_SILENCE.value, msg = "AlarmSilence") #0x9800 hd_alarm.cmd_send_active_list_response(accept = True, reason = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE.value, msg = "AlarmActiveList", param = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) #UF Vol. #0x4100 #parameter mismatch : expected 1 int but 3 integers are logged hd_simulator.cmd_set_treatment_adjust_ultrafiltration_accepted(state = 1) verify_log(msg_id = MsgIds.MSG_ID_USER_UF_PAUSE_RESUME_RESPONSE.value, msg = "AdjustUFState") #0x1300 #TODO: Payload values need to been changed after discussion payload = unsigned_integer_to_bytearray(4) payload += unsigned_integer_to_bytearray(6) payload += unsigned_integer_to_bytearray(12) payload += float_to_bytearray(8.4) payload += unsigned_integer_to_bytearray(14) payload += short_to_bytearray(6) payload += float_to_bytearray(5.2) payload += float_to_bytearray(5.8) payload += float_to_bytearray(2.3) hd_simulator.cmd_send_hd_general_response(message_id=19, accepted=1, reason=1, is_pure_data= False, has_parameters = True,parameters_payload = payload) verify_log(msg_id=MsgIds.MSG_ID_USER_UF_SETTINGS_CHANGE_RESPONSE.value, msg="AdjustUFEdit") #0x2E00 #parameter mismatch : expected 1 int but 3 integers are logged hd_simulator.cmd_set_treatment_adjust_ultrafiltration_confirm_rejected(reason = 1) verify_log(msg_id = MsgIds.MSG_ID_USER_UF_SETTINGS_CHANGE_CONFIRMATION_RESPONSE.value, msg = "AdjustUFConfirm") #Saline #0x1400 hd_simulator.cmd_set_saline_bolus_response(accepted = 0, reason = 1, target = 2) verify_log(msg_id = MsgIds.MSG_ID_USER_SALINE_BOLUS_RESPONSE.value, msg = "AdjustSaline", param = [0,1,2]) #Heparin #0x4C00 hd_simulator.cmd_set_heparin_pause_resume_response(accepted = 0, reason = 1) verify_log(msg_id = MsgIds.MSG_ID_HD_HEPARIN_PAUSE_RESUME_RESPONSE.value, msg = "AdjustHeparin", param = [0,1]) #Duration #0x1B00 hd_simulator.cmd_send_treatment_adjust_duration_response(accepted = 0, reason = 1, duration = 2, ultrafiltration = 3.0) verify_log(msg_id = MsgIds.MSG_ID_USER_TREATMENT_TIME_CHANGE_RESPONSE.value, msg = "AdjustDuration", param = [0, 1, 2, 3.0]) #Blood / Dialysate #0x1800 hd_simulator.cmd_send_treatment_adjust_blood_dialysate_response(accepted = 0, reason = 1, blood_rate = 2, dialysate_flow_rate = 3) verify_log(msg_id = MsgIds.MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_RESPONSE.value, msg = "AdjustBloodDialysate", param = [0, 1, 2, 3]) #PRS-58: In-Line Blood Pressure Limits #0x4700 hd_simulator.cmd_send_treatment_adjust_pressures_limit_response(accepted = 0, reason = 1, arterial_low = 2, arterial_high = 3, venous_low = 4, venous_high = 5) verify_log(msg_id = MsgIds.MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE.value, msg = "AdjustPressuresLimits", param = [0, 1, 2, 3, 4, 5]) #Service Information #0x8A00 # hd_simulator._handler_system_usage_response() hd_simulator.cmd_send_hd_general_response(message_id=138, accepted=0, reason=1) verify_log(msg_id=MsgIds.MSG_ID_HD_SERVICE_SCHEDULE_DATA.value, msg="ServiceDate") #0x8C00 # dg_simulator._handler_system_usage_response() dg_simulator.cmd_send_dg_general_response(message_id=140, accepted=0, reason=1) verify_log(msg_id=MsgIds.MSG_ID_DG_SERVICE_SCHEDULE_DATA.value, msg="ServiceDate") #System Usage Information #0x8B00 payload = unsigned_integer_to_bytearray(6) hd_simulator.cmd_send_hd_general_response(message_id=139, accepted=0, reason=1, is_pure_data= False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_USAGE_DATA.value, msg="~HD_Usage_Data") #0x8D00 payload = float_to_bytearray(3.5) dg_simulator.cmd_send_dg_general_response(message_id=141, accepted=0, reason=1, is_pure_data= False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_USAGE_DATA.value, msg="~DG_Usage_Data") #DG Command #0x2100 payload = unsigned_integer_to_bytearray(6) hd_simulator.cmd_send_hd_general_response(message_id=33, accepted=0, reason=1, is_pure_data= False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds. MSG_ID_DG_SWITCH_RESERVOIR_CMD.value, msg="~DG_Switch_Res_Cmd") #0x2200 payload = unsigned_integer_to_bytearray(6) payload += unsigned_integer_to_bytearray(8) hd_simulator.cmd_send_hd_general_response(message_id=34, accepted=0, reason=1, is_pure_data= False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds. MSG_ID_DG_FILL_CMD.value, msg="~DG_Fill_Cmd") #0x2300 payload = unsigned_integer_to_bytearray(6) payload += unsigned_integer_to_bytearray(8) payload += unsigned_integer_to_bytearray(6) payload += unsigned_integer_to_bytearray(8) hd_simulator.cmd_send_hd_general_response(message_id=35, accepted=0, reason=1, is_pure_data= False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_DRAIN_CMD.value, msg="~DG_Drain_Cmd") #0x1900 payload = float_to_bytearray(10.5) payload += unsigned_integer_to_bytearray(2) payload += float_to_bytearray(1.5) payload += unsigned_integer_to_bytearray(6) payload += float_to_bytearray(20.5) hd_simulator.cmd_send_hd_general_response(message_id=25, accepted=0, reason=1) verify_log(msg_id=MsgIds.MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS.value, msg="~DG_Dialysate_Tgt_Temps") #0x2600 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=38, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_STARTING_STOPPING_TREATMENT_CMD.value, msg="~DG_Cmd") #0x2900 payload = unsigned_integer_to_bytearray(2) hd_simulator.cmd_send_hd_general_response(message_id=41, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_SAMPLE_WATER_CMD.value, msg="~DG_Sample_Water_Cmd") #0x2B00 payload = unsigned_integer_to_bytearray(1) payload += float_to_bytearray(20.5) hd_simulator.cmd_send_hd_general_response(message_id=43, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds. MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD.value, msg="~DG_Trimmer_Htr_Cmd") #0x3000 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=48, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_START_STOP_HEAT_DISINFECT.value, msg="~DG_Heat_Disinfect_Cmd") #0x5B00 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=91, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_CHANGE_VALVE_SETTING_CMD.value, msg="~DG_Chg_Valves_Cmd") #0x5100 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(0) payload += unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=81, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id = MsgIds.MSG_ID_DG_COMMAND_RESPONSE.value, msg="~DG_Cmd_Rsp") #0x7800 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=120, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_START_STOP_CHEM_DISINFECT.value, msg="~DG_Chem_Disinfect_Cmd") #0x7900 payload = unsigned_integer_to_bytearray(1) hd_simulator.cmd_send_hd_general_response(message_id=121, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id = MsgIds.MSG_ID_DG_START_STOP_FLUSH.value, msg = "~DG_Flush_Cmd") #0xA900 hd_simulator.cmd_send_hd_general_response(message_id=169, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=None) verify_log(msg_id=MsgIds.MSG_ID_HD_REQUEST_DG_CONCENTRATE_MIXING_RATIOS.value, msg="~DG_Mixing_Ratio_Fill_Prep_Request") #FW Debug #0xF1FF payload = integer_to_bit_array(val = 65, num_bits = 42) hd_simulator.cmd_send_hd_general_response(message_id=65521, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_DEBUG_EVENT.value, msg="Debug") #0xF2FF payload = integer_to_bit_array(val = 65, num_bits = 42) dg_simulator.cmd_send_dg_general_response(message_id=65522, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_DG_DEBUG_EVENT.value, msg="Debug") #Initiate (Create/Select) a Treatment #ID:0x3900 hd_simulator.cmd_initiate_treatment_response(response = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_INITIATE_TREATMENT_RESPONSE.value, msg= "InitTreatment", param = [1,0]) #Treatment Parameters Validation #ID:0x3600 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(2) payload += unsigned_integer_to_bytearray(3) payload += unsigned_integer_to_bytearray(4) payload += unsigned_integer_to_bytearray(5) payload += unsigned_integer_to_bytearray(6) payload += unsigned_integer_to_bytearray(7) payload += unsigned_integer_to_bytearray(8) payload += unsigned_integer_to_bytearray(9) payload += unsigned_integer_to_bytearray(10) payload += unsigned_integer_to_bytearray(11) payload += unsigned_integer_to_bytearray(12) payload += unsigned_integer_to_bytearray(13) payload += unsigned_integer_to_bytearray(14) payload += unsigned_integer_to_bytearray(15) payload += unsigned_integer_to_bytearray(16) payload += unsigned_integer_to_bytearray(17) payload += unsigned_integer_to_bytearray(18) payload += unsigned_integer_to_bytearray(19) hd_simulator.cmd_send_hd_general_response(message_id=54, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_NEW_TREATMENT_PARAMS_RESPONSE.value, msg="Validate New Create Treatment Response") #Pre-Treatment Water Sample (sub-mode) #ID:0x5E00 hd_simulator.cmd_send_pre_treatment_water_sample_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_SAMPLE_WATER_CMD_RESPONSE.value, msg = "AdjustWaterSample", param = [1,0]) #ID:0x6000 dg_simulator.cmd_send_dg_pre_treatment_filter_flush_progress_data(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_DG_FILTER_FLUSH_PROGRESS.value, msg = "FilterFlush", param = [120,60]) #Pre-Treatment No Cartridge Self-Test (sub-mode) #ID:0x6100 hd_simulator.cmd_send_pre_treatment_self_test_no_cartridge_progress_data(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_HD_NO_CART_SELF_TEST_PROGRESS.value, msg = "SelfTestNoCartridge", param = [120,60]) #Pre-Treatment Disposable Installation (sub-mode) #TODO: Msg_Ids need to be update as per patch file #ID:0xAD00(API is missing, also message id is not present in msgs.py file payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(0) hd_simulator.cmd_send_hd_general_response(message_id=173, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) #verify_log(msg_id = MsgIds.MSG_ID_HD_UI_DISPOSABLE_INSTALLATION_RESPONSE.value, msg = "AdjustDisposablesConfirm", param = [0,1]) #Pre-Treatment Dry Self-Test (sub-mode) #ID:0x6300 hd_simulator.cmd_send_pre_treatment_self_test_dry_progress_data(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_HD_DRY_SELF_TEST_PROGRESS.value, msg = "SelfTestDry", param = [120,60]) #Pre-Treatment Prime (sub-mode) #ID:0x3D00 hd_simulator.cmd_send_pre_treatment_prime_start_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_START_PRIME_RESPONSE.value, msg = "AdjustDisposablesPrime", param = [1,0]) #ID:0x4300 hd_simulator.cmd_send_pre_treatment_disposables_prime_progress_data(timeout = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_HD_PRIMING_STATUS_DATA.value, msg = "DisposablesPrime", param = [120,60]) #Pre-Treatment Patient Connection Begin #ID:0x6500 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(0) hd_simulator.cmd_send_hd_general_response(message_id=101, accepted=1, reason=0, is_pure_data=False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_PATIENT_CONNECTION_BEGIN_RESPONSE.value, msg="Patient Connection Begin Response") #Pre-Treatment Ultrafiltration (Init) Volume Adjustment #ID:0x5000 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(0) payload += float_to_bytearray(11.500) hd_simulator.cmd_send_hd_general_response(message_id=80, accepted=1, reason=0, is_pure_data = False, has_parameters=True, parameters_payload=payload) verify_log(msg_id=MsgIds.MSG_ID_HD_SET_UF_VOLUME_PARAMETER_RESPONSE.value, msg="Pre UF Volume Adjustment Response") #Pre-Treatment Patient Connection Confirm #ID:0x6700 hd_simulator.cmd_send_pre_treatment_patient_connection_confirm_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_PATIENT_CONNECTION_CONFIRM_RESPONSE.value, msg = "AdjustPatientConnectionBegin", param = [1,0]) #Start Treatment #ID:0x7200 hd_simulator.cmd_send_pre_treatment_continue_to_treament_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_START_TREATMENT_RESPONSE.value, msg = "AdjustPatientConnectionConfirm", param = [1,0]) #Post-Treatment #ID:0x7400 hd_simulator.cmd_send_post_treatment_disposable_removal_confirm_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_DISPOSABLE_REMOVAL_CONFIRM_RESPONSE.value, msg = "AdjustDisposablesRemovalConfirm", param = [1,0]) #Treatment Log #ID:0x7600 #parameter mismatch: the last parameter (water_sample_test_result) value is always 1000 regardless of the argument passed hd_simulator.cmd_send_post_treatment_log_response(accepted = 1, reason = 1, bood_flow_rate = 1, dialysate_flow_rate = 1, treatment_duration = 1, actual_treatment_duration = 1, acid_concentrate_type = 1, bicarbonate_concentrate_type = 1, potassium_concentration = 1, calcium_concentration = 1, bicarbonate_concentration = 1, sodium_concentration = 1, dialysate_temperature = 1.0, dialyzer_type = 1, treatment_start_date_time = 1, treatment_end_date_time = 1, average_blood_flow = 1.0, average_dialysate_flow = 1.0, dialysate_volume_used = 1.0, average_dialysate_temp = 1.0, origin_uf_volume = 1.0, target_uf_volume = 1.0, actual_uf_volume = 1.0, origin_uf_rate = 1.0, target_uf_rate = 1.0, actual_uf_rate = 1.0, saline_bolus_volume = 1, heparin_bolus_volume = 1.0, heparin_dispense_rate = 1.0, heparin_pre_stop = 1, heparin_delivered_volume = 1.0, heparin_type = 1, average_arterial_pressure = 1.0, average_venous_pressure = 1.0, device_id = 1, water_sample_test_result = 10) verify_log(msg_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE.value, msg = "AdjustTreatmentLog") #ID:0x9400 hd_simulator.cmd_send_treatment_log_data(blood_flow_rate = 1, dialysate_flow_rate = 1, uf_rate = 1.0, arterial_pressure = 0.0, venous_pressure = 1.0) verify_log(msg_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_PERIODIC_DATA.value, msg = "TreatmentLogAvrge", param = [1,1,1.0,0.0,1.0]) #ID:0x9500 hd_simulator.cmd_send_treatment_log_alarm(alarm_id = 1, parameter1 = 0.0, parameter2 = 1.0) verify_log(msg_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_ALARM_EVENT.value, msg = "TreatmentLogAlarm", param = [1,0.0,1.0]) #ID:0x9600 hd_simulator.cmd_send_treatment_log_event(event_id = 1, old_value = 1.0, new_value = 0.0) verify_log(msg_id = MsgIds.MSG_ID_HD_TREATMENT_LOG_EVENT.value, msg = "TreatmentLogEvent", param = [1,1.0,0.0]) #Post-Treatment - Disinfect #ID:0x8000 hd_simulator.cmd_send_hd_disinfect_response(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_DISINFECT_RESPONSE.value, msg = "AdjustDisinfect", param =[1,0]) #ID:0x8200 hd_simulator.cmd_send_hd_disinfect_chemical_confirm(accepted = 1, reason = 0) verify_log(msg_id = MsgIds.MSG_ID_HD_CHEM_DISINFECT_CONFIRM_RESPONSE.value, msg = "AdjustDisinfectChemicalConfirm" ,param = [1,0]) #ID:0x8300 dg_simulator.cmd_send_dg_disinfect_progress_time_flush(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_DG_FLUSH_TIME_DATA.value, msg = "DisinfectDGFlushTime", param = [120,60]) #ID:0x8400 dg_simulator.cmd_send_dg_disinfect_progress_time_heat(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_DG_HEAT_DISINFECT_TIME_DATA.value, msg = "DisinfectDGHeatTime", param = [120,60]) #ID:0x8500 dg_simulator.cmd_send_dg_disinfect_progress_time_checmical(total = 120, countdown = 60) verify_log(msg_id = MsgIds.MSG_ID_DG_CHEM_DISINFECT_TIME_DATA.value, msg = "DisinfectDGChemicalTime", param = [120,60]) #0x9900 hd_simulator.cmd_send_serial_hd_data(serial = 'AGHHG1234GHJABC') verify_log(msg_id = MsgIds.MSG_ID_HD_SERIAL_NUMBER.value, msg = "Serial", param = ['AGHHG1234GHJABC']) #0x8800 dg_simulator.cmd_send_serial_dg_data(serial = 'AGHHG1234GHJABC') verify_log(msg_id = MsgIds.MSG_ID_DG_SERIAL_NUMBER.value, msg = "Serial", param = ['AGHHG1234GHJABC']) #0x1F00 payload = float_to_bytearray(1.2) payload += float_to_bytearray(1.2) payload += float_to_bytearray(1.2) payload += unsigned_integer_to_bytearray(2) dg_simulator.cmd_send_dg_general_response(message_id=31, accepted=1, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) verify_log(msg_id = MsgIds.MSG_ID_RO_PUMP_DATA.value) #0x2400 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(1) dg_simulator.cmd_send_dg_general_response(message_id=36, accepted=1, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) verify_log(msg_id = MsgIds.MSG_ID_DRAIN_PUMP_DATA.value, msg = "DrainPump") #0x2700 payload = unsigned_integer_to_bytearray(1) payload += unsigned_integer_to_bytearray(1) dg_simulator.cmd_send_dg_general_response(message_id=39, accepted=1, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) verify_log(msg_id = MsgIds.MSG_ID_DG_OP_MODE.value, msg = "OpMode") #0x2D00 payload = float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) payload += float_to_bytearray(11.500) dg_simulator.cmd_send_dg_general_response(message_id=45, accepted=1, reason=1, is_pure_data = False, has_parameters = True, parameters_payload = payload) verify_log(msg_id = MsgIds.MSG_ID_DG_TEMPERATURE_DATA.value, msg = "Temperatures") utils.tstDone()