产品支持情况
产品
|
是否支持
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
x
|
Atlas 200I/500 A2 推理产品
|
√
|
Atlas 推理系列产品
|
x
|
Atlas 训练系列产品
|
x
|
Atlas 200/300/500 推理产品
|
x
|
功能说明
读取配置参数,可按参数名或namespace来读取。
函数原型
| uint32_t CfgMgr::Get(const std::string &kParam, T &value, const std::string &srv = "")
|
参数说明
参数名
|
输入/输出
|
说明
|
kParam
|
输入
|
key值,为参数名称或参数名称域(namespace),例如/ros/use_sim_time、/ros,key值开头加不加“/”都可以。
|
srv
|
输入
|
参数组,和资源文件对应,不填则默认到有权限的参数组中获取参数,效率会降低。
|
value
|
输出
|
用于接收参数的值。由用户指定参数类型,支持的类型参见本表“使用说明”。
|
返回值
返回uint32_t类型,表示本次获取参数成功与否。成功返回CFGMGR_SUCCESS,失败返回对应的错误码。
约束说明
- 非模板函数,针对各种类型进行重载,value值支持的类型有:std::string、double、float、int、bool、std::vector<std::string>、std::vector<double>、std::vector<float>、std::vector<int>、std::vector<bool>、std::map<std::string, std::string>、std::map<std::string, double>、std::map<std::string, float>、std::map<std::string, int>、std::map<std::string, bool>。
- 按参数名称域来获取参数时,value值类型必须为map类型。如果该名称域下的参数类型不一致,value值需为std::map<std::string, std::string>类型,表示键值对。
- 参数组指yaml_path中填的group,需和虚拟资源文件对应,用于权限管理。
- key值需小于128个字节、单个value值需小于256个字节。
- 获取参数后,建议根据业务逻辑判断参数有效性。
- 对于map类型参数,Get时不会清空入参value中的原有数据,只会修改或新增。
- 参数获取失败或判断无效时,需自行判断是否需要上报故障或其他处理。
- 接口返回失败,可能的原因有:没权限、不存在该参数、加载参数时未加载成功、数据传输失败(管理面)。