Index: leahi_dialin/dd/modules/drybicart.py =================================================================== diff -u -rde2ad3872a368c0ff224cbdcac79306aaf2f09c2 -rbe50641ca58589da9cfcd9e837578c6662311ee2 --- leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision de2ad3872a368c0ff224cbdcac79306aaf2f09c2) +++ leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision be50641ca58589da9cfcd9e837578c6662311ee2) @@ -14,14 +14,13 @@ # ############################################################################ import struct -from enum import unique from logging import Logger from leahi_dialin.common.constants import NO_RESET , RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels -from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum -from leahi_dialin.utils.checks import check_broadcast_interval_override_ms +from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override +from leahi_dialin.protocols.CAN import DenaliChannels +from leahi_dialin.utils.base import AbstractSubSystem, publish from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray class DDDryBicart(AbstractSubSystem): @@ -115,30 +114,15 @@ @return: 1 if successful, zero otherwise """ - if not check_broadcast_interval_override_ms(ms): - return False + return cmd_generic_broadcast_interval_override( + ms=ms, + reset=reset, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_DRY_BICART_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST, + module_name='DD Dry Bicart', + logger=self.logger, + can_interface=self.can_interface) - reset_byte_array = integer_to_bytearray(reset) - ms_byte_array = integer_to_bytearray(ms) - payload = reset_byte_array + ms_byte_array - - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_DRY_BICART_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST.value, - payload=payload) - - self.logger.debug("override DD Dry Bicart data broadcast interval") - - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False - def cmd_bicart_max_fill_cycle_count_override(self, count: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart max cycle count override command @@ -154,27 +138,16 @@ reset_byte_array = integer_to_bytearray(reset) payload = reset_byte_array + cycle_count - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_DRY_BICART_FILL_CYCLE_MAX_OVERRIDE_REQUEST.value, - payload=payload) + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_DRY_BICART_FILL_CYCLE_MAX_OVERRIDE_REQUEST, + entity_name='max fill cycle count', + override_text=str(count), + logger=self.logger, + can_interface=self.can_interface) - if reset == RESET: - str_res = "reset back to normal" - else: - str_res = str(cycle_count) - self.logger.debug("override max fill cycle count " + ": " + str_res) - - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False - def cmd_dry_bicart_fill_request_override(self, start_stop: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart fill request override command @@ -190,21 +163,16 @@ reset_byte_array = integer_to_bytearray(reset) payload = reset_byte_array + request - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_DRY_BICART_FILL_REQUEST_OVERRIDE_REQUEST.value, - payload=payload) + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_DRY_BICART_FILL_REQUEST_OVERRIDE_REQUEST, + entity_name='Bicart Fill Request', + override_text=str(start_stop), + logger=self.logger, + can_interface=self.can_interface) - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False - def cmd_dry_bicart_bicarb_chamber_fill_request_override(self, start_stop: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart bicarbonate chamber F fill request override command @@ -220,21 +188,16 @@ reset_byte_array = integer_to_bytearray(reset) payload = reset_byte_array + request - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST.value, - payload=payload) + return cmd_generic_override( + payload=payload, + reset=NO_RESET, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST, + entity_name='Bicarb Fill Request', + override_text=str(start_stop), + logger=self.logger, + can_interface=self.can_interface) - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False - def cmd_dry_bicart_drain_request_override(self, start_stop: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart drain request override command @@ -250,21 +213,16 @@ reset_byte_array = integer_to_bytearray(reset) payload = reset_byte_array + request - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_BICART_DRAIN_REQUEST_OVERRIDE_REQUEST.value, - payload=payload) + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICART_DRAIN_REQUEST_OVERRIDE_REQUEST, + entity_name='Bicart Drain Request', + override_text=str(start_stop), + logger=self.logger, + can_interface=self.can_interface) - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False - def cmd_dry_bicart_cartridge_size_override(self, small_large: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart cartridge size override command @@ -280,17 +238,12 @@ reset_byte_array = integer_to_bytearray(reset) payload = reset_byte_array + cartridge_size - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_BICART_CARTRIDGE_SELECT_OVERRIDE_REQUEST.value, - payload=payload) - - # Send message - received_message = self.can_interface.send(message) - - # If there is content... - if received_message is not None: - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] - else: - self.logger.error("Timeout!!!!") - return False + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=DenaliChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICART_CARTRIDGE_SELECT_OVERRIDE_REQUEST, + entity_name='Bicart Cartridge Size', + override_text=str(small_large), + logger=self.logger, + can_interface=self.can_interface)