pw_chrono_threadx

pw_chrono_threadx is a collection of pw_chrono backends that are implemented using ThreadX.

Warning

This module is under construction, not ready for use, and the documentation is incomplete.

SystemClock backend

The ThreadX based system_clock backend implements the pw_chrono:system_clock facade by using tx_time_get(). An InterruptSpinLock is used to manage overflows in a thread and interrupt safe manner to produce a signed 64 bit timestamp.

The SystemClock::now() must be used more than once per overflow of the native ThreadX tx_time_get() overflow. Note that this duration may vary if tx_time_set() is used.

Warning

Note that this is not compatible with TX_NO_TIMER as this disables tx_time_get().

Build targets

The GN build for pw_chrono_threadx has one target: system_clock. The system_clock target provides the pw_chrono_backend/system_clock_config.h and pw_chrono_threadx/config.h headers and the backend for the pw_chrono:system_clock.