Skip to main content

get_phc_sync_status_x 时钟同步状态

POST /api/v1/clock/get_phc_sync_status_x

描述

获取PHC时钟同步状态接口,用于查询X86设备的PHC时钟同步状态。

1、时间源模式包含GNSS 同时 卫星PPS信号有效时,这时会通过ts2phc 工具抓取卫星输出的RMC报文,同时利用PPS信号事件实现对网卡硬件时钟(/dev/ptp_ethi210)的同步操作。 2、通过GNSS同步时间是生产环境中推荐的工作模式,这时网卡硬件时钟(/dev/ptp_ethi210)就是系统的基准时间,卫星同步给ptp_ethi210精度将会直接影响下游NTP和PTP授时精度,所以需要需要显示同步状态。

(1)ppsValid和timeSourceMode字段是否需要显示都可以,主要看前面页面适配的美观性,也可以做辅助判断。 注:ppsValid为true && timeSourceMode为“gnssNtp|gnssPTP|gnssOly”可以返回有效结果,即卫星正在给网卡硬件时钟(/dev/ptp_ethi210)进行同步。 (2)offset:时间偏移(ns) (3)syncStatus:同步状态标记,initial|coarse|fine|unknown (初始同步|粗同步|精确同步|未知) (4)freq:频率调整值(ppb)

访问权限

具备以下权限:

clock:get_phc_sync_status

JSON参数

请求参数如下:

{}

没有请求参数时候,需要传递一个空的JSON对象

响应结果

请求返回的HTTP状态码为200

{
"success": true|false,
"data"?: {
"offset": number, // 偏移量
"syncStatus": "init" | "coarse" | "fine" | "unknown", // 同步状态
"freq": number, // 频率
"gnssEnabled": boolean, // GNSS是否启用
"ppsValid": boolean, // PPS信号是否有效
"timeSourceMode": "gnssNtp"
},
"errorCode"?: "option string",
"errorMessage"?: "option string",
"showType"?: 0|1|2|4|9,
"traceId"?: "option string"
}
tip
  • offset: 偏移量,单位为纳秒
  • syncStatus: 同步状态,取值范围为"init"、"coarse"、"fine"、"unknown"
    • "init": 初始状态
    • "coarse": 粗同步状态
    • "fine": 精确同步状态
    • "unknown": 未知状态
  • gnssEnabled: GNSS是否启用
  • freq: 频率调整值,单位为ppb(parts per billion)
  • ppsValid: PPS信号是否有效
  • timeSourceMode: 时间源模式,取值范围为"gnssNtp" | "gnssPTP" | "gnssOnly" | "ptpOnly" | "ntpOnly"
    • "gnssNtp": GNSS和NTP模式
    • "gnssPTP": GNSS和PTP模式
    • "gnssOnly": 仅使用GNSS作为时间源
    • "ptpOnly": 仅使用PTP作为时间源
    • "ntpOnly": 仅使用NTP作为时间源

正确结果示例:

{
"success": true,
"data": {
      "offset": 864,
      "syncStatus": "Coarse", // 粗同步
      "freq": -22021,
      "gnssEnabled": true,
      "ppsValid": true,
      "timeSourceMode": "gnssNtp"
   }
}

结果示例:

{
   "success": true,
   "data": {
      "offset": 4,
      "syncStatus": "fine", // 精确同步
      "freq": -22761,
      "gnssEnabled": true,
      "ppsValid": true,
      "timeSourceMode": "gnssNtp"
   }
}

错误结果示例:

{
"success": false,
"errorCode": "40000",
"errorMessage": "no.blank.params",
"showType": 4
}