zephyr/samples/posix/gettimeofday
Benjamin Cabé 1b66353a8d samples: posix: use zephyr:code-sample directive
Describe the samples using code-sample directive in preparation for
upcoming changes to the Zephyr documentation that will be leveraging
the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-08-27 15:13:43 -04:00
..
src
CMakeLists.txt
Makefile.host
README.rst samples: posix: use zephyr:code-sample directive 2024-08-27 15:13:43 -04:00
prj.conf
sample.yaml

README.rst

.. zephyr:code-sample:: posix-gettimeofday
   :name: gettimeofday() with clock initialization

   Use ``gettimeofday()`` with clock initialization over SNTP.

Overview
********

This sample application demonstrates using the POSIX `gettimeofday()`_ function to display the
absolute wall clock time and local time every second. At system startup, the current time is
queried using the SNTP networking protocol, enabled by setting the
:kconfig:option:`CONFIG_NET_CONFIG_CLOCK_SNTP_INIT` and
:kconfig:option:`CONFIG_NET_CONFIG_SNTP_INIT_SERVER` options.

Requirements
************

- :ref:`networking_with_host`
- or, a board with hardware networking
- NAT/routing should be set up to allow connections to the Internet
- DNS server should be available on the host to resolve domain names

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

This project outputs to the console. It can be built and executed on QEMU as follows:

.. zephyr-app-commands::
   :zephyr-app: samples/posix/gettimeofday
   :host-os: unix
   :board: qemu_x86
   :goals: run
   :compact:

For comparison, to build directly for your host OS if it is POSIX compliant (for ex. Linux):

.. code-block:: console

   cd samples/posix/gettimeofday
   make -f Makefile.host

The make output file will be located in samples/posix/gettimeofday/build.

.. _gettimeofday(): https://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.html