Index: leahi_dialin/fp/modules/events.py =================================================================== diff -u -r7d9d004527efeccb91958b440abdff08c2c52648 -ra291930ba38e329e2b373f6d2b2a7564a6b7a09a --- leahi_dialin/fp/modules/events.py (.../events.py) (revision 7d9d004527efeccb91958b440abdff08c2c52648) +++ leahi_dialin/fp/modules/events.py (.../events.py) (revision a291930ba38e329e2b373f6d2b2a7564a6b7a09a) @@ -7,21 +7,24 @@ # # @file events.py # -# @author (last) Jonny Paguio -# @date (last) 16-Sep-2025 +# @author (last) Zoltan Miskolci +# @date (last) 08-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.fp_defs import FPEventList, FPEventDataType, FPOpModes, FPFaultStates, \ + FPServiceStates, FPPostStates, FPStandbyStates, FPPreGenPermeateStates, FPGenPermeateStates, \ + FPPreGenPDefStates, FPGenPermeateDefStates, FPNotLegalStates 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 FPEvents(AbstractSubSystem): @@ -35,7 +38,6 @@ @param can_interface: Denali CAN Messenger object """ - super().__init__() self.can_interface = can_interface self.logger = logger @@ -90,6 +92,7 @@ self._fp_event_data_type[event_data_type] = struct_unpack_type + def get_fp_nth_event(self, event_id, event_number=0): """ Returns the nth requested FP event @@ -110,6 +113,7 @@ return event + def clear_fp_event_list(self): """ Clears the FP event list @@ -119,6 +123,7 @@ for key in self._fp_event_dictionary: self._fp_event_dictionary[key].clear() + def get_fp_events(self, event_id, number_of_events=1): """ Returns the requested number of a certain FP event ID @@ -146,6 +151,7 @@ return list_of_events + @publish(["msg_id_fp_event", "fp_events_timestamp", '_fp_event_dictionary']) def _handler_events_sync(self, message, timestamp=0.0): """ @@ -285,6 +291,7 @@ self._fp_event_dictionary[event_state_name].append(event_tuple) self.fp_events_timestamp = timestamp + @publish(["msg_id_fp_op_mode_data", "fp_event_op_mode_timestamp", "fp_event_op_mode", "fp_event_sub_mode"]) def _handler_fp_op_mode_sync(self, message, timestamp=0.0): """ @@ -294,12 +301,11 @@ @param message: published FP 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.fp_event_op_mode = mode[0] self.fp_event_sub_mode = smode[0] - self.fp_event_op_mode_timestamp = timestamp \ No newline at end of file + self.fp_event_op_mode_timestamp = timestamp