网络时间同步

此模块包含用于控制网络时间同步服务的功能。

摘要

枚举

otNetworkTimeStatus{
  OT_NETWORK_TIME_UNSYNCHRONIZED = -1,
  OT_NETWORK_TIME_RESYNC_NEEDED = 0,
  OT_NETWORK_TIME_SYNCHRONIZED = 1
}
枚举
表示 OpenThread 时间同步状态。

类型定义符

otNetworkTimeStatus typedef
表示 OpenThread 时间同步状态。
otNetworkTimeSyncCallbackFn)(void *aCallbackContext) typedef
void(*
当发生网络时间同步或状态更改时,系统会调用指针。

函数

otNetworkTimeGet(otInstance *aInstance, uint64_t *aNetworkTime)
获取 Thread 网络时间。
otNetworkTimeGetSyncPeriod(otInstance *aInstance)
uint16_t
获取时间同步时间段。
otNetworkTimeGetXtalThreshold(otInstance *aInstance)
uint16_t
获取路由器的时间同步 XTAL 精度阈值。
otNetworkTimeSetSyncPeriod(otInstance *aInstance, uint16_t aTimeSyncPeriod)
设置时间同步周期。
otNetworkTimeSetXtalThreshold(otInstance *aInstance, uint16_t aXTALThreshold)
为支持路由器的设备设置时间同步 XTAL 精度阈值。
otNetworkTimeSyncSetCallback(otInstance *aInstance, otNetworkTimeSyncCallbackFn aCallbackFn, void *aCallbackContext)
void
设置在发生网络时间同步或状态变化时调用的回调。

枚举

otNetworkTimeStatus

 otNetworkTimeStatus

表示 OpenThread 时间同步状态。

属性
OT_NETWORK_TIME_RESYNC_NEEDED

设备未收到时间同步的时间超过两个时间段。

OT_NETWORK_TIME_SYNCHRONIZED

设备网络时间已同步。

OT_NETWORK_TIME_UNSYNCHRONIZED

设备未连接到网络。

类型定义符

otNetworkTimeStatus

enum otNetworkTimeStatus otNetworkTimeStatus

表示 OpenThread 时间同步状态。

otNetworkTimeSyncCallbackFn

void(* otNetworkTimeSyncCallbackFn)(void *aCallbackContext)

当发生网络时间同步或状态更改时,系统会调用指针。

函数

otNetworkTimeGet

otNetworkTimeStatus otNetworkTimeGet(
  otInstance *aInstance,
  uint64_t *aNetworkTime
)

获取 Thread 网络时间。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in,out] aNetworkTime
Thread 网络时间(以微秒为单位)。
返回值
时间同步状态。

otNetworkTimeGetSyncPeriod

uint16_t otNetworkTimeGetSyncPeriod(
  otInstance *aInstance
)

获取时间同步时间段。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
返回值
时间同步时间段。

otNetworkTimeGetXtalThreshold

uint16_t otNetworkTimeGetXtalThreshold(
  otInstance *aInstance
)

获取路由器的时间同步 XTAL 精度阈值。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
返回值
路由器的 XTAL 准确度阈值,以 PPM 为单位。

otNetworkTimeSetSyncPeriod

otError otNetworkTimeSetSyncPeriod(
  otInstance *aInstance,
  uint16_t aTimeSyncPeriod
)

设置时间同步周期。

只能在停用 Thread 协议时调用。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aTimeSyncPeriod
时间同步时间段(以秒为单位)。
返回值
OT_ERROR_NONE
已成功设置时间同步周期。
OT_ERROR_INVALID_STATE
已启用线程协议。

otNetworkTimeSetXtalThreshold

otError otNetworkTimeSetXtalThreshold(
  otInstance *aInstance,
  uint16_t aXTALThreshold
)

为支持路由器的设备设置时间同步 XTAL 精度阈值。

只能在停用 Thread 协议时调用。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aXTALThreshold
路由器的 XTAL 准确度阈值,以 PPM 为单位。
返回值
OT_ERROR_NONE
已成功设置时间同步周期。
OT_ERROR_INVALID_STATE
已启用线程协议。

otNetworkTimeSyncSetCallback

void otNetworkTimeSyncSetCallback(
  otInstance *aInstance,
  otNetworkTimeSyncCallbackFn aCallbackFn,
  void *aCallbackContext
)

设置在发生网络时间同步或状态变化时调用的回调。

仅当网络时间偏移值跳过 OPENTHREAD_CONFIG_TIME_SYNC_JUMP_NOTIF_MIN_US 或状态改变时,才应调用此回调。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aCallbackFn
要调用的回调函数
[in] aCallbackContext
调用时要传递给回调函数的上下文

OT_TIME_SYNC_INVALID_SEQ

 OT_TIME_SYNC_INVALID_SEQ 0

零被视为无效的时间同步序列。

资源

OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源