zephyr/samples/drivers/misc/timeaware_gpio
..
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

.. zephyr:code-sample:: timeaware-gpio
   :name: Time-aware GPIO
   :relevant-api: tgpio_interface

   Synchronize clocks.

Overview
********

A sample application that can be used with any supported boards. eg. RPL.
prints configuration info to the console. Below functionalities are tested:

1. Periodic pulse generation (an Oscilloscope or loopback may be required)
2. Input pulse timestamping (a pulse generator or loopback may be required)

Building and Running
********************

This application can be built and executed as follows:

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/misc/timeaware_gpio
   :board: intel_rpl_crb
   :host-os: unix
   :goals: build


To build for another supported board, change "intel_rpl_crb" to that board's
name (if supported).

Sample Output
=============

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v3.4.0-4166-g52b34a310c67 ***
   [TGPIO] Bind Success
   [TGPIO] Time now: 00000001477ed72f
   [TGPIO] Running rate: 19200000
   [TGPIO] Periodic pulses start at: 0000000148a3cf2f
   [TGPIO] timestamp: 0000000000000000, event count: 0000000000000000
   [TGPIO] timestamp: 0000000148a3cf31, event count: 0000000000000001
   [TGPIO] timestamp: 0000000149c8c731, event count: 0000000000000002
   [TGPIO] timestamp: 000000014aedbf31, event count: 0000000000000003
   [TGPIO] timestamp: 000000014c12b731, event count: 0000000000000004
   [TGPIO] timestamp: 000000014d37af31, event count: 0000000000000005
   [TGPIO] timestamp: 000000014e5ca731, event count: 0000000000000006
   [TGPIO] timestamp: 000000014f819f31, event count: 0000000000000007
   [TGPIO] timestamp: 0000000150a69731, event count: 0000000000000008
   [TGPIO] timestamp: 0000000151cb8f31, event count: 0000000000000009
   [TGPIO] timestamp: 0000000152f08731, event count: 000000000000000a
   [TGPIO] timestamp: 0000000154157f31, event count: 000000000000000b