mirror of
https://github.com/espressif/openthread.git
synced 2026-07-05 20:00:23 +00:00
4c44ff1edb
This commit introduces dedicated type definitions `otRadioTime64` (`RadioTime64`) and `otRadioTime32` (`RadioTime32`) to represent radio hardware microsecond timestamps. Key benefits and changes: - Self-Documenting Clock Domain: Transceiver hardware clocks operate in a distinct clock domain (`otPlatRadioGetNow()`) from core system timers (`TimerMilli::GetNow()`, `TimerMicro::GetNow()`). Using dedicated types prevents developers from accidentally passing core system time into radio scheduling APIs. - Explicit Rollover Handling: Introduced `IsRadioTimeStrictlyBefore()` to compare 32-bit radio timestamps using modulo serial arithmetic, cleanly accounting for `uint32_t` microsecond counter wrap-around. - Core Module Adoption: Updated `otRadioFrame::mTxInfo` / `mRxInfo`, `otPlatRadioGetNow()`, `otPlatRadioReceiveAt()`, `SubMac`, and `CslTxScheduler` to adopt the new radio time types.