From a473b732cb31695fd5096bd9264c4f0c53604eaf Mon Sep 17 00:00:00 2001 From: Beniamino Pozzan Date: Sun, 30 Nov 2025 11:06:55 +0000 Subject: [PATCH] feat(uxrce_dds_client): allow building Micro-XRCE-DDS_Client v3 Adds new nuttx config entry: UXRCE_DDS_CLIENT_USE_DDS_V3 Signed-off-by: Beniamino Pozzan --- .gitmodules | 3 +++ src/modules/uxrce_dds_client/CMakeLists.txt | 8 ++++++-- src/modules/uxrce_dds_client/Kconfig | 7 +++++++ src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) create mode 160000 src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 diff --git a/.gitmodules b/.gitmodules index 4061b65c11..b329463452 100644 --- a/.gitmodules +++ b/.gitmodules @@ -103,3 +103,6 @@ [submodule "src/drivers/ins/sbgecom/sbgECom"] path = src/drivers/ins/sbgecom/sbgECom url = https://github.com/PX4/sbgECom.git +[submodule "src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3"] + path = src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 + url = https://github.com/PX4/Micro-XRCE-DDS-Client.git diff --git a/src/modules/uxrce_dds_client/CMakeLists.txt b/src/modules/uxrce_dds_client/CMakeLists.txt index fba4ca45cf..fdc9f9ff5e 100644 --- a/src/modules/uxrce_dds_client/CMakeLists.txt +++ b/src/modules/uxrce_dds_client/CMakeLists.txt @@ -35,8 +35,12 @@ if(${CMAKE_VERSION} VERSION_LESS_EQUAL "3.15") message(WARNING "skipping uxrce_dds_client, Micro-XRCE-DDS-Client needs to be fixed to work with CMAKE_VERSION ${CMAKE_VERSION}") else() - - set(microxrceddsclient_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/Micro-XRCE-DDS-Client) + if(CONFIG_UXRCE_DDS_CLIENT_USE_DDS_V3) + message(WARNING "Using Micro-XRCE-DDS-Client v3 for uxrce_dds_client module") + set(microxrceddsclient_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/Micro-XRCE-DDS-Client-v3) + else() + set(microxrceddsclient_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/Micro-XRCE-DDS-Client) + endif() set(microxrceddsclient_build_dir ${CMAKE_CURRENT_BINARY_DIR}) px4_add_git_submodule(TARGET git_micro_xrce_dds_client PATH "${microxrceddsclient_src_dir}") diff --git a/src/modules/uxrce_dds_client/Kconfig b/src/modules/uxrce_dds_client/Kconfig index 6573e0cc0b..2d6561b5e5 100644 --- a/src/modules/uxrce_dds_client/Kconfig +++ b/src/modules/uxrce_dds_client/Kconfig @@ -3,3 +3,10 @@ menuconfig MODULES_UXRCE_DDS_CLIENT default n ---help--- Enable support for the UXRCE-DDS Client + +menuconfig UXRCE_DDS_CLIENT_USE_DDS_V3 +depends on MODULES_UXRCE_DDS_CLIENT + bool "use DDS v3" + default n + ---help--- + Enabel support for Micro-XRCE-DDS-Client version 3. diff --git a/src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 b/src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 new file mode 160000 index 0000000000..5f953eecc2 --- /dev/null +++ b/src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 @@ -0,0 +1 @@ +Subproject commit 5f953eecc28314a1edb660a48ba7114bbfb4ecbf