| .. 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 |