接口简介
数据面通信接口是业务和基础平台约定的实时通信类编程接口。它约束了用户的实时编程模型,指定了实时接口使用规范和规格。在接口的约束下,以平滑牵引当前业务代码满足机器人系统实时性为目标,最终实现基本的实时通信框架。
本章主要针对基础平台数据面子系统接口提供了说明,对系统软件的通信接口、定时器、配置管理等进行展开描述,助力用户更快、更高效地进行机器人业务应用开发。
 当前版本提供的API参考为试用接口,后续版本会存在变更,暂不支持应用于商用产品中。
接口分类  | 
关键接口  | 
接口简介  | 
头文件  | 
依赖的库文件  | 
|---|---|---|---|---|
初始化、退出和调度接口  | 
OpenHiva::Init  | 
初始化框架资源,如节点、线程组等。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/init.h  | 
Robot Middleware安装目录/robotmiddleware/sdk/lib/hiva/cm/libHivaOpen.so  | 
OpenHiva::Ready  | 
判断OpenHiva框架状态。  | 
|||
OpenHiva::Shutdown  | 
终止框架运行,释放资源。  | 
|||
OpenHiva::WaitForShutdown  | 
阻塞式调用,防止主线程提前退出,框架退出前会释放资源。  | 
|||
OpenHiva::SpinOnce  | 
调度groupName指定的group,订阅的Topic在指定group内会被调度处理消息。  | 
|||
OpenHiva::Node接口  | 
OpenHiva::Node  | 
构造函数,完成Node的初始化工作。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/node.h  | 
|
OpenHiva::Node::CreatePublisher  | 
创建发布者。  | 
|||
OpenHiva::Node::CreateSubscriber  | 
创建订阅者。  | 
|||
OpenHiva::Node::CreateServer  | 
创建Service的服务端。  | 
|||
OpenHiva::Node::CreateClient  | 
创建Service的客户端。  | 
|||
OpenHiva::Node::Ready  | 
判断Node是否关闭。  | 
|||
OpenHiva::Node::GetName  | 
获取Node的名字。  | 
|||
OpenHiva::Node::GetNameSpace  | 
获取Node的域名。  | 
|||
OpenHiva::TopicOptions接口  | 
OpenHiva::TopicOptions::BuildShmOptions  | 
设置SHM或DSF通信分配的内存块大小和内存块个数。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/topic_options.h  | 
|
OpenHiva::TopicOptions::BuildQueueOptions  | 
设置DSF通信的队列参数。  | 
|||
OpenHiva::TopicOptions::BuildGroupName  | 
设置Topic所属的groupName。  | 
|||
OpenHiva::TopicOptions::BuildTransportOptions  | 
设置Topic的通信方式。  | 
|||
OpenHiva::TopicOptions::BuildDDSQos  | 
设置Topic所属DDS通信的QoS策略。  | 
|||
OpenHiva::Publisher接口  | 
OpenHiva::Publisher::Publisher  | 
发布端的默认构造函数。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/publisher.h  | 
|
OpenHiva::Publisher::Publish  | 
消息发布函数。  | 
|||
OpenHiva::Publisher::Ready  | 
判断Publisher是否处于工作状态。  | 
|||
OpenHiva::Subscriber接口  | 
OpenHiva::Subscriber::Subscriber  | 
订阅端的默认构造函数。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/subscriber.h  | 
|
OpenHiva::Subscriber::Ready  | 
判断Subscriber是否处于工作状态。  | 
|||
OpenHiva::Subscriber::StartReadMessage  | 
启动接收消息。  | 
|||
OpenHiva::Subscriber::StopReadMessage  | 
停止接收消息。  | 
|||
OpenHiva::ServiceServer接口  | 
OpenHiva::ServiceServer::Enable  | 
使能服务端。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/service_server.h  | 
|
OpenHiva::ServiceServer::Disable  | 
去使能服务端。  | 
|||
OpenHiva::ServiceServer::Destroy  | 
释放OpenHiva::Node::CreateServer申请的资源。  | 
|||
OpenHiva::ServiceClient接口  | 
OpenHiva::ServiceClient::InvokeService  | 
客户端向服务端发送请求。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/open/service_client.h  | 
|
OpenHiva::ServiceClient::Destroy  | 
释放OpenHiva::Node::CreateClient申请的资源。  | 
|||
NnEngine接口  | 
Hiva::CreateNnEngine  | 
创建NN引擎。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/inner_topic/hiva_nn_topic.h  | 
Robot Middleware安装目录/robotmiddleware/sdk/lib/hiva/cm/libHivaNnengine.so  | 
Hiva::DestroyNnEngine  | 
销毁NN引擎。  | 
|||
定时器接口  | 
Hiva::CreateTimer  | 
创建Timer定时器。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/hiva_timer/timer.h  | 
Robot Middleware安装目录/robotmiddleware/sdk/lib/hiva/cm/libHivaTimer.so  | 
Hiva::Timer::Start  | 
启动Timer定时器。  | 
|||
Hiva::Timer::IsValid  | 
判断Timer定时器是否有效。  | 
|||
Hiva::Timer::SetPeriod  | 
重置Timer定时器周期。  | 
|||
Hiva::Timer::Stop  | 
停止Timer定时器。  | 
|||
Hiva::CreateWallTimer  | 
创建WallTimer定时器。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/hiva_timer/wall_timer.h  | 
||
Hiva::WallTimer::Start  | 
启动WallTimer定时器。  | 
|||
Hiva::WallTimer::IsValid  | 
判断WallTimer定时器是否有效。  | 
|||
Hiva::WallTimer::SetPeriod  | 
重置WallTimer定时器周期。  | 
|||
Hiva::WallTimer::Stop  | 
停止WallTimer定时器。  | 
|||
Hiva::CreateSteadyTimer  | 
创建SteadyTimer定时器。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/hiva_timer/steady_timer.h  | 
||
Hiva::SteadyTimer::Start  | 
启动SteadyTimer定时器。  | 
|||
Hiva::SteadyTimer::IsValid  | 
判断SteadyTimer定时器是否有效。  | 
|||
Hiva::SteadyTimer::SetPeriod  | 
重置SteadyTimer定时器周期。  | 
|||
Hiva::SteadyTimer::Stop  | 
停止SteadyTimer定时器。  | 
|||
配置管理相关接口  | 
CfgMgr::BatchReset  | 
批量删除持久化数据。  | 
Robot Middleware安装目录/robotmiddleware/sdk/include/hiva/cm/cfgmgr/param.h  | 
Robot Middleware安装目录/robotmiddleware/sdk/lib/hiva/cm/libcfgmgr_client.so  | 
CfgMgr::CancelMonitor  | 
取消检查。  | 
|||
CfgMgr::CleanStartConfig  | 
清理指定启动描述文件的数据。  | 
|||
CfgMgr::CreateSnapshot  | 
配置参数快照,记录当前所有持久化参数。  | 
|||
CfgMgr::CreateSnapshotToFile  | 
指定快照路径进行快照。  | 
|||
CfgMgr::DeleteSnapshot  | 
删除快照文件。  | 
|||
CfgMgr::Get  | 
读取配置参数。  | 
|||
CfgMgr::GetAllStartConfig  | 
获取当前所有的启动描述文件。  | 
|||
CfgMgr::GetAllSnapshot  | 
获取当前所有的快照文件名称及对应启动描述文件。  | 
|||
CfgMgr::GetStartConfig  | 
获取当前正在使用的启动描述文件。  | 
|||
CfgMgr::Has  | 
判断某参数是否存在。  | 
|||
CfgMgr::Load  | 
按yaml文件加载参数并进行持久化。  | 
|||
CfgMgr::Monitor  | 
检查指定参数。  | 
|||
CfgMgr::Param  | 
获取参数。  | 
|||
CfgMgr::Reload  | 
重新加载yaml文件。  | 
|||
CfgMgr::Reset  | 
删除持久化数据。  | 
|||
CfgMgr::RevertSnapshot  | 
按名称还原快照文件。  | 
|||
CfgMgr::RevertSnapshotFromFile  | 
指定路径进行恢复快照。  | 
|||
CfgMgr::Set  | 
设置参数。  | 
|||
CfgMgr::SetNextStartConfig  | 
设置启动参考描述文件。  | 
|||
CfgMgr::SetUpgrade  | 
使能系统重启后重新加载yaml文件。  |