########################################################################### # # Copyright (c) 2021-2022 Diality Inc. - All Rights Reserved. # # 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 hd_blood_leak_data.py # # @author (last) Dara Navaei # @date (last) 15-Dec-2021 # @author (original) Peman Montazemi # @date (original) 15-Apr-2021 # ############################################################################ import sys sys.path.append("..") from dialin.hd.hemodialysis_device import HD from dialin.common.hd_defs import HDOpModes from time import sleep from datetime import datetime def get_blood_leak_info(): info = ('Blood_leak_state, {}, Blood_leak_status, {}, Blood_leak_zero_status_counter, {}, Blood_leak_counter, {}, ' 'Blood_leak_zeroed_status, {}, Blood_leak_detect_set_point, {}, Blood_leak_detect_level, {}, ' 'Blood_leak_st_count, {}, Blood_leak_led_intensity, {}, Blood_leak_register_counter, {}, ' .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status(), hd.blood_leak.get_blood_leak_zero_status_counter(), hd.blood_leak.get_blood_leak_counter(), hd.blood_leak.get_blood_leak_zeroed_status(), hd.blood_leak.get_blood_leak_detect_set_point(), hd.blood_leak.get_blood_leak_detect_level(), hd.blood_leak.get_blood_leak_st_count(), hd.blood_leak.get_blood_leak_led_intensity(), hd.blood_leak.get_blood_leak_register_counter())) return info if __name__ == "__main__": # Create an HD object called hd hd = HD() sleep(2) hd.cmd_log_in_to_hd() sleep(1) #hd.blood_leak.cmd_blood_leak_zero_request() #sleep(2) hd.blood_leak.cmd_blood_leak_data_broadcast_interval_override(50) f = open("/home/fw/projects/dialin/tests/blood_leak.log", "w") try: while True: hd_blood_leak = get_blood_leak_info() var = str(datetime.now()) + ', ' + hd_blood_leak + '\r' print(var) f.write(var) sleep(0.05) except KeyboardInterrupt: f.close() """ f = open("/home/fw/projects/dialin/tests/blood_leak.log", "w") counter = 0 while counter < 6: hd.cmd_hd_software_reset_request() sleep(1) hd.alarms.clear_dialin_alarms() timer = 0 while True: if hd.hd_operation_mode == HDOpModes.MODE_STAN.value and timer == 0: hd.cmd_log_in_to_hd() sleep(1) hd.blood_leak.cmd_blood_leak_zero_request() hd_blood_leak = get_blood_leak_info() var = str(counter) + str(datetime.now()) + ', ' + hd_blood_leak + '\r' if timer > 4: break timer += 1 print(var) f.write(var) sleep(1) counter += 1 """