diff --git a/tools/dds/dds-config/readme.md b/tools/dds/dds-config/readme.md new file mode 100644 index 0000000000..89db952081 --- /dev/null +++ b/tools/dds/dds-config/readme.md @@ -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 |Device serial-number to use, if more than one device is available| +|--reset|Hardware reset without making any changes| +|--link-timeout |Milliseconds before --eth-first link times out and falls back to USB| +|--dhcp |DHCP dynamic IP discovery 'on' or 'off'| +|--ip
|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 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 +``` \ No newline at end of file diff --git a/tools/dds/dds-config/rs-dds-config.cpp b/tools/dds/dds-config/rs-dds-config.cpp index 39bbe1d1c9..22c898bd4c 100644 --- a/tools/dds/dds-config/rs-dds-config.cpp +++ b/tools/dds/dds-config/rs-dds-config.cpp @@ -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)" );