.. _module-pw_chrono_threadx:

-=---------------
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()``. Before the global
singleton SystemClock's SpinLock is constructed the raw result is returned,
after the overflows are managed in a thread and IRQ 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``.
