时间同步

2022-08-23
暂无评分

PSDK 时间同步相关功能的头文件为psdk_time_sync.h,本文档描述了psdk_time_sync.h 文件中结构体和函数原型的关键信息和使用方法。

结构体与宏定义

typedef struct T_PsdkTimeSyncAircraftTime

无人机中时间系统的数据结构

typedef struct {
    uint16_t year;uint8_t month;          月,112
    uint8_t day;            日,131
    uint8_t hour;           小时,023
    uint8_t minute;         分钟,059
    uint8_t second;         秒,059
    uint32_t microsecond;   微秒,0999999.
} T_PsdkTimeSyncAircraftTime;

typedef function GetNewestPpsTriggerLocalTimeUsCallback

功能:获取最新的PPS 触发的时间戳 product:all

构造用于获取最近的PPS 触发的时间戳的回调函数。

说明: 为防止该函数阻塞PSDK 的主线程,导致出现程序响应缓慢、相机类负载设备断连及死循环等问题,请勿以阻塞的方式在回调函数中执行该函数。

typedef T_PsdkReturnCode (*GetNewestPpsTriggerLocalTimeUsCallback)(uint64_t *localTimeUs);
参数
localTimeUs:pointer to memory space used to store PPS triggered timestamp
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

函数原型

function PsdkTimeSync_Init

功能:初始化时间同步功能模块 product:all

在使用时间同步功能时,请先以阻塞的方式初始化时间同步功能模块。

说明

  • 该接口执行的时间可能会超过 2000ms;
  • 调度器启动后,请在用户线程中调用该接口,请勿在主函数中调用该接口。
T_PsdkReturnCode PsdkTimeSync_Init(void);


返回值

根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkTimeSync_RegGetNewestPpsTriggerTimeCallback

功能:获取最新的时间戳 product:all

注册用于获取负载设备检测到PPS 信号上升沿时,负载设备本地最新的时间戳的回调函数。

说明: PSDK 使用时间戳同步负载设备和RTK 导航定位系统的时间戳。

T_PsdkReturnCode PsdkTimeSync_RegGetNewestPpsTriggerTimeCallback(GetNewestPpsTriggerLocalTimeUsCallback callback);
参数
callback:指向用于获取负载设备检测到PPS 信号上升沿时,负载设备本地最新的时间戳的回调函数


返回值

根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode

function PsdkTimeSync_TransferToAircraftTime

功能:时间转换 product:all

将负载设备的本地时间转换为无人机上的时间。

说明: 在使用本接口时,请调用PsdkTimeSync_RegGetNewestPpsTriggerTimeCallback() 注册用于获取负载设备检测到PPS 信号上升沿时,负载设备本地最新的时间戳的回调函数。

T_PsdkReturnCode PsdkTimeSync_TransferToAircraftTime(uint64_t localTimeUs, T_PsdkTimeSyncAircraftTime *aircraftTime);
参数
localTimeUs:负载设备中的本地时间,单位:微秒
aircraftTime:指向用于存储无人机系统时间的内存空间
返回值
根据程序执行的情况输出对应的返回值,详情请参见:PsdkErrorCode
最近修改: 8/23/2022, 8:30:21 AM
若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。