总体说明

OpenHiva提供了一套定时器接口(Hiva Timer),适用于需要周期性执行某个功能或者需要定时器的场景。Hiva Timer提供了与ROS Timer(具体参见ROS官网Code API中Timer类)入参一致的接口,包括定时器的创建、定时器的开始(Start)/停止(Stop)/设定周期(SetPeriod)/是否有效(IsValid)等功能。ROS Timer创建定时器的接口形态繁多,Hiva Timer只提供常用的创建接口,不提供通过TimerOptions进行配置的接口。

由于时钟源不同,框架提供了不同的定时器接口。目前支持的时钟源如下:

Hiva Timer提供的定时器接口如下:

  • 调用定时器接口前,请先调用OpenHiva::Init完成初始化。
  • 由于定时器任务易受系统时间影响,请不要在定时器任务进行过程中修改系统时间。
  • 定时器启动时应立即指定需要使用的时钟源,避免中途切换。因为时钟源的切换不会主动通知定时器,可能时钟源已经切换,但定时器仍基于切换前的时钟源计时。如果中途切换了时钟源,必须重启节点才能按照新的时钟源工作。