diff --git a/fsfwgen/events/event_parser.py b/fsfwgen/events/event_parser.py index bc99358..c938d13 100644 --- a/fsfwgen/events/event_parser.py +++ b/fsfwgen/events/event_parser.py @@ -274,10 +274,16 @@ def write_translation_source_file( event_id = entry[0] event_value = entry[1] name = event_value.name - if name not in lut: - definitions += f"const char *{name}_STRING " f'= "{name}";\n' - function += f" case ({event_id}):\n " f"return {name}_STRING;\n" - lut.update({name: event_value}) + if name in lut: + _LOGGER.warning( + "Duplicate name detected when generating event translation source file" + ) + _LOGGER.warning(f"Name: {name}, Event Entry: {event_value}") + name = f"{name}_{event_id}" + _LOGGER.info(f"Created unique name {name}") + definitions += f"const char *{name}_STRING " f'= "{name}";\n' + function += f" case ({event_id}):\n " f"return {name}_STRING;\n" + lut.update({name: event_value}) function += ' default:\n return "UNKNOWN_EVENT";\n' out.write( f"/**\n * @brief Auto-generated event translation file. "