Index: leahi_dialin/td/proxies/ui_proxy.py =================================================================== diff -u -r914620537399ff9ecc4925fc56f8b8be567d184e -r47a803c6dd859a5bcc7a6c82e0cb160c350473ea --- leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 914620537399ff9ecc4925fc56f8b8be567d184e) +++ leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 47a803c6dd859a5bcc7a6c82e0cb160c350473ea) @@ -19,6 +19,7 @@ from leahi_dialin.common.constants import ACCEPTED from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions, RequestRejectReasons +from leahi_dialin.common.override_templates import cmd_generic_override from leahi_dialin.protocols.CAN import DenaliMessage, DenaliCanMessenger, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem from leahi_dialin.utils.conversions import integer_to_bytearray, unsigned_byte_to_bytearray, float_to_bytearray, \ @@ -257,14 +258,16 @@ dtp = float_to_bytearray(dialysate_temp) hdr = float_to_bytearray(heparin_dispense_rate) hbv = float_to_bytearray(heparin_bolus_volume) - payload = bld + dia + dur + sal + hst + het + acc + bic + dzr + bpi + rbf + rbv + apw + vpw + vpa + tmp + dtp + hdr + hbv - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_to_td_ch_id, - message_id=MsgIds.MSG_ID_UI_TREATMENT_PARAMS_TO_VALIDATE.value, - payload=payload) - self.logger.debug("Sending treatment parameters to TD.") - self.can_interface.send(message, 0) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_TREATMENT_PARAMS_TO_VALIDATE, + entity_name = 'Sneding UI Treatment Parameter to TD', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) def cmd_send_ui_version_request(self) -> None: @@ -279,17 +282,18 @@ micro = unsigned_byte_to_bytearray(0) build = short_to_bytearray(0) compatibility = integer_to_bytearray(self.SW_COMPATIBILITY_REV) - payload = major + minor + micro + build + compatibility - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_FW_VERSIONS_REQUEST.value, - payload=payload) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_sync_broadcast_ch_id, + msg_id = MsgIds.MSG_ID_FW_VERSIONS_REQUEST, + entity_name = 'UI Version Request', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending UI Version Request.") - self.can_interface.send(message, 0) - def cmd_send_ui_initiate_treatment(self, accepted:int = ACCEPTED ) -> None: """ Constructs and sends a UI initiate treatment message. @@ -298,17 +302,18 @@ :return: none """ acc = integer_to_bytearray(accepted) - payload = acc - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_to_td_ch_id, - message_id=MsgIds.MSG_ID_UI_INITIATE_TREATMENT_WORKFLOW.value, - payload=payload) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_INITIATE_TREATMENT_WORKFLOW, + entity_name = 'UI Initiate Treatment Workflow', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending UI Initiate Treatment Workflow.") - self.can_interface.send(message, 0) - def cmd_send_ui_confirmed_treatment_parameters (self, accepted: int = ACCEPTED ) -> None: """ Constructs and sends a UI confirmation of treatment parameters message. @@ -317,17 +322,18 @@ :return: none """ acc = integer_to_bytearray(accepted) - payload = acc - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_to_td_ch_id, - message_id=MsgIds.MSG_ID_UI_TREATMENT_PARAMS_CONFIRMED.value, - payload=payload) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_TREATMENT_PARAMS_CONFIRMED, + entity_name = 'UI Confirm Treatment Parameters', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending UI Confirm Treatment Parameters.") - self.can_interface.send(message, 0) - def cmd_send_ui_pause_resume_uf(self, accepted:int = ACCEPTED, rejection_reason:int = RequestRejectReasons.REQUEST_REJECT_REASON_NONE.value ) -> None: """ Constructs and sends a UI pause/resume ultrafiltration message. @@ -338,17 +344,18 @@ """ acc = integer_to_bytearray(accepted) rjr = integer_to_bytearray(rejection_reason) - payload = acc + rjr - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_to_td_ch_id, - message_id=MsgIds.MSG_ID_UI_UF_PAUSE_RESUME_REQUEST.value, - payload=payload) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_UF_PAUSE_RESUME_REQUEST, + entity_name = 'UI Pause or Resume UF Request', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending UI Pause Resume UF request.") - self.can_interface.send(message, 0) - def cmd_send_ui_validate_uf_volume (self, uf_volume: float = 0.0 ) -> None: """ Constructs and sends a UI validate ultrafiltration message. @@ -357,12 +364,49 @@ :return: none """ ufv = float_to_bytearray(uf_volume) - payload = ufv - message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_to_td_ch_id, - message_id=MsgIds.MSG_ID_UI_ULTRAFILTRATION_VOLUME_TO_VALIDATE.value, - payload=payload) + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_ULTRAFILTRATION_VOLUME_TO_VALIDATE, + entity_name = 'Validate UI Ultrafiltration Volume', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending UI Ultrafiltration volume to validate.") - self.can_interface.send(message, 0) + + def cmd_send_ui_alarm_list_request (self) -> None: + """ + Constructs and sends a UI request for the active alarm list. + + :return: none + """ + cmd_generic_override(payload = None, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_ACTIVE_ALARMS_LIST_REQUEST, + entity_name = 'UI Active Alarm List Request', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) + + + def cmd_send_ui_silence_alarm(self, silence: int = 1) -> None: + """ + Constructs and sends a UI request to silence the alarm sound. + + :param silence: (int) 1 to silence, 0 to de-silence + :return: none + """ + sil = float_to_bytearray(silence) + payload = sil + + cmd_generic_override(payload = payload, + reset = None, + channel_id = DenaliChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_USER_ALARM_SILENCE_REQUEST, + entity_name = 'UI Alarm Silence Request', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface)