Index: dialin/common/msg_defs.py =================================================================== diff -u -r1c49c6b02faa4e6a8bbcd85343ecb0a6d60343ae -rce97bbafe4c73b542c9ba4c75b69696e0473cb47 --- dialin/common/msg_defs.py (.../msg_defs.py) (revision 1c49c6b02faa4e6a8bbcd85343ecb0a6d60343ae) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision ce97bbafe4c73b542c9ba4c75b69696e0473cb47) @@ -17,23 +17,25 @@ from ..utils.base import DialinEnum from .msg_ids import MsgIds + # Define msg ids that are not yet added to common but are needed in dialin @unique class MsgIdsDialin(DialinEnum): - MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST = 0x89 - MSG_DIALIN_ID_HD_SYSTEM_USAGE_RESPONSE = 0x8A - MSG_DIALIN_ID_DG_SYSTEM_USAGE_RESPONSE = 0x8C - MSG_DIALIN_ID_HD_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0x8047 + MSG_DIALIN_ID_UI_SYSTEM_USAGE_REQUEST = 0x89 + MSG_DIALIN_ID_HD_SYSTEM_USAGE_RESPONSE = 0x8A + MSG_DIALIN_ID_DG_SYSTEM_USAGE_RESPONSE = 0x8C + MSG_DIALIN_ID_HD_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0x8047 MSG_DIALIN_ID_HD_VALVES_POSITION_COUNT_OVERRIDE = 0x8058 - MSG_DIALIN_ID_HD_DISINFECT_STATE = 0x7E - MSG_DIALIN_ID_HD_VERSION_REQUEST = 0x9E - MSG_DIALIN_ID_UI_POST_REPORT_VERSION = 0x9F + MSG_DIALIN_ID_HD_DISINFECT_STATE = 0x7E + MSG_DIALIN_ID_HD_VERSION_REQUEST = 0x9E + MSG_DIALIN_ID_UI_POST_REPORT_VERSION = 0x9F ACK_NOT_REQUIRED = [ MsgIds.MSG_ID_ALARM_CONDITION_CLEARED.value ] + @unique class RequestRejectReasons(DialinEnum): REQUEST_REJECT_REASON_NONE = 0 @@ -43,7 +45,7 @@ REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE = 4 REQUEST_REJECT_REASON_TREATMENT_TOO_CLOSE_TO_FINISHED = 5 REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE = 6 - REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT = 7 + EQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT = 7 REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE = 8 REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE = 9 REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE = 10 @@ -72,6 +74,7 @@ REQUEST_REJECT_REASON_DRAIN_NOT_COMPLETE = 33 NUM_OF_REQUEST_REJECT_REASONS = 34 + class MsgFieldPositions: # Generic response msg field byte positions (where 32-bit data fields are used) START_POS_FIELD_1 = 6 # Hardcoded for now to avoid cyclic import issue. See protocols.CAN.DenaliMessage class Index: dialin/hd/alarms.py =================================================================== diff -u -rd080ec803660d4d0f688f16d068bf2f498b3d616 -rce97bbafe4c73b542c9ba4c75b69696e0473cb47 --- dialin/hd/alarms.py (.../alarms.py) (revision d080ec803660d4d0f688f16d068bf2f498b3d616) +++ dialin/hd/alarms.py (.../alarms.py) (revision ce97bbafe4c73b542c9ba4c75b69696e0473cb47) @@ -242,71 +242,71 @@ @return: (bool) Alarm flag system fault (T/F) """ - return ((self.alarms_flags & 1) > 0) + return (self.alarms_flags & 1) > 0 def get_alarm_flag_stop(self) -> bool: """ Gets the alarm flag no clear. @return: (bool) Alarm flag no clear (T/F) """ - return ((self.alarms_flags & 2) > 0) + return (self.alarms_flags & 2) > 0 def get_alarm_flag_no_clear(self) -> bool: """ Gets the alarm flag no clear. @return: (bool) Alarm flag no clear (T/F) """ - return ((self.alarms_flags & 4) > 0) + return (self.alarms_flags & 4) > 0 def get_alarm_flag_no_resume(self) -> bool: """ Gets the alarm flag no resume. @return: (bool) Alarm flag no resume (T/F) """ - return ((self.alarms_flags & 8) > 0) + return (self.alarms_flags & 8) > 0 def get_alarm_flag_no_rinseback(self) -> bool: """ Gets the alarm flag no rinseback. @return: (bool) Alarm flag no rinseback (T/F) """ - return ((self.alarms_flags & 16) > 0) + return (self.alarms_flags & 16) > 0 def get_alarm_flag_no_end_treatment(self) -> bool: """ Gets the alarm flag no end treatment. @return: (bool) Alarm flag no end treatment (T/F) """ - return ((self.alarms_flags & 32) > 0) + return (self.alarms_flags & 32) > 0 def get_alarm_flag_no_new_treatment(self) -> bool: """ Gets the alarm flag no new treatment. @return: (bool) Alarm flag no new treatment (T/F) """ - return ((self.alarms_flags & 64) > 0) + return (self.alarms_flags & 64) > 0 def get_alarm_flag_lamp_on(self) -> bool: """ Gets the alarm flag lamp on. @return: (bool) Alarm lamp on (T/F) """ - return ((self.alarms_flags & 1024) > 0) + return (self.alarms_flags & 1024) > 0 def get_alarm_flag_no_minimize(self) -> bool: """ Gets the alarm flag no minimize. @return: (bool) Alarm cannot be minimized (T/F) """ - return ((self.alarms_flags & 16384) > 0) + return (self.alarms_flags & 16384) > 0 @_publish(["alarms_state", "alarm_top", "alarms_silence_expires_in", "alarms_escalates_in", "alarms_flags"]) def _handler_alarms_status_sync(self, message): @@ -409,7 +409,7 @@ @return: 1 if successful, zero otherwise """ - key = integer_to_bytearray(-758926171) # 0xD2C3B4A5 + key = integer_to_bytearray(-758926171) # 0xD2C3B4A5 payload = key message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, @@ -459,9 +459,13 @@ str_res = "reset back to normal" else: str_res = ("active" if state != 0 else "inactive") + self.logger.debug("Alarm " + str(alarm) + " " + str_res + ": " + str( + received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK - return 1 == received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - return False + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False def cmd_alarm_time_override(self, alarm: int, time_ms: int, reset: int = NO_RESET) -> int: """ @@ -558,7 +562,7 @@ else: str_pat = "manual" self.logger.debug("Alarm lamp pattern overridden to " + str_pat + ":" + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: Index: dialin/hd/syringe_pump.py =================================================================== diff -u -r6e20f4690ce887c351d8c65546f93311e5df6ad1 -rce97bbafe4c73b542c9ba4c75b69696e0473cb47 --- dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision 6e20f4690ce887c351d8c65546f93311e5df6ad1) +++ dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision ce97bbafe4c73b542c9ba4c75b69696e0473cb47) @@ -16,7 +16,7 @@ import struct from ..utils.conversions import integer_to_bytearray, float_to_bytearray from ..utils.checks import check_broadcast_interval_override_ms -from .constants import RESET,NO_RESET +from .constants import RESET, NO_RESET from ..common.msg_defs import MsgIds, MsgFieldPositions from ..protocols.CAN import (DenaliMessage, DenaliChannels) @@ -190,12 +190,12 @@ return self.syringe_pump_adc_read_counter @_publish(["syringe_pump_state", "syringe_pump_set_rate_ml_hr", - "syringe_pump_meas_rate_ml_hr","syringe_pump_position", - "syringe_pump_volume_ml","syringe_pump_home_v", - "syringe_pump_switch_v","syringe_pump_force_v", - "heparin_state","syringe_pump_safety_volume_ml", - "syringe_pump_status","syringe_pump_encoder_status", - "syringe_pump_adc_dac_status","syringe_pump_adc_read_counter"]) + "syringe_pump_meas_rate_ml_hr", "syringe_pump_position", + "syringe_pump_volume_ml", "syringe_pump_home_v", + "syringe_pump_switch_v", "syringe_pump_force_v", + "heparin_state", "syringe_pump_safety_volume_ml", + "syringe_pump_status", "syringe_pump_encoder_status", + "syringe_pump_adc_dac_status", "syringe_pump_adc_read_counter"]) def _handler_syringe_pump_data(self, message): """ Handles published syringe pump data messages. Syringe pump data are captured @@ -326,7 +326,7 @@ else: str_res = str(ms) + " ms: " self.logger.debug("Syringe pump data broadcast interval overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -364,7 +364,7 @@ else: str_res = str(position) + " encoder counts: " self.logger.debug("Syringe pump measured position overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -402,7 +402,7 @@ else: str_res = str(rate) + " mL/hr: " self.logger.debug("Syringe pump measured rate overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -440,7 +440,7 @@ else: str_res = str(volts) + " volts: " self.logger.debug("Syringe pump measured force overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -478,7 +478,7 @@ else: str_res = str(volts) + " volts: " self.logger.debug("Syringe pump measured syringe detection overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -516,7 +516,7 @@ else: str_res = str(volts) + " volts: " self.logger.debug("Syringe pump measured home overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: @@ -554,7 +554,7 @@ else: str_res = str(volume) + " mL: " self.logger.debug("Syringe pump measured volume overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: Index: dialin/utils/__init__.py =================================================================== diff -u -rcfcfb5d5a65ac68c029f0b43832e6386281588f8 -rce97bbafe4c73b542c9ba4c75b69696e0473cb47 --- dialin/utils/__init__.py (.../__init__.py) (revision cfcfb5d5a65ac68c029f0b43832e6386281588f8) +++ dialin/utils/__init__.py (.../__init__.py) (revision ce97bbafe4c73b542c9ba4c75b69696e0473cb47) @@ -7,4 +7,4 @@ from .singleton import * from .data_logger import DataLogger YES = 1 -NO = 0 \ No newline at end of file +NO = 0