From 600c717eb9d6b1bb4c862ac9cb1ff8649125085c Mon Sep 17 00:00:00 2001 From: E-Krantz Date: Fri, 25 Jul 2025 21:43:30 +0200 Subject: [PATCH] Add namespace support for uxrce-dds client during firmware upload (#25291) --- src/modules/uxrce_dds_client/generate_dds_topics.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/uxrce_dds_client/generate_dds_topics.py b/src/modules/uxrce_dds_client/generate_dds_topics.py index 78e3bf3b93..3698c71e9e 100644 --- a/src/modules/uxrce_dds_client/generate_dds_topics.py +++ b/src/modules/uxrce_dds_client/generate_dds_topics.py @@ -79,10 +79,16 @@ if not os.path.exists(folder_name): with open(args.yaml_file, 'r') as file: msg_map = yaml.safe_load(file) +# Get DDS namespace from environment, default to empty string +namespace = os.getenv('PX4_UXRCE_DDS_NS', '') + merged_em_globals = {} all_type_includes = [] def process_message_type(msg_type): + # Add namespace to topic + msg_type['topic'] = f"/{namespace}{msg_type['topic']}" if namespace else msg_type['topic'] + # eg TrajectoryWaypoint from px4_msgs::msg::TrajectoryWaypoint simple_base_type = msg_type['type'].split('::')[-1] @@ -96,6 +102,8 @@ def process_message_type(msg_type): # topic_simple: eg vehicle_status msg_type['topic_simple'] = msg_type['topic'].split('/')[-1] +merged_em_globals['namespace'] = namespace + pubs_not_empty = msg_map['publications'] is not None if pubs_not_empty: for p in msg_map['publications']: