タイムサービス

このモジュールには、時刻サービスのプラットフォーム抽象化が含まれています。

概要

関数

otPlatTimeGet(void)
uint64_t
現在のプラットフォーム時刻を、連続した単調ローカル クロック(64 ビット幅)を基準に、マイクロ秒単位で取得します。
otPlatTimeGetXtalAccuracy(void)
uint16_t
ローカル プラットフォーム クロックの現在の推定最悪ケース精度(公称周波数からの最大偏差)を PPM 単位で求めます。

関数

otPlatTimeGet

uint64_t otPlatTimeGet(
  void
)

現在のプラットフォーム時刻を、連続した単調ローカル クロック(64 ビット幅)を基準に、マイクロ秒単位で取得します。

デバイスの稼働時間中にクロックが終わってはなりません。したがって、実装は内部カウンタのオーバーフローを特定して補正すべきです。時計には定義されたエポックがなく、連続的または不連続的な調整(うるう秒など)を導入してはなりません。実装は、デバイスのスリープ時間を補正すべきです。

実装は、公開された組み合わせクロックが otPlatTimeGetXtalAccuracy によって発表された精度制限内で連続した単調マイクロ秒解像度のティックを提供する限り、任意の手段(高精度/低消費電力 RTC を高精度カウンタと組み合わせるなど)で、プラットフォーム クロックを研究し、スリープ時間を補正することを選択しても構いません。

詳細
戻り値
現在の時刻(マイクロ秒単位)。

otPlatTimeGetXtalAccuracy

uint16_t otPlatTimeGetXtalAccuracy(
  void
)

ローカル プラットフォーム クロックの現在の推定最悪ケース精度(公称周波数からの最大偏差)を PPM 単位で求めます。

実装が現在値を推定せず、固定値を返す場合、この値は、実装で想定されるすべての動作条件(温度、圧力など)にわたって最悪の場合の精度でなければなりません。

詳細
戻り値
現在のプラットフォームのクロック精度(PPM)。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。