.. _nrf-clock-skew-sample: nRF5x Clock Skew Demo ##################### Overview ******** This sample uses the API for correlating time sources to measure the skew between HFCLK (used for the CPU) and LFCLK (used for system time). The ``CONFIG_APP_ENABLE_HFXO`` Kconfig option can be select to configure the high frequency clock to use a crystal oscillator rather than the default RC oscillator. (Capabilities like Bluetooth that require an accurate high-frequency clock generally enable this source automatically.) The relative error is significantly lower when HFXO is enabled. Requirements ************ This application uses any nRF51 DK or nRF52 DK board for the demo. Building, Flashing and Running ****************************** .. zephyr-app-commands:: :zephyr-app: samples/boards/nrf/clock_skew :board: nrf52dk_nrf52840 :goals: build flash :compact: Running: Sample Output ============= .. code-block:: console *** Booting Zephyr OS build zephyr-v2.4.0-693-g4a3275faf567 *** Power-up clocks: LFCLK[ON]: Running LFXO ; HFCLK[OFF]: Running HFINT Start TIMER_0: 0 Timer-running clocks: LFCLK[ON]: Running LFXO ; HFCLK[OFF]: Running HFINT Checking TIMER_0 at 16000000 Hz against ticks at 32768 Hz Timer wraps every 268 s Ty Latest Base Span Err HF 00:00:00.015667 LF 00:00:00.404296 Started sync: 0 Ty Latest Base Span Err HF 00:00:10.001151 00:00:00.015667 00:00:09.985483 LF 00:00:10.413818 00:00:00.404296 00:00:10.009521 00:00:00.024038 Skew 0.997599 ; err 2401411 ppb Ty Latest Base Span Err HF 00:00:19.997456 00:00:00.015667 00:00:19.981788 LF 00:00:20.434265 00:00:00.404296 00:00:20.029968 00:00:00.048180 Skew 0.997595 ; err 2405464 ppb Ty Latest Base Span Err HF 00:00:29.993845 00:00:00.015667 00:00:29.978178 LF 00:00:30.454650 00:00:00.404296 00:00:30.050354 00:00:00.072176 Skew 0.997598 ; err 2401828 ppb Ty Latest Base Span Err HF 00:00:39.986181 00:00:00.015667 00:00:39.970514 LF 00:00:40.475036 00:00:00.404296 00:00:40.070739 00:00:00.100225 Skew 0.997499 ; err 2501189 ppb Ty Latest Base Span Err HF 00:00:49.981516 00:00:00.015667 00:00:49.965848 LF 00:00:50.495422 00:00:00.404296 00:00:50.091125 00:00:00.125277 Skew 0.997499 ; err 2501010 ppb Ty Latest Base Span Err HF 00:00:59.976042 00:00:00.015667 00:00:59.960375 LF 00:01:00.515808 00:00:00.404296 00:01:00.111511 00:00:00.151136 Skew 0.997486 ; err 2514243 ppb ... Ty Latest Base Span Err HF 00:01:59.935661 00:00:00.015667 00:01:59.919994 LF 00:02:00.638153 00:00:00.404296 00:02:00.233856 00:00:00.313862 Skew 0.997390 ; err 2610445 ppb ... Ty Latest Base Span Err HF 00:04:59.769166 00:00:00.015667 00:04:59.753498 LF 00:05:01.005279 00:00:00.404296 00:05:00.600982 00:00:00.847484 Skew 0.997181 ; err 2819240 ppb ... Ty Latest Base Span Err HF 00:09:59.513787 00:00:00.015667 00:09:59.498119 LF 00:10:01.617156 00:00:00.404296 00:10:01.212860 00:00:01.714741 Skew 0.997148 ; err 2852201 ppb ... Ty Latest Base Span Err HF 00:30:08.384536 00:00:00.015667 00:30:08.368868 LF 00:30:14.084594 00:00:00.404296 00:30:13.680297 00:00:05.311429 Skew 0.997072 ; err 2928495 ppb ... Ty Latest Base Span Err HF 00:59:57.353602 00:00:00.015667 00:59:57.337934 LF 01:00:07.734375 00:00:00.404296 01:00:07.330078 00:00:09.992144 Skew 0.997230 ; err 2770006 ppb ... Ty Latest Base Span Err HF 02:59:33.181323 00:00:00.015667 02:59:33.165656 LF 03:00:03.434265 00:00:00.404296 03:00:03.029968 00:00:29.864312 Skew 0.997236 ; err 2764463 ppb ... Ty Latest Base Span Err HF 05:59:55.031709 00:00:00.015667 05:59:55.016042 LF 06:00:57.120941 00:00:00.404296 06:00:56.716644 00:01:01.700602 Skew 0.997151 ; err 2849042 ppb