Zeitdienst

Dieses Modul enthält die Plattformabstraktion für den Zeitdienst.

Zusammenfassung

Funktionen

otPlatTimeGet(void)
uint64_t
Ruft die aktuelle Plattformzeit in Mikrosekunden ab, die auf eine kontinuierliche monotone lokale Uhr (64-Bit-Breite) verweist.
otPlatTimeGetXtalAccuracy(void)
uint16_t
Ermitteln Sie die aktuelle geschätzte Worst-Case-Genauigkeit (maximale ±-Abweichung von der Nennfrequenz) der lokalen Plattformuhr in PPM.

Funktionen

otPlatTimeGet

uint64_t otPlatTimeGet(
  void
)

Ruft die aktuelle Plattformzeit in Mikrosekunden ab, die auf eine kontinuierliche monotone lokale Uhr (64-Bit-Breite) verweist.

Die Uhr WIRD während der Betriebszeit des Geräts NICHT umgelaufen. Implementierungen MÜSSEN daher interne Zählerüberläufe erkennen und ausgleichen. Die Uhr hat keine festgelegte Epoche und DARF KEINE kontinuierlichen oder nicht fortlaufenden Anpassungen (z.B. Schaltsekunden) einführt. Implementierungen SOLLTEN die Schlafzeiten des Geräts ausgleichen.

Implementierungen KÖNNEN die Plattformtaktung disziplinieren und die Ruhezeiten auf beliebige Weise kompensieren (z.B. durch Kombination einer RTC mit hoher Genauigkeit/niedriger Leistung mit einem hochauflösenden Zähler), solange die sichtbare Kombination der Uhr kontinuierliche monotone Mikrosekundenauflösung innerhalb der von otPlatTimeGetXtalAccuracy angegebenen Genauigkeitsgrenzwerte liefert.

Details
Rückgabe
Aktuelle Zeit in Mikrosekunden

otPlatTimeGetXtalAccuracy

uint16_t otPlatTimeGetXtalAccuracy(
  void
)

Ermitteln Sie die aktuelle geschätzte Worst-Case-Genauigkeit (maximale ±-Abweichung von der Nennfrequenz) der lokalen Plattformuhr in PPM.

Falls die Implementierung nicht den aktuellen Wert schätzt, aber einen festen Wert zurückgibt, MUSS dieser Wert die ungünstigste Genauigkeit über alle möglichen vorhersehbaren Betriebsbedingungen der Implementierung hinweg bieten.

Details
Rückgabe
Die aktuelle Genauigkeit der Plattformuhr in PPM.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.