目录
- 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"
}