Google 致力于为黑人社区推动种族平等。查看具体行动

网络时间同步

此模块包含控制网络时间同步服务的函数。

总结

枚举

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
线程网络时间(以微秒为单位)。
返回值
时间同步状态。

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
)

设置时间同步时间段。

只有在线程协议停用的情况下才能调用此函数。

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

otNetworkTimeSetXtalThreshold

otError otNetworkTimeSetXtalThreshold(
  otInstance *aInstance,
  uint16_t aXTALThreshold
)

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

只有在线程协议停用的情况下才能调用此函数。

详细信息
参数
[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 上的源代码。 如需了解详情或为我们的文档做贡献,请参阅资源