自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release 而非 aosp-main 构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
  
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      使用集合让一切井井有条
    
    
      
      根据您的偏好保存内容并对其进行分类。
    
  
  
    
  
  
  
  
    
  
  
    
    
    
  
  GnssClock 结构体参考文档
 
  
   #include <
   
    gps.h
   
   >
  
 
 
 
 
 
 
  
   表示 GPS 时钟时间的估算值。
  
  
   定义位于文件 
    gps.h
    的 
    1455 行
   。
  
  
 
 
 
 
  
  
   
    亚纳秒级偏差。此值与 full_bias_ns 之和的误差估算值为 bias_uncertainty_ns
   
   
    如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_BIAS。GPS 是否已计算出位置信息。如果接收器具有估算的 GPS 时间,则此值为必需值。
   
   
    定义位于文件 
     gps.h
     的 
     1534
     行。
   
   
  
 
 
 
  
   
    
     | double bias_uncertainty_ns | 
   
   
  
   
    与 GPS 时间的本地估算值(时钟偏差)相关的 1 标准差不确定性(以纳秒为单位)。不确定性表示为绝对(单边)值。
   
   
    如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_BIAS_UNCERTAINTY。如果接收器具有估算的 GPS 时间,则此值为必需值。
   
   
    定义位于文件 
     gps.h
     的 
     1545
     行。
   
   
  
 
 
 
  
  
   
    时钟漂移(以纳秒为单位,每秒)。
   
   
    正值表示频率高于标称频率,并且 (full_bias_ns + bias_ns) 会随着时间的推移变得越来越正。
   
   
    该值包含“漂移不确定性”。如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_DRIFT。
   
   
    如果接收器具有估算的 GNSS 时间,则此值为必需值
   
   
    定义位于文件 
     gps.h
     的 
     1559
     行。
   
   
  
 
 
 
  
   
    
     | double drift_uncertainty_nsps | 
   
   
  
   
    与时钟偏差相关的 1 标准差不确定性(以纳秒为单位 [每秒])。不确定性表示为绝对(单边)值。
   
   
    如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY。如果 GPS 已计算出位置信息,则此字段为必填字段,必须填充。
   
   
    定义位于文件 
     gps.h
     的 
     1569
     行。
   
   
  
 
 
 
  
  
   
    一组标志,用于指示此数据结构中字段的有效性。
   
   
    定义位于文件 
     gps.h
     的 
     1463
     行。
   
   
  
 
 
 
  
  
   
    GPS 接收器内的硬件时钟(“time”字段)与自 1980 年 1 月 6 日 0000Z 以来的真实 GPS 时间之间的差值(以纳秒为单位)。
   
   
    值的符号由以下等式定义:GPS 时间的本地估算值 = time_ns - (full_bias_ns + bias_ns)
   
   
    如果接收器具有估算的 GPS 时间,则此值为必需值。如果计算的时间是针对非 GPS 星座,则必须应用该星座与 GPS 的时间偏移来填充此值。此值与偏差_ns 之和的误差估算值为偏差_不确定性_ns,调用方负责使用此不确定性(在求解 GPS 时间之前,此值可能非常大)。如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_FULL_BIAS。
   
   
    定义位于文件 
     gps.h
     的 
     1523
     行。
   
   
  
 
 
 
  
   
    
     | uint32_t hw_clock_discontinuity_count | 
   
   
  
   
    如果硬件时钟存在任何不连续性,则此字段为必填字段。
   
   
    “不连续”是指从一个时钟源切换到另一个时钟源的情况。单个自由运行晶体振荡器 (XO) 通常不应有任何不连续性,因此可以将其设置为 0 并保持不变。
   
   
    不过,如果 time_ns 值(硬件时钟)是从多个来源派生的,并且不如典型 XO 那样平滑,或者以其他方式停止并重启,则每当出现不连续性时,此值都应递增。(例如,此值在设备启动时可能从 0 开始,并且每次时钟连续性发生变化时都会递增。如果此值达到满刻度(这种情况不太可能发生),则需要进行滚动(而非钳制),以便在后续断点事件期间此值继续发生变化。)
   
   
    虽然此数字在 
     GnssClock
     报告之间保持不变,但可以安全地假定 time_ns 值一直在运行,例如从单个高质量时钟派生(通常在连续 GNSS 信号采样期间使用,类似于 XO 或更高质量)。
   
   
    预计,尤其是在可用的 GNSS 信号较少时,硬件时钟应尽可能保持连续性,因为这样可以避免在使用连续 
     GNSSData
     报告中的随附测量值时,需要使用(浪费)GNSS 测量值来完全重新解算 GPS 时钟偏差和漂移。
   
   
    定义位于文件 
     gps.h
     的 
     1600
     行。
   
   
  
 
 
 
  
  
   
    闰秒数据。值的符号由以下等式定义:utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1,000,000,000
   
   
    如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_LEAP_SECOND。
   
   
    定义位于文件 
     gps.h
     的 
     1473
     行中。
   
   
  
 
 
 
 
 
 
  
  
   
    GNSS 接收器内部时钟值。这是本地硬件时钟值。
   
   
    对于本地硬件时钟,此值预计会在硬件时钟保持开机状态时单调递增。(对于硬件时钟未持续开启的情况,请参阅 hw_clock_discontinuity_count 字段)。从此值中减去 full_bias_ns 和 bias_ns(如果可用)的总和,即可得出接收器的 GPS 时间估算值。
   
   
    此 GPS 时间预计是 GNSS 接收器能够实现的当前 GPS 时间的最佳估算值。
   
   
    可以通过“bias_ns”字段提供亚纳秒级精度。该值包含“时间不确定性”。
   
   
    此字段是必填字段。
   
   
    定义位于文件 
     gps.h
     的 
     1494
     行。
   
   
  
 
 
 
  
   
    
     | double time_uncertainty_ns | 
   
   
  
   
    与时钟时间相关联的 1 标准差不确定性(以纳秒为单位)。不确定性表示为绝对(单边)值。
   
   
    如果数据可用,“标志”必须包含 GNSS_CLOCK_HAS_TIME_UNCERTAINTY。此值实际上为零(它是参考本地时钟,所有其他时间和时间不确定性均以此为依据进行测量)。(因此,根据 GNSS_CLOCK_HAS_TIME_UNCERTAINTY 标志,可以不提供此字段,也可以提供并将其设置为 0。)
   
   
    定义位于文件 
     gps.h
     的 
     1506
     行。
   
   
  
 
 此结构体的文档是根据以下文件生成的:
 
  - 
   hardware/libhardware/include/hardware/
   
    gps.h
   
  
 
 
  
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
  最后更新时间 (UTC):2025-07-27。
  
  
  
    
      [[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-27。"],[],[]]