目錄
- FASTDDS_DEFAULT_PROFILES_FILE
- SKIP_DEFAULT_XML
- FASTDDS_BUILTIN_TRANSPORTS
- ROS_DISCOVERY_SERVER
- ROS_SUPER_CLIENT
- FASTDDS_STATISTICS
- FASTDDS_ENVIRONMENT_FILE
我們承擔ROS,FastDDS,C++,cmake等技術的項目開發和專業指導和培訓,有10年+相關工作經驗,質量有保證,如有需要請私信聯系。
FASTDDS_DEFAULT_PROFILES_FILE
指定默認的xml配置文件的位置,Fast DDS會自動加載
## linux下設置
export FASTDDS_DEFAULT_PROFILES_FILE=/home/user/profiles.xml
## win下設置
set FASTDDS_DEFAULT_PROFILES_FILE=C:\profiles.xml
SKIP_DEFAULT_XML
跳過默認xml配置文件的加載。如果是1,就會加載代碼中定義的參數而不是默認DEFAULT_FASTDDS_PROFILES.xml配置文件中
## Linux
export SKIP_DEFAULT_XML=1
## windows
set SKIP_DEFAULT_XML=1
FASTDDS_BUILTIN_TRANSPORTS
這個環境變量允許修改DomainParticipant創建階段的內置transports的創建。有以下值:
- NONE:沒有transport 被創建,因此除非用戶手動添加期望的transport,否則participant 的創建就會失敗(怎樣手動添加?)
- DEFAULT:UDPv4 和SHM transports會創建。這也是默認的創建。SHM比UDPv4 優先級高,這意味著在可能的情況下SHM總會被使用
- DEFAULTv6:UDPv6 和SHM transports會被創建。SHM 比UDPv6 優先級高,這意味著在可能的情況下SHM總會被使用
- SHM:只有SHM 會被創建
- UDPv4:只有UDPv4 會被創建
- UDPv6:只有UDPv6 會被創建
- LARGE_DATA:UDPv4, TCPv4, 和SHM會被創建,但UDPv4只有在組播服務發現的時候會被使用。participant 的liveliness 和應用程序的數據發送是通過TCP和SHM。這個配置對于使用大數據時有用。
注意:
- 這個環境變量的值只有當 use_builtin_transports被設置為true的時候才使用到;
- TCPv4傳輸方式還有以下限制:
- calculate_crc, check_crc 和apply_security被設置為false
- enable_tcp_nodelay被設置為true
- keep_alive_thread 和 accept_thread使用默認值
ROS_DISCOVERY_SERVER
當服務發現協議為SIMPLE, SERVER, 或 BACKUP時生效。其他情況下這個環境變量不生效。
ROS_SUPER_CLIENT
當DomainParticipant的discovery protocol被設置為SIMPLE, ROS_SUPER_CLIENT 被設置為TRUE,participant 被自動提升為SUPER_CLIENT
FASTDDS_STATISTICS
這個環境變量的生效需要在CMake中將FASTDDS_STATISTICS 選項開關打開。
FASTDDS_ENVIRONMENT_FILE
通過這個環境變量指定的json文件加載環境變量,這樣就可以做到在運行期間修改某一些環境變量的值(只在文件中修改和保存),環境變量的值可以是絕對也可以是相對路徑。
{"environment_variable_name_1": "environment_variable_value_1","environment_variable_name_2": "environment_variable_value_2"
}