Skip to content

Advanced controls over DDS - #14313

Merged
OhadMeir merged 9 commits into
realsenseai:developmentfrom
OhadMeir:advanced_controls
Oct 15, 2025
Merged

Advanced controls over DDS#14313
OhadMeir merged 9 commits into
realsenseai:developmentfrom
OhadMeir:advanced_controls

Conversation

@OhadMeir

Copy link
Copy Markdown
Contributor

Tracked on [RSDEV-3616]

rs-dds-device-proxy extends ds_advanced_mode_base. For that ds_advanced_mode_base needed some refactoring.

Currently opening as draft PR, as a UT still fails the CI and needs to be updated.

@OhadMeir
OhadMeir requested review from Nir-Az and Copilot September 28, 2025 06:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds advanced mode support for DDS devices by refactoring the ds_advanced_mode_base class to support initialization after construction and using debug interfaces instead of requiring hardware monitors.

Key changes include:

  • Refactoring ds_advanced_mode_base to support deferred initialization through initialize_advanced_mode()
  • Moving d400_depth_sensor and d500_depth_sensor class definitions from implementation to header files
  • Adding advanced mode support to DDS device proxy
  • Converting many member initialization constructors to use the new initialization pattern

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
unit-tests/dds/test-librs-options.py Commented out test case for serialized device functionality
third-party/realdds/src/dds-device.cpp Made methods const to support advanced mode integration
third-party/realdds/include/realdds/dds-device.h Updated method signatures to const and made impl mutable
src/types.h Removed res_type enum and helper function
src/sensor.h Made register_on_open virtual and added override in processing_sensor
src/ds/d500/d500-factory.cpp Updated constructors to use new initialization pattern
src/ds/d500/d500-device.h Moved d500_depth_sensor class definition from .cpp to header
src/ds/d500/d500-device.cpp Moved class definition to header and converted methods to non-inline
src/ds/d400/d400-mipi-device.h Updated constructor signature
src/ds/d400/d400-mipi-device.cpp Updated to use new initialization pattern
src/ds/d400/d400-factory.cpp Updated all device constructors to use new initialization pattern
src/ds/d400/d400-device.h Moved d400_depth_sensor class definition from .cpp to header
src/ds/d400/d400-device.cpp Moved class definition to header and converted methods to non-inline
src/ds/advanced_mode/advanced_mode.cpp Major refactoring to support deferred initialization and debug interface usage
src/dds/rs-dds-device-proxy.h Added advanced mode support to DDS device proxy
src/dds/rs-dds-device-proxy.cpp Implemented advanced mode initialization for DDS devices
src/core/advanced_mode.h Refactored base class to support deferred initialization
Comments suppressed due to low confidence (1)

src/ds/advanced_mode/advanced_mode.cpp:1

  • The variable _fw_version is referenced but is no longer available in this scope since the firmware_version parameter was removed from the method signature. This code appears to be moved from a different context and needs to be updated.
// License: Apache 2.0. See LICENSE file in root directory.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/ds/advanced_mode/advanced_mode.cpp Outdated
Comment thread src/ds/d500/d500-device.h
Comment thread src/ds/d400/d400-device.h
Comment thread src/dds/rs-dds-device-proxy.cpp
Comment thread src/dds/rs-dds-device-proxy.cpp Outdated
Comment thread src/dds/rs-dds-device-proxy.cpp Outdated
Comment thread src/dds/rs-dds-device-proxy.h Outdated
Comment thread src/dds/rs-dds-device-proxy.h Outdated
Comment thread src/dds/rs-dds-device-proxy.h Outdated
Comment thread src/ds/advanced_mode/advanced_mode.cpp Outdated
Comment thread src/dds/rs-dds-device-proxy.cpp Outdated
Comment thread src/core/advanced_mode.h
@Nir-Az
Nir-Az marked this pull request as ready for review September 29, 2025 12:18
# License: Apache 2.0. See LICENSE file in root directory.
# Copyright(c) 2025 RealSense, Inc. All Rights Reserved.

# test:device each(D400*)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update once the FW supports it

@OhadMeir

Copy link
Copy Markdown
Contributor Author

CI run is successful using FW supporting advance controls on all machines.
image

@OhadMeir
OhadMeir merged commit c4cb393 into realsenseai:development Oct 15, 2025
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants