Index: dialin/common/msg_ids.py =================================================================== diff -u -rdc07ecb63eed240b6d3b47dd96743f93014c564c -r77f779d869e95707cb42272511acc48c12430938 --- dialin/common/msg_ids.py (.../msg_ids.py) (revision dc07ecb63eed240b6d3b47dd96743f93014c564c) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -366,6 +366,9 @@ MSG_ID_HD_BATTERY_STATUS_OVERRIDE = 0x808C MSG_ID_HD_BATTERY_CHARGER_STATUS_OVERRIDE = 0x808D MSG_ID_HD_BATTERY_COMM_STATUS_OVERRIDE = 0x808E + MSG_ID_HD_DIAL_IN_PUMP_HARD_STOP = 0x808F + MSG_ID_HD_DIAL_OUT_PUMP_HARD_STOP = 0x8090 + MSG_ID_HD_BLOOD_PUMP_HARD_STOP = 0x8091 MSG_ID_DG_TESTER_LOGIN_REQUEST = 0xA000 MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001 Index: dialin/hd/blood_flow.py =================================================================== diff -u -rcf1dab9c15c4171412e6f532202b305475720f0c -r77f779d869e95707cb42272511acc48c12430938 --- dialin/hd/blood_flow.py (.../blood_flow.py) (revision cf1dab9c15c4171412e6f532202b305475720f0c) +++ dialin/hd/blood_flow.py (.../blood_flow.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -458,6 +458,31 @@ self.logger.debug("Timeout!!!!") return False + def cmd_stop_blood_pump(self) -> int: + """ + Constructs and sends a blood pump stop request message to the HD. + Constraints: + Must be logged into HD. + + @return: 1 if successful, zero otherwise + """ + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_BLOOD_PUMP_HARD_STOP.value) + + self.logger.debug("Stopping blood pump") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + self.logger.debug("Stopped blood pump") + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False + def cmd_home_blood_pump(self) -> int: """ Constructs and sends a blood pump home request message to the HD. Index: dialin/hd/dialysate_inlet_flow.py =================================================================== diff -u -rcf1dab9c15c4171412e6f532202b305475720f0c -r77f779d869e95707cb42272511acc48c12430938 --- dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision cf1dab9c15c4171412e6f532202b305475720f0c) +++ dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -469,6 +469,31 @@ self.logger.debug("Timeout!!!!") return False + def cmd_stop_dialysate_inlet_pump(self) -> int: + """ + Constructs and sends a dialysate inlet pump stop request message to the HD. + Constraints: + Must be logged into HD. + + @return: 1 if successful, zero otherwise + """ + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_DIAL_IN_PUMP_HARD_STOP.value) + + self.logger.debug("Stopping dialysate inlet pump") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + self.logger.debug("Stopped dialysate inlet pump") + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False + def cmd_home_dialysate_inlet_pump(self) -> int: """ Constructs and sends a dialysate inlet pump home request message to the HD. Index: dialin/hd/dialysate_outlet_flow.py =================================================================== diff -u -racd09d02879e8add4cf7f694f5db8e423a76c341 -r77f779d869e95707cb42272511acc48c12430938 --- dialin/hd/dialysate_outlet_flow.py (.../dialysate_outlet_flow.py) (revision acd09d02879e8add4cf7f694f5db8e423a76c341) +++ dialin/hd/dialysate_outlet_flow.py (.../dialysate_outlet_flow.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -560,6 +560,31 @@ return 0 + def cmd_stop_dialysate_outlet_pump(self) -> int: + """ + Constructs and sends a dialysate outlet pump stop request message to the HD. + Constraints: + Must be logged into HD. + + @return: 1 if successful, zero otherwise + """ + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_DIAL_OUT_PUMP_HARD_STOP.value) + + self.logger.debug("Stopping dialysate outlet pump") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + self.logger.debug("Stopped dialysate outlet pump") + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False + def cmd_home_dialysate_outlet_pump(self) -> int: """ Constructs and sends a dialysate outlet pump home request message to the HD. Index: tests/dg_nvm_scripts.py =================================================================== diff -u -r4060a29b8822087ebc3492836fb8c84ce12a7238 -r77f779d869e95707cb42272511acc48c12430938 --- tests/dg_nvm_scripts.py (.../dg_nvm_scripts.py) (revision 4060a29b8822087ebc3492836fb8c84ce12a7238) +++ tests/dg_nvm_scripts.py (.../dg_nvm_scripts.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -112,13 +112,13 @@ if dg.cmd_log_in_to_dg(): - #run_sw_configs_commands() + run_sw_configs_commands() #run_calibration_commands() #run_system_commands() - run_usage_info_commands() + #run_usage_info_commands() #run_service_commands() Index: tests/dg_tests.py =================================================================== diff -u -r4060a29b8822087ebc3492836fb8c84ce12a7238 -r77f779d869e95707cb42272511acc48c12430938 --- tests/dg_tests.py (.../dg_tests.py) (revision 4060a29b8822087ebc3492836fb8c84ce12a7238) +++ tests/dg_tests.py (.../dg_tests.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -341,11 +341,8 @@ def get_blood_leak_info(): - info = ('Blood_leak_state, {}, Blood_leak_status, {}, Blood_leak_detect_set_point, {}, Blood_leak_detect_level, {},' - ' Blood_leak_led_intensity, {}, ' - .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status(), - hd.blood_leak.get_blood_leak_detect_set_point(), hd.blood_leak.get_blood_leak_detect_level(), - hd.blood_leak.get_blood_leak_led_intensity())) + info = ('Blood_leak_state, {}, Blood_leak_status, {}, ' + .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status())) return info @@ -489,7 +486,7 @@ heaters = get_heaters_info() dg_fans = get_dg_fans_info() conc_pumps = get_concentrate_pumps_info() - blood_leak = '0,' #get_blood_leak_info() + blood_leak = get_blood_leak_info() hd_pumps = get_hd_pumps_info() fill_info = get_dg_fill_info() idle_bad_fill = '0,' #get_dg_idle_bad_fill_info() Index: tests/hd_blood_leak_data.py =================================================================== diff -u -r0e68ec6bb733a8ab7b21a82f8b571f1678f9d2cd -r77f779d869e95707cb42272511acc48c12430938 --- tests/hd_blood_leak_data.py (.../hd_blood_leak_data.py) (revision 0e68ec6bb733a8ab7b21a82f8b571f1678f9d2cd) +++ tests/hd_blood_leak_data.py (.../hd_blood_leak_data.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -31,11 +31,8 @@ def get_blood_leak_info(): - info = ('Blood_leak_state, {}, Blood_leak_status, {}, Blood_leak_detect_set_point, {}, Blood_leak_detect_level, {},' - ' Blood_leak_led_intensity, {}, ' - .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status(), - hd.blood_leak.get_blood_leak_detect_set_point(), hd.blood_leak.get_blood_leak_detect_level(), - hd.blood_leak.get_blood_leak_led_intensity())) + info = ('Blood_leak_state, {}, Blood_leak_status, {}, ' + .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status())) return info Index: tests/hd_nvm_scripts.py =================================================================== diff -u -r0448a5c20523f3bd085494b5f797c833a3a0e46d -r77f779d869e95707cb42272511acc48c12430938 --- tests/hd_nvm_scripts.py (.../hd_nvm_scripts.py) (revision 0448a5c20523f3bd085494b5f797c833a3a0e46d) +++ tests/hd_nvm_scripts.py (.../hd_nvm_scripts.py) (revision 77f779d869e95707cb42272511acc48c12430938) @@ -28,12 +28,12 @@ # It creates a folder called HD_NV_Records in the destination that is called # If no address is provided, the default location is one folder above the dialin folder wherever it is installed # in your computer. - #hd.sw_configs.cmd_get_hd_sw_config_record() + hd.sw_configs.cmd_get_hd_sw_config_record() # Use cmd_update_hd_sw_config_record() set the changes back to firmware # This function requires an address for the excel report. Use the absolute address of your excel report like the # example below - hd.sw_configs.cmd_update_hd_sw_config_record('/home/fw/projects/HD_NV_Records/2023-02-07-HD-SW-CONFIGS-Record.xlsx') + #hd.sw_configs.cmd_update_hd_sw_config_record('/home/fw/projects/HD_NV_Records/2023-02-07-HD-SW-CONFIGS-Record.xlsx') # Use this function to reset the configuration records to all be 0 #hd.sw_configs.cmd_reset_hd_sw_config_record()