GnssClock 結構參考
#include < gps.h >
資料欄位 | |
尺寸_t | 尺寸 |
Gnss時鐘標誌 | 旗幟 |
int16_t | 閏秒 |
int64_t | 時間_ns |
雙倍的 | time_uncertainty_ns |
int64_t | full_bias_ns |
雙倍的 | 偏差_ns |
雙倍的 | 偏差_不確定性_ns |
雙倍的 | 漂移_nsps |
雙倍的 | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
詳細說明
現場文檔
雙偏置_ns |
雙偏差_uncertainty_ns |
雙漂移_nsps |
雙漂移_不確定性_nsps |
int64_t full_bias_ns |
GPS 接收器內的硬體時鐘(「時間」欄位)與 1980 年 1 月 6 日 0000Z 以來的真實 GPS 時間之間的差異(以奈秒為單位)。
該值的符號由以下等式定義: GPS 時間的本地估計值 = time_ns - (full_bias_ns +bias_ns)
如果接收器有估計的 GPS 時間,則該值是必要的。如果計算的時間針對非 GPS 星座,則必須套用該星座相對於 GPS 的時間偏移來填充該值。此值與bias_ns總和的誤差估計是bias_uncertainty_ns,並且呼叫者負責使用這種不確定性(在解決GPS時間之前它可能非常大。)如果資料可用,「標誌」必須包含GNSS_CLOCK_HAS_FULL_BIAS。
uint32_t hw_clock_discontinuity_count |
當硬體時鐘存在任何不連續性時,此欄位是必需的。
「不連續性」旨在涵蓋從一個時鐘來源切換到另一個時鐘來源的情況。單一自由運行的晶體振盪器 (XO) 通常不應有任何不連續性,並且可以將其設為 0。
然而,如果 time_ns 值(硬體時鐘)源自複合源,不像典型的 XO 那樣平滑,或者以其他方式停止並重新啟動,則每次發生不連續時,該值應遞增。 (例如,該值可能在設備啟動時從零開始,並在每次時鐘連續性發生變化時遞增。萬一該值達到滿量程,則需要翻轉(而不是箝位),以便該值繼續在隨後的不連續事件期間發生變化。)
雖然這個數字保持不變,但在GnssClock報告之間,可以安全地假設 time_ns 值一直在連續運行,例如源自單個高品質時脈(類似 XO 或更好,通常在連續 GNSS 訊號採樣期間使用。 )
這是預期的,特別是。在可用 GNSS 訊號很少的時期,硬體時鐘應盡可能長時間地保持無中斷,因為這樣可以避免需要使用(浪費)GNSS 測量來完全解決 GPS 時鐘偏差和漂移,當使用來自連續GnssData報告的隨附測量值。
int16_t 閏秒 |
int64_t time_ns |
雙倍 time_uncertainty_ns |
該結構的文檔是從以下文件產生的:
- 硬體/libhardware/include/hardware/gps.h