自 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-03-26。
[[["易于理解","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-03-26。"],[],[]]