Skip to content

Commit

Permalink
PR #13525 from Noy-Zini: Add rs-dds-config tool readme
Browse files Browse the repository at this point in the history
  • Loading branch information
OhadMeir authored Nov 20, 2024
2 parents 48050a2 + d9b6788 commit 630826a
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 3 deletions.
61 changes: 61 additions & 0 deletions tools/dds/dds-config/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# dds-config tool

## Goal
This tool is used to configure Ethernet based devices.

## Description
The dds-config tool offers connection configuration information for connected devices and allows users to manage connection priorities.
It enables the selection of the preferred connection method, whether Ethernet or USB, when both options are available, and provides the ability to set network parameters.

## Command Line Parameters
| Flag | Description |
|---|---|
|-h --help|Show command line help menu with all available options|
|--version|Displays version information|
|--usb-first|Prioritize USB and fall back to Ethernet after link timeout|
|--eth-first|Prioritize Ethernet and fall back to USB after link timeout|
|--dynamic-priority|Dynamically prioritize the last-working connection method (the default)|
|--serial-number <S/N>|Device serial-number to use, if more than one device is available|
|--reset|Hardware reset without making any changes|
|--link-timeout <milliseconds>|Milliseconds before --eth-first link times out and falls back to USB|
|--dhcp <on/off>|DHCP dynamic IP discovery 'on' or 'off'|
|--ip <address>|Device static IP address to use when DHCP is off|
|--mask <1.2.3.4>|Device static IP network mask to use when DHCP is off|
|--gateway <1.2.3.4>|Gateway to use when DHCP is off|
|--domain-id <0-232>|DDS Domain ID to use (default is 0), note:this is the device domain ID not librealsense domain ID|
|--dhcp-timeout <seconds>|Seconds before DHCP times out and falls back to a static IP|
|--no-reset|Do not hardware reset after changes are made|
|--golden| Show R/O golden values vs. current; mutually exclusive with any changes|
|--factory-reset|Reset settings back to the --golden values|

## Usage example
Prioritize Ethernet connection by using `rs-dds-config.exe --eth-first`:
```
Device: [USB] Intel RealSense D555 s/n 338522301774
MAC address: 98:4f:ee:19:cc:49
configured: 192.168.11.55 & 255.255.255.0 / 192.168.11.1
DDS:
domain ID: 0
link: 1000 Mbps
MTU, bytes: 9000
timeout, ms: 10000
priority: usb-first --> eth-first
DHCP: OFF
timeout, sec: 30
Successfully changed
Resetting device...
```
After running `rs-dds-config.exe` we can now see the device changed it's connection to DDS:
```
Device: [DDS] Intel RealSense D555 s/n 338522301774
MAC address: 98:4f:ee:19:cc:49
configured: 192.168.11.55 & 255.255.255.0 / 192.168.11.1
DDS:
domain ID: 0
link: 1000 Mbps
MTU, bytes: 9000
timeout, ms: 10000
priority: eth-first
DHCP: OFF
timeout, sec: 30
```
6 changes: 3 additions & 3 deletions tools/dds/dds-config/rs-dds-config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,19 +151,19 @@ try

cli::flag quiet_arg( "quiet", "Suppress regular informational (-I-) messages" );
cli::flag reset_arg( "reset", "Hardware reset without making any changes" );
cli::flag disable_arg( "disable", "Disable DDS in all librealsense examples & tools by default and exit" );
cli::flag disable_arg( "disable", "Disable DDS in all librealsense examples & tools by default" );
cli::flag no_reset_arg( "no-reset", "Do not hardware reset after changes are made" );
cli::flag golden_arg( "golden", "Show R/O golden values vs. current; mutually exclusive with any changes" );
cli::flag factory_reset_arg( "factory-reset", "Reset settings back to the --golden values" );
cli::value< std::string > sn_arg( "serial-number", "S/N", "", "Device serial-number to use, if more than one device is available" );
cli::value< std::string > ip_arg( "ip", "address", "", "Device static IP address to use when DHCP is off" );
cli::value< std::string > mask_arg( "mask", "1.2.3.4", "", "Device static IP network mask to use when DHCP is off" );
cli::value< std::string > gateway_arg( "gateway", "1.2.3.4", "", "Device static IP network mask to use when DHCP is off" );
cli::value< std::string > gateway_arg( "gateway", "1.2.3.4", "", "Gateway to use when DHCP is off" );
cli::value< std::string > dhcp_arg( "dhcp", "on/off", "on", "DHCP dynamic IP discovery 'on' or 'off'" );
cli::value< uint32_t > dhcp_timeout_arg( "dhcp-timeout", "seconds", 30, "Seconds before DHCP times out and falls back to a static IP" );
cli::value< uint32_t > link_timeout_arg( "link-timeout", "milliseconds", 4000, "Milliseconds before --eth-first link times out and falls back to USB" );
cli::value< int > domain_id_arg( "domain-id", "0-232", 0, "DDS Domain ID to use (default is 0)" );
cli::flag usb_first_arg( "usb-first", "Prioritize USB before Ethernet" );
cli::flag usb_first_arg( "usb-first", "Prioritize USB and fall back to Ethernet after link timeout" );
cli::flag eth_first_arg( "eth-first", "Prioritize Ethernet and fall back to USB after link timeout" );
cli::flag dynamic_priority_arg( "dynamic-priority", "Dynamically prioritize the last-working connection method (the default)" );

Expand Down

0 comments on commit 630826a

Please sign in to comment.