Index: leahi_dialin/dd/modules/events.py =================================================================== diff -u -r7d9d004527efeccb91958b440abdff08c2c52648 -r410054cfec7aee839266233249413b08b368fbd3 --- leahi_dialin/dd/modules/events.py (.../events.py) (revision 7d9d004527efeccb91958b440abdff08c2c52648) +++ leahi_dialin/dd/modules/events.py (.../events.py) (revision 410054cfec7aee839266233249413b08b368fbd3) @@ -7,23 +7,29 @@ # # @file events.py # -# @author (last) Jonny Paguio -# @date (last) 15-Sep-2025 +# @author (last) Zoltan Miskolci +# @date (last) 07-Jan-2026 # @author (original) Dara Navaei # @date (original) 12-Oct-2021 # ############################################################################ import struct from logging import Logger -from leahi_dialin.common import * +from datetime import datetime +from time import time + +from leahi_dialin.common.dd_defs import DDEventList, DDEventDataType, DDOpModes, DDFaultStates, \ + DDServiceModesStates, DDInitStates, DDStandByModeStates, DDPreGenDialysateStates, \ + DDGenDialysateModeStates, DDPostGenDialysateState, DDHeatersState, DDHeatersCoolingStates, \ + DDROPermeateStates, DDNotLegalStates from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols.CAN import DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish -from datetime import datetime -from time import time + + class DDEvents(AbstractSubSystem): """ Dialysate Delivery (DD) Dialin API sub-class for events related commands. @@ -35,7 +41,6 @@ @param can_interface: Denali CAN Messenger object """ - super().__init__() self.can_interface = can_interface self.logger = logger @@ -92,6 +97,7 @@ self._dd_event_data_type[event_data_type] = struct_unpack_type + def get_dd_nth_event(self, event_id, event_number=0): """ Returns the nth requested DD event @@ -112,6 +118,7 @@ return event + def clear_dd_event_list(self): """ Clears the DD event list @@ -121,6 +128,7 @@ for key in self._dd_event_dictionary: self._dd_event_dictionary[key].clear() + def get_dd_events(self, event_id, number_of_events=1): """ Returns the requested number of a certain DD event ID @@ -148,6 +156,7 @@ return list_of_events + @publish(["msg_id_dd_event", "dd_events_timestamp", '_dd_event_dictionary']) def _handler_events_sync(self, message, timestamp=0.0): """ @@ -287,6 +296,7 @@ self._dd_event_dictionary[event_state_name].append(event_tuple) self.dd_events_timestamp = timestamp + @publish(["msg_id_dd_op_mode_data", "dd_event_op_mode_timestamp", "dd_event_op_mode", "dd_event_sub_mode"]) def _handler_dd_op_mode_sync(self, message, timestamp=0.0): """ @@ -296,12 +306,11 @@ @param message: published DD operation mode broadcast message @return: None """ - mode = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1])) smode = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2])) self.dd_event_op_mode = mode[0] self.dd_event_sub_mode = smode[0] - self.dd_event_op_mode_timestamp = timestamp \ No newline at end of file + self.dd_event_op_mode_timestamp = timestamp