diff --git a/.gitmodules b/.gitmodules index af800e888ba..e93885fd04c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -72,6 +72,10 @@ path = src/lib/heatshrink/heatshrink url = https://github.com/PX4/heatshrink.git branch = px4 +[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 + branch = px4-release/3 [submodule "Tools/simulation/gz"] path = Tools/simulation/gz url = https://github.com/PX4/PX4-gazebo-models.git diff --git a/src/modules/uxrce_dds_client/CMakeLists.txt b/src/modules/uxrce_dds_client/CMakeLists.txt index fba4ca45cf4..fdc9f9ff5ee 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 6573e0cc0b8..5806c94516c 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--- + Enable 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 00000000000..c88fb537e89 --- /dev/null +++ b/src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client-v3 @@ -0,0 +1 @@ +Subproject commit c88fb537e89a1095c49a6a535a55378d4c14cf2c