Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
351b416
RUM Phase 1: core stats engine
AviaAv Jun 15, 2026
e0e1f19
RUM Phase 1: public API + instrumentation hooks + python bindings
AviaAv Jun 15, 2026
95e8154
RUM Phase 1: uploader + local dev server
AviaAv Jun 15, 2026
afa21c3
RUM Phase 1: viewer consent + privacy + auto-upload
AviaAv Jun 15, 2026
ebdd728
RUM Phase 1: address review feedback
AviaAv Jul 23, 2026
5183219
D401 GMSL dual-RGB support fixes
ashrafk93 Aug 2, 2026
3410eac
guard MIPI color node selection and require an endpoint in option_model
Nir-Az Aug 2, 2026
7781841
address review comments on MIPI color-node selection and fisheye guard
Nir-Az Aug 2, 2026
8c248a9
viewer: add search box to filter sensor controls by name
AviaAv Aug 3, 2026
1f1fc83
d500: expose Dual-RGB / Dedicated-Color mode toggle as RS2_OPTION_SEN…
remibettan Aug 3, 2026
588bc86
d500: review follow-ups on sensors-config-mode option
remibettan Aug 3, 2026
a7db234
d500: address rs-agentic review comments on sensors-config-mode
remibettan Aug 3, 2026
002c414
viewer: revert redundant supports() guard on drawing_order
remibettan Aug 3, 2026
eb6ca19
RUM Phase 1: merge Online Services tab, encapsulate curl (BUILD_WITH_…
AviaAv Aug 3, 2026
b027586
Merge branch 'development' into mipi-node-guards
Nir-Az Aug 3, 2026
7ccdabc
gate positional MIPI color fallback on absent rs links; fold fisheye …
Nir-Az Aug 3, 2026
729c165
trim to the minimal crash guards: keep positional MIPI color selectio…
Nir-Az Aug 3, 2026
b8e18c6
drop the pointless loop from the MIPI node-count guard
Nir-Az Aug 3, 2026
92cedeb
d500: inline sensors_config_mode_option; PID-gate registration; reord…
remibettan Aug 4, 2026
5c0d079
viewer: move Sensors Config toggle back to the "more" popup
remibettan Aug 4, 2026
ea4ee29
d500: reuse d5x5_interactive_triggered_calibration_pids for sensors-c…
remibettan Aug 4, 2026
fe1b2c6
d500: rename d5x5_interactive_triggered_calibration_pids to d5x5_fami…
remibettan Aug 4, 2026
aeb0bc6
d500: drop client-side value validation in sensors_config_mode_option…
remibettan Aug 4, 2026
3f1667e
d500: self-review follow-ups on sensors-config-mode
remibettan Aug 4, 2026
4cde455
viewer: target the depth sensor directly for the Sensors Config toggle
remibettan Aug 4, 2026
aadc7a6
d500: address Nir review — drop FW probe, shrink docs, simplify overr…
remibettan Aug 4, 2026
f032291
d500: simplify sensors-config-mode to a plain uvc_xu_option
remibettan Aug 4, 2026
88695bc
stabilize test on slow CI machines
AviaAv Aug 4, 2026
f3a2727
Add search box to filter viewer controls by name (#15498)
AviaAv Aug 4, 2026
ed95dc3
removed wildcard
Binyaminp Aug 4, 2026
3e2238e
Migrate test-fw-update to pytest
Nir-Az Jul 28, 2026
2594c48
Address review: exclude D585S by marker, fix module priority default,…
Nir-Az Aug 4, 2026
95af73c
Update testing doc: legacy runner covers C++ tests only, python tests…
Nir-Az Aug 4, 2026
a371de2
Carry NIGHTLY FW filename regex into pytest-fw-update
Nir-Az Aug 4, 2026
c263b5a
Alternative fix: reuse project_shader for unmapped GL pointcloud
ashrafk93 Aug 4, 2026
e665bfa
fix missing {}
ashrafk93 Aug 4, 2026
dabfdd6
Render inside the GL action guard so depth state is set before use
ashrafk93 Aug 4, 2026
2e0f8e8
unify HTTP uploader/downloader behind a single curl_wrapper
AviaAv Aug 4, 2026
8b53dee
Shrink or truncate the device panel name to fit the header width
Binyaminp Aug 3, 2026
a397ade
Address review: binary-search truncation, RAII font-scale backstop, a…
Binyaminp Aug 3, 2026
b66811a
Raise min name font scale to 90% and add explicit gap before the conn…
Binyaminp Aug 3, 2026
956805e
Drop font-shrink fallback, truncate the name with ellipsis + tooltip …
Binyaminp Aug 3, 2026
b931344
Re-add 90% shrink fallback, drop the explicit space-width badge gap
Binyaminp Aug 3, 2026
3742a34
Trim one leading space from the connectivity badge label
Binyaminp Aug 3, 2026
2b14fe0
Scale the connectivity badge with the name; refactor fitting logic in…
Binyaminp Aug 4, 2026
b6a182e
TEMP: override device name for testing on hardware with short names -…
Binyaminp Aug 4, 2026
306c358
Revert "TEMP: override device name for testing on hardware with short…
Binyaminp Aug 4, 2026
2825704
Fit name and badge together against their combined scaled width; scop…
Binyaminp Aug 4, 2026
8279dd1
Shorten the fitted_string class comment
Binyaminp Aug 4, 2026
05a8140
Migrate test-fw-update to pytest (#15477)
Nir-Az Aug 4, 2026
4d3ecc0
reuse project_shader for unmapped GL pointcloud (#15505)
Nir-Az Aug 4, 2026
c1491ff
d500: Sensors Config Mode option (Dual-RGB / Dedicated-Color toggle o…
remibettan Aug 5, 2026
5b09490
Fix Numerical Instability in “Pose Inverse Compute”
rhabacker Jul 10, 2026
f5033c1
unit-tests: compare pose inverse round-trip approximately
Nir-Az Aug 5, 2026
3f6a652
log a warning when the fisheye sensor is reported available with no U…
Nir-Az Aug 5, 2026
aec4d31
Fix Numerical Instability in “Pose Inverse Compute” (#15394)
Nir-Az Aug 5, 2026
b8dc688
CI: run the system-nlohmann_json LibCI job on Ubuntu 26.04
Nir-Az Aug 5, 2026
6bf790b
Merge rs5x5_mipi into regular rs5x5
OhadMeir Aug 5, 2026
756d0ff
pre-release: pin industrial_ci host container to ros:jazzy-ros-core i…
Nir-Az Aug 4, 2026
8268944
pre-release: trim DOCKER_IMAGE comment to the load-bearing facts
Nir-Az Aug 5, 2026
50b4a1c
guard d500 motion streams
OhadMeir Aug 5, 2026
f556ef4
select the MIPI color node by its driver link name, keeping the posit…
Nir-Az Aug 5, 2026
c76b385
pre-release: move industrial_ci host container off EOL noetic/focal (…
Nir-Az Aug 5, 2026
44540ae
Merge rs_5x5_mipi variant into rs_5x5 class (#15510)
OhadMeir Aug 5, 2026
08b6d00
Disable FMA contraction to keep filter output identical across toolch…
Nir-Az Aug 5, 2026
b6f8486
Merge branch 'development' into libci-u26
Nir-Az Aug 5, 2026
ba78ea5
D401 GMSL dual-RGB support (#15419)
Nir-Az Aug 6, 2026
b0e5e62
CI: run the LibCI job on Ubuntu 26.04 (#15515)
Nir-Az Aug 6, 2026
f7988c3
Merge branch 'development' into mipi-node-guards
Nir-Az Aug 6, 2026
3d61083
Update package.xml
Nir-Az Aug 6, 2026
1262785
Guard the MIPI color-node index and the fisheye node list against out…
Nir-Az Aug 6, 2026
f7141e0
Merge branch 'development' into rum-phase1
Nir-Az Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 55 additions & 32 deletions .github/skills/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,14 @@

## Test Framework

- librealsense uses a **custom Python-based test framework**
- The test orchestrator is `unit-tests/run-unit-tests.py`
- Tests must be run **from the `unit-tests/` directory**
Two frameworks, split by test language:

- **C++ tests** (`test-*.cpp`) are orchestrated by the legacy runner `unit-tests/run-unit-tests.py`.
Keeping that runner for C++ testing is its only remaining purpose.
- **Python tests** (`pytest-*.py`) are pytest only. See `.github/skills/pytest-infra.md`.
No legacy `test-*.py` scripts remain, and `run-unit-tests.py` never collects `pytest-*.py`.

Either way, run **from the `unit-tests/` directory**.

## Test Categories

Expand All @@ -31,7 +36,21 @@
| `unit-tests/log/` | Logging | Logging infrastructure tests |
| `unit-tests/types/` | Types | Type system tests |

## Running All Tests
## Running the pytest Tests

```bash
cd unit-tests
python3 -m pytest -v # all collectable tests
python3 -m pytest -v live/frames # one directory
python3 -m pytest -v pytest-fw-update.py # one file
python3 -m pytest -v -k "hdr and not preset" # filter by test name
```

Flags are registered in `conftest.py`: `--live`, `--not-live`, `--device`, `--exclude-device`,
`--context`, `--tag`, `--repeat`, `--reruns`, `--debug`, `--rslog`, `--test-dir`. Note that `-s`
disables the per-test log files. See `.github/skills/pytest-infra.md` for fixtures and markers.

## Running the C++ Tests (legacy runner)

Navigate to the `unit-tests/` directory and run:

Expand All @@ -57,21 +76,23 @@ For full usage and all available flags:
python3 run-unit-tests.py --help
```

## Running Specific Tests
## Running Specific C++ Tests

The flags below belong to `run-unit-tests.py`, so they select among the C++ tests.
For pytest use `-k`, `-m` and the flags listed above.

### By Name (Regex)

Use `-r` / `--regex` to run tests whose names match a regular expression:

```bash
python3 run-unit-tests.py -s -r "test-hdr"
python3 run-unit-tests.py -s -r "test-metadata"
python3 run-unit-tests.py -s --regex "test-stream.*"
python3 run-unit-tests.py -s -r "test-log-vs-LOG"
python3 run-unit-tests.py -s --regex "rsutils-string.*"
```

**Test name derivation**: the orchestrator builds a test's name from its path relative to `unit-tests/`, replacing directory separators with `-` and stripping the leading `test-` from the filename. For example:
- `live/hw-reset/test-stress.py` → `test-live-hw-reset-stress`
- `func/test-hdr.py` → `test-func-hdr`
- `rsutils/string/test-hexarray.cpp` becomes `test-rsutils-string-hexarray`
- `log/test-vs-LOG-shared.cpp` becomes `test-log-vs-LOG-shared`

So when using `-r`, omit the `test-` filename prefix and join subdirectories with `-`.

Expand All @@ -80,18 +101,18 @@ So when using `-r`, omit the `test-` filename prefix and join subdirectories wit
Use `--skip-regex` to exclude tests whose names match:

```bash
python3 run-unit-tests.py -s --skip-regex "test-fw-update"
python3 run-unit-tests.py -s --skip-regex "test-rsutils-string-hexarray"
```

### By Tag

Use `-t` / `--tag` to run tests with a specific tag. Tags are assigned automatically based on:
- File type: `exe` (C++ binaries) or `py` (Python scripts)
Use `-t` / `--tag` to run tests with a specific tag. Tags come from:
- File type: `exe` (C++ binaries). The `py` tag matches nothing now that no legacy `test-*.py` remain.
- Directory location: e.g., tests in `unit-tests/live/` get the `live` tag
- An explicit `//#test:tag <name>` directive in the source file

```bash
python3 run-unit-tests.py -s -t live # run only live tests
python3 run-unit-tests.py -s -t py # run only Python tests
python3 run-unit-tests.py -s -t exe # run only compiled C++ tests
python3 run-unit-tests.py -s -t live -t exe # run tests that have BOTH tags
```
Expand Down Expand Up @@ -136,31 +157,34 @@ python3 run-unit-tests.py --rslog # enable LibRS debug logging in tests
python3 run-unit-tests.py --debug # enable framework debug output; also prints "test took X seconds" per test
```

## Running Nightly-Only Tests
## Running Nightly-Only and Weekly Tests

Some tests are marked `# test:donotrun:!nightly` and are **skipped by default**. Pass `--context nightly` to enable them:
Both runners take `--context`, which accepts a **space-separated list**.

pytest tests gated with `@pytest.mark.context("nightly")` are skipped unless the context is passed:

```bash
python3 run-unit-tests.py --context nightly -r hw-reset-stress ../build/Release
python3 -m pytest -v live/hw-reset/pytest-stress.py --context nightly
```

## Running Weekly Tests

Weekly tests use a higher iteration count / longer timeout (controlled by `'weekly' in test.context` inside the test). The `--context` flag accepts a **space-separated list**, so to run a nightly-guarded test with weekly behaviour pass **both** contexts:
A test that also scales its iteration count or timeout for weekly runs reads the context through the
`test_context_var` fixture, so pass both words to get nightly collection plus weekly behaviour:

```bash
# 'nightly' satisfies the test:donotrun:!nightly guard
# 'weekly' activates higher iteration counts and longer timeouts inside the test
python3 run-unit-tests.py --context "nightly weekly" -r hw-reset-stress ../build/Release
python3 -m pytest -v live/hw-reset/pytest-stress.py --context "nightly weekly"
```

Passing `--context weekly` alone is **not sufficient** — the `test:donotrun:!nightly` directive will still filter the test out.
C++ tests use a `//#test:donotrun:<context>` directive in the source file, evaluated by
`run-unit-tests.py` against the same `--context` list.

## Repeating and Retrying

```bash
python3 run-unit-tests.py --repeat 3 # repeat each test 3 times
python3 run-unit-tests.py --retry 2 # retry failed tests up to 2 times

python3 -m pytest --repeat 3 # pytest: repeat each file's tests 3 times
python3 -m pytest --reruns 2 # pytest: retry a failed test up to 2 times
```

## Recording and Playback (Mock Hardware)
Expand All @@ -185,7 +209,7 @@ This is useful for:
The `UNIT_TESTS_ARGS` CMake variable passes arguments to `unit-test-config.py` during configuration:

```bash
cmake .. -DBUILD_UNIT_TESTS=ON -DUNIT_TESTS_ARGS="-t live -r test-streaming"
cmake .. -DBUILD_UNIT_TESTS=ON -DUNIT_TESTS_ARGS="-t live -r rsutils-string.*"
```

## Using a Custom Test Directory
Expand All @@ -196,17 +220,16 @@ python3 run-unit-tests.py --test-dir /path/to/custom/tests

## Custom Firmware for Testing

The SDK no longer ships a bundled firmware blob, so `test-fw-update` **requires** a custom firmware path for the device under test. Without one it logs a warning and skips. Download a signed `.bin` from <https://dev.realsenseai.com/docs/firmware-updates>, then:
The SDK no longer ships a bundled firmware blob, so `pytest-fw-update` **requires** a custom firmware path for the device under test. Without one it skips. Download a signed `.bin` from <https://dev.realsenseai.com/docs/firmware-updates>, then:

```bash
python3 run-unit-tests.py --custom-fw-d400 /path/to/firmware.bin
python3 run-unit-tests.py --custom-fw-d555 /path/to/firmware.bin
python3 run-unit-tests.py --custom-fw-d585 /path/to/firmware.bin
python3 -m pytest pytest-fw-update.py --custom-fw-d400 /path/to/firmware.bin
python3 -m pytest pytest-fw-update.py --custom-fw-d555 /path/to/firmware.bin
python3 -m pytest pytest-fw-update.py --custom-fw-d585 /path/to/firmware.bin
```

`--custom-fw-d585` is only ever flashed onto a device whose name contains "D585" but not "D585S"
(e.g. "D585 Prototype") -- the safety SKU D585S is never updated with it, even though the
`#test:device each(D585)` directive dispatches the test for both (D585S just logs a skip).
`--custom-fw-d585` targets the non-safety D585 only (e.g. "D585 Prototype"). The safety SKU is kept
out of the test by `pytest.mark.device_exclude("D585S")`, so it is never collected and never flashed.

## Troubleshooting

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/buildsCI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:


#--------------------------------------------------------------------------------
Win_SH_EX_CfU: # Windows, shared, with Examples & Tools, and Check for Updates
Win_SH_EX_CfU_Stats: # Windows, shared, with Examples & Tools, Check for Updates, and RUM stats (ENABLE_STATS)
runs-on: windows-2025
timeout-minutes: 60
steps:
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
cd ${{env.WIN_BUILD_DIR}}
pwd
ls
cmake ${LRS_SRC_DIR} -A x64 -DBUILD_SHARED_LIBS=true -DBUILD_EXAMPLES=true -DBUILD_TOOLS=true -DCHECK_FOR_UPDATES=true
cmake ${LRS_SRC_DIR} -A x64 -DBUILD_SHARED_LIBS=true -DBUILD_EXAMPLES=true -DBUILD_TOOLS=true -DCHECK_FOR_UPDATES=true -DENABLE_STATS=ON

- name: Build
# Build your program with the given configuration
Expand Down Expand Up @@ -368,7 +368,7 @@ jobs:


#--------------------------------------------------------------------------------
U22_SH_Py_CI: # Ubuntu 2020, Shared, Python, LibCI with executables
U22_SH_Py_CI: # Ubuntu 2020, Shared, Python, LibCI with executables, and RUM stats (ENABLE_STATS)
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
Expand Down Expand Up @@ -397,7 +397,7 @@ jobs:
shell: bash
run: |
cd build
cmake .. -DCMAKE_BUILD_TYPE=${{env.LRS_RUN_CONFIG}} -DBUILD_SHARED_LIBS=true -DBUILD_EXAMPLES=false -DBUILD_TOOLS=true -DBUILD_UNIT_TESTS=true -DUNIT_TESTS_ARGS="--not-live --context=linux" -DCHECK_FOR_UPDATES=false -DBUILD_WITH_DDS=false -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE=$(which python3)
cmake .. -DCMAKE_BUILD_TYPE=${{env.LRS_RUN_CONFIG}} -DBUILD_SHARED_LIBS=true -DBUILD_EXAMPLES=false -DBUILD_TOOLS=true -DBUILD_UNIT_TESTS=true -DUNIT_TESTS_ARGS="--not-live --context=linux" -DCHECK_FOR_UPDATES=false -DBUILD_WITH_DDS=false -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE=$(which python3) -DENABLE_STATS=ON
cmake --build . -- -j4

- name: LibCI
Expand All @@ -413,8 +413,8 @@ jobs:
python3 -m pytest unit-tests/ --color=no --debug -s --not-live --context "linux"

#--------------------------------------------------------------------------------
U24_SH_Py_CI_SYS_JSON: # Ubuntu 24.04, Shared, Python, LibCI with executables and system provided nlohmann_json library
runs-on: ubuntu-24.04
U26_SH_Py_CI_SYS_JSON: # Ubuntu 26.04, Shared, Python, LibCI with executables and system provided nlohmann_json library
runs-on: ubuntu-26.04
timeout-minutes: 60
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ jobs:
ROS_DISTRO: ${{ matrix.ros_distro }}
PRERELEASE: true
BASEDIR: ${{ github.workspace }}/.work
# industrial_ci defaults the prerelease host container to ros:noetic-ros-core
# (focal, EOL). Must stay a ros:* image — setting DOCKER_IMAGE disables
# industrial_ci's ROS apt setup, so colcon must be installable already.
DOCKER_IMAGE: ros:jazzy-ros-core

steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4
Expand Down
4 changes: 2 additions & 2 deletions CMake/external_libcurl.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if(CHECK_FOR_UPDATES)
if(CHECK_FOR_UPDATES OR ENABLE_STATS)

pop_security_flags() # remove security flags

Expand Down Expand Up @@ -65,4 +65,4 @@ if(CHECK_FOR_UPDATES)
endif()

push_security_flags()
endif() #CHECK_FOR_UPDATES
endif() #CHECK_FOR_UPDATES OR ENABLE_STATS
13 changes: 12 additions & 1 deletion CMake/global_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ macro(global_set_flags)
add_definitions(-DBUILD_SHARED_LIBS)
endif()

if (ENABLE_STATS)
add_definitions(-DENABLE_STATS)
endif()

if (BUILD_WITH_CUDA)
include(CMake/cuda_config.cmake)
endif()
Expand All @@ -87,10 +91,17 @@ macro(global_set_flags)
message(STATUS "CHECK_FOR_UPDATES depends on BUILD_GRAPHICAL_EXAMPLES flag, turning it off..")
set(CHECK_FOR_UPDATES false)
else()
include(CMake/external_libcurl.cmake)
add_definitions(-DCHECK_FOR_UPDATES)
endif()
endif()

# libcurl is needed by sw-update (CHECK_FOR_UPDATES) and RUM cloud upload (ENABLE_STATS).
# BUILD_WITH_LIBCURL is the derived "curl is linked" guard - gates the shared "Online Services"
# viewer tab that hosts both features.
if(CHECK_FOR_UPDATES OR ENABLE_STATS)
include(CMake/external_libcurl.cmake)
add_definitions(-DBUILD_WITH_LIBCURL)
endif()

add_definitions(-D${BACKEND} -DUNICODE)
endmacro()
Expand Down
1 change: 1 addition & 0 deletions CMake/lrs_options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,5 @@ option(USE_EXTERNAL_LZ4 "Use externally build LZ4 library instead of building an
option(USE_EXTERNAL_NLOHMANN_JSON "Use an externally built nlohmann-json development package instead of downloading it as part of this build" OFF)
option(BUILD_ASAN "Enable AddressSanitizer" OFF)
option(BUILD_ROSBAG2 "Build and use rosbag2 recording system" ON) # temporary flag, should be removed when deprecated ROSBAG1 recording system is removed
option(ENABLE_STATS "Enable RUM (Real User Monitoring) usage-statistics collection" OFF)
mark_as_advanced(BUILD_ASAN)
5 changes: 5 additions & 0 deletions CMake/unix_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ macro(os_set_flags)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wno-missing-field-initializers")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-switch -Wno-multichar -Wsequence-point -Wformat -Wformat-security")

# Default -ffp-contract=fast fuses a*b+c*d into an FMA wherever the ISA has one (x86-64-v3
# on Ubuntu 26.04, always on aarch64), dropping a rounding and shifting filter output 1 LSB.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-contract=off")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffp-contract=off")

execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE MACHINE)
if(${MACHINE} MATCHES "arm64-*" OR ${MACHINE} MATCHES "aarch64-*")
if(BUILD_WITH_NEON)
Expand Down
17 changes: 15 additions & 2 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,15 @@ set(COMMON_SRC
"${CMAKE_CURRENT_LIST_DIR}/textual-icons.h"
)

set(HTTP_FILES
"${CMAKE_CURRENT_LIST_DIR}/http/curl-wrapper.h"
"${CMAKE_CURRENT_LIST_DIR}/http/curl-wrapper.cpp"
"${CMAKE_CURRENT_LIST_DIR}/http/http-downloader.h"
"${CMAKE_CURRENT_LIST_DIR}/http/http-downloader.cpp"
"${CMAKE_CURRENT_LIST_DIR}/http/http-uploader.h"
)

set(SW_UPDATE_FILES
"${CMAKE_CURRENT_LIST_DIR}/sw-update/http-downloader.h"
"${CMAKE_CURRENT_LIST_DIR}/sw-update/http-downloader.cpp"
"${CMAKE_CURRENT_LIST_DIR}/sw-update/dev-updates-profile.h"
"${CMAKE_CURRENT_LIST_DIR}/sw-update/dev-updates-profile.cpp"
"${CMAKE_CURRENT_LIST_DIR}/sw-update/versions-db-manager.h"
Expand All @@ -98,10 +104,17 @@ set(UTILITIES_FILES
"${CMAKE_CURRENT_LIST_DIR}/utilities/imgui/wrap.cpp"
)

set(RUM_UPLOADER_FILES
"${CMAKE_CURRENT_LIST_DIR}/rum-uploader/rum-uploader.h"
"${CMAKE_CURRENT_LIST_DIR}/rum-uploader/rum-uploader.cpp"
)

set(COMMON_SRC
${COMMON_SRC}
${HTTP_FILES}
${SW_UPDATE_FILES}
${REFLECTIVITY_FILES}
${UTILITIES_FILES}
${RUM_UPLOADER_FILES}
)

4 changes: 2 additions & 2 deletions common/d500-on-chip-calib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ namespace rs2

bool d500_on_chip_calib_manager::uses_interactive_triggered_calibration() const
{
// Mirrors ds::d5x5_interactive_triggered_calibration_pids in src/ds/d500/d500-private.h —
// the viewer cannot include SDK-internal headers. Keep the two lists in sync when adding new PIDs.
// Mirrors ds::d5x5_family_pids in src/ds/d500/d500-private.h — the viewer cannot include
// SDK-internal headers. Keep the two lists in sync when adding new PIDs.
static const std::set< std::string > interactive_triggered_calibration_pids = {
"0C01", "0C02", "0C03", "0C04", "0C05", "0C06", "0C07", "0C08"
};
Expand Down
Loading
Loading