From de80fbe4d88153f848e5fd60411995918b443a66 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 20 Feb 2026 16:37:09 +0100 Subject: [PATCH] more fixes --- fsfwgen/events/event_parser.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/fsfwgen/events/event_parser.py b/fsfwgen/events/event_parser.py index ed4eb89..6c7b333 100644 --- a/fsfwgen/events/event_parser.py +++ b/fsfwgen/events/event_parser.py @@ -1,4 +1,5 @@ import re +import sys import logging from pathlib import Path from typing import List, Optional, Dict @@ -70,8 +71,9 @@ class EventParser(FileParser): self.set_moving_window_mode(moving_window_size) self.interfaces = interface_list self.count = 0 - self.subsystem_id = 0 - self.current_id = 0 + self.subsystem_id = None + self.current_id = None + self.current_file = None self.mib_table: EventDictT = dict() self.obsw_root_path: Optional[Path] = None self.last_lines = ["", "", ""] @@ -89,6 +91,10 @@ class EventParser(FileParser): *args, **kwargs, ): + if file_name != self.current_file: + self.current_file = file_name + self.subsystem_id = None + self.current_id = None subsystem_id_assignment_match = re.search( rf"{SUBSYSTEM_ID_NAMESPACE}::([A-Z_0-9]*)", moving_window[self.moving_window_center_idx], @@ -155,6 +161,9 @@ class EventParser(FileParser): elif meta.type == MetaType.DESC: description = meta.value if event_full_match: + if self.subsystem_id is None: + _LOGGER.error("Subsystem ID not set, cannot parse event") + sys.exit(1) name = event_match.group(EVENT_NAME_IDX) if macro_api_match: full_id = (self.subsystem_id * 100) + self.return_number_from_string( -- 2.43.0