Index: dialin/hd/blood_leak.py =================================================================== diff -u -r26c7b6057f11680681e0a25399b5e5be9b92818d -r87dbae2a1817c8a3b9f9508c8ea1d9276f78e345 --- dialin/hd/blood_leak.py (.../blood_leak.py) (revision 26c7b6057f11680681e0a25399b5e5be9b92818d) +++ dialin/hd/blood_leak.py (.../blood_leak.py) (revision 87dbae2a1817c8a3b9f9508c8ea1d9276f78e345) @@ -89,6 +89,7 @@ self.blood_leak_state = BloodLeakStates.BLOOD_LEAK_INIT_STATE.value self.blood_leak_emb_mode_cmds = dict() self.blood_leak_error_persistent_ctr = 0 + self.blood_leak_serial_comm_state = 0 for cmd in EmbModeCommands.__members__: # Initialize all the embedded mode commands @@ -124,7 +125,7 @@ self.logger.debug("Invalid command!") @publish(['hd_blood_leak_status_timestamp', 'blood_leak_status', 'blood_leak_state', - 'blood_leak_error_persistent_ctr']) + 'blood_leak_error_persistent_ctr', 'blood_leak_serial_comm_state']) def _handler_blood_leak_sync(self, message, timestamp=0.0): """ Handles published blood leak status messages. Blood leak status is captured @@ -139,6 +140,8 @@ message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] self.blood_leak_error_persistent_ctr = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] + self.blood_leak_serial_comm_state = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] self.hd_blood_leak_status_timestamp = timestamp def cmd_blood_leak_detector_override(self, detected: int, reset=NO_RESET): Index: tests/dg_tests.py =================================================================== diff -u -r3263cf899c0b76f1521d600402df327546af6bd9 -r87dbae2a1817c8a3b9f9508c8ea1d9276f78e345 --- tests/dg_tests.py (.../dg_tests.py) (revision 3263cf899c0b76f1521d600402df327546af6bd9) +++ tests/dg_tests.py (.../dg_tests.py) (revision 87dbae2a1817c8a3b9f9508c8ea1d9276f78e345) @@ -726,7 +726,7 @@ #run_test_configs() - #run_heat_disinfect() + run_heat_disinfect() #run_flush_mode() Index: tests/hd_blood_leak_data.py =================================================================== diff -u -rbb27421af996ff0333c514d27d9c0b13155bce77 -r87dbae2a1817c8a3b9f9508c8ea1d9276f78e345 --- tests/hd_blood_leak_data.py (.../hd_blood_leak_data.py) (revision bb27421af996ff0333c514d27d9c0b13155bce77) +++ tests/hd_blood_leak_data.py (.../hd_blood_leak_data.py) (revision 87dbae2a1817c8a3b9f9508c8ea1d9276f78e345) @@ -15,6 +15,7 @@ ############################################################################ import sys +import os sys.path.append("..") from dialin.hd.hemodialysis_device import HD from dialin.common.hd_defs import HDOpModes @@ -31,42 +32,35 @@ def get_blood_leak_info(): - info = ('Blood_leak_state, {}, Blood_leak_status, {}, ' - .format(hd.blood_leak.get_blood_leak_state(), hd.blood_leak.get_blood_leak_status())) - return info - - -if __name__ == "__main__": - # Create an HD object called hd - hd = HD(log_level='DEBUG') - hd.cmd_log_in_to_hd() - sleep(1) - - #hd.blood_leak.cmd_blood_leak_zero_request() - - - #hd.blood_leak.cmd_blood_leak_data_broadcast_interval_override(50) - -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, {}, ' + info = ('Blood_leak_state, {}, Blood_leak_status, {}, Blood_leak_serial_comm, {}, ' .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())) + hd.blood_leak.blood_leak_serial_comm_state)) return info +#def get_blood_leak_info(): +# info = ('Blood_leak_state, {}, Blood_leak_status, {}, 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_level(), +# hd.blood_leak.get_blood_leak_led_intensity())) +# return info + if __name__ == "__main__": # Create an HD object called hd hd = HD(log_level='DEBUG') hd.cmd_log_in_to_hd() sleep(1) - #hd.blood_leak.cmd_blood_leak_zero_request() + address = os.path.join(os.getcwd(), "blood_leak.log") + f = open(address, "w") - #hd.blood_leak.cmd_blood_leak_data_broadcast_interval_override(50) + hd.blood_leak.cmd_blood_leak_zero_request() + command_sent = True + counter = 0 + #hd.blood_leak.cmd_blood_leak_set_to_embedded_mode() #print(hd.blood_leak.get_blood_leak_emb_mode_command_response()) @@ -78,12 +72,26 @@ #hd.blood_leak.cmd_blood_leak_zero_request() while True: - #print(hd.blood_leak.blood_leak_emb_mode_cmds) - sleep(1) - print(hd.blood_leak.get_blood_leak_emb_mode_command_response(6)) + if command_sent == False and hd.blood_leak.blood_leak_state != 3: + hd.blood_leak.cmd_blood_leak_zero_request() + command_sent = True + if hd.blood_leak.blood_leak_state != 3: + counter += 1 + + if counter > 4: + command_sent = False + counter = 0 + + var = str(datetime.now()) + ', ' + str(counter) + ', ' + str(command_sent) + ', ' + get_blood_leak_info() + '\r' + + print(var) + f.write(var) + + sleep(1) + """ while True: hd.blood_leak.cmd_blood_leak_set_embedded_mode_command(EmbModeCommands.I.value, msg_payload=125)