Index: leahi_dialin/dd/proxies/ro_proxy.py =================================================================== diff -u -rc587268b85d4b16b4102869d2841be84f3a2a23f -r1f2bf6d939eb4033dbedb7d7005494cc12fccbc6 --- leahi_dialin/dd/proxies/ro_proxy.py (.../ro_proxy.py) (revision c587268b85d4b16b4102869d2841be84f3a2a23f) +++ leahi_dialin/dd/proxies/ro_proxy.py (.../ro_proxy.py) (revision 1f2bf6d939eb4033dbedb7d7005494cc12fccbc6) @@ -7,39 +7,42 @@ # # @file ro_proxy.py # -# @author (last) Micahel Garthwaite -# @date (last) 18-Aug-2023 +# @author (last) Zoltan Miskolci +# @date (last) 04-May-2026 # @author (original) Peter Lucia # @date (original) 02-Apr-2020 # ############################################################################ -import struct + +# Module imports from logging import Logger -from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.protocols.CAN import DenaliMessage, DenaliCanMessenger, DenaliChannels -from leahi_dialin.utils.base import AbstractSubSystem, publish -from leahi_dialin.utils.conversions import integer_to_bytearray, byte_to_bytearray, float_to_bytearray +# Project imports +from leahi_dialin.common.msg_defs import MsgIds +from leahi_dialin.common.override_templates import cmd_generic_override +from leahi_dialin.protocols.CAN import CanMessenger, CanChannels +from leahi_dialin.utils.abstract_classes import AbstractSubSystem +from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray class ROProxy(AbstractSubSystem): """ Dialysate Delivery (DD) Dialin API sub-class for RO proxy ( injection ) related commands. """ - def __init__(self, can_interface: DenaliCanMessenger, logger: Logger): + def __init__(self, can_interface: CanMessenger, logger: Logger): """ ROProxy constructor - @param can_interface: the Denali CAN interface object + @param can_interface: the CAN interface object """ - super().__init__() self.can_interface = can_interface self.logger = logger # no current registered call back methods + def cmd_dd_send_ro_start_stop_request(self, cmdID: int = 0, start: bool = 0, ro_rate: float = 0): """ Constructs and sends a DD command request to the RO. @@ -53,10 +56,12 @@ stt = integer_to_bytearray(start) rtt = float_to_bytearray(ro_rate) payload = cmd + stt + rtt - message = DenaliMessage.build_message(channel_id=DenaliChannels.dd_to_ro_ch_id, - message_id=MsgIds.MSG_ID_DD_FP_START_STOP_CMD_REQUEST.value, - payload=payload) - self.logger.debug("Sending DD start stop request to RO.") - self.can_interface.send(message, 0) - + cmd_generic_override(payload = payload, + reset = None, + channel_id = CanChannels.dd_to_ro_ch_id, + msg_id = MsgIds.MSG_ID_DD_FP_START_STOP_CMD_REQUEST, + entity_name = 'DD Start Stop Request to RO', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface)