Timer accuracy on NRF5340

Hi,

I'm trying to sample few sensors at 2 kHz with a timer. Even though nrf5340 application core can run at 128 MHz, I couldn't achieve exact 500 us delay with timer.

Firstly, I initialized a message queue and put timestamps into queue to not block timer_handler and afterwards I printed all of them.

How can achieve more accurate timer like between 495 - 505 us?

Here is my code:

#include <nrfx_clock.h>
#include <nrfx_example.h>
#include <nrfx_timer.h>
#include <soc.h>
#include <stdio.h>
#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/clock_control.h>
#include <zephyr/drivers/clock_control/nrf_clock_control.h>
#include <zephyr/drivers/uart.h>
#include <zephyr/kernel.h>
#include <zephyr/logging/log.h>

#define NRFX_LOG_MODULE EXAMPLE
#define NRFX_EXAMPLE_CONFIG_LOG_ENABLED 1
#define NRFX_EXAMPLE_CONFIG_LOG_LEVEL 3
#include <nrfx_log.h>

K_MSGQ_DEFINE(m_msgq, sizeof(uint32_t), 100000, 4);

#define TIMER_INST_IDX 0

#define TIME_TO_WAIT_US 500UL

static void timer_handler(nrf_timer_event_t event_type, void *p_context) {
    if (event_type == NRF_TIMER_EVENT_COMPARE0) {
        char *p_msg = p_context;
        uint32_t timestamp = k_cyc_to_us_floor32(k_cycle_get_32());
        int ret = k_msgq_put(&m_msgq, &timestamp, K_NO_WAIT);
        if (ret < 0) {
            NRFX_LOG_INFO("Queue full");
        }
    }
}

static void show_clocks(const char *tag) {
    static const char *const lfsrc_s[] = {
#if defined(CLOCK_LFCLKSRC_SRC_LFULP)
        [NRF_CLOCK_LFCLK_LFULP] = "LFULP",
#endif
        [NRF_CLOCK_LFCLK_RC] = "LFRC",
        [NRF_CLOCK_LFCLK_XTAL] = "LFXO",
        [NRF_CLOCK_LFCLK_SYNTH] = "LFSYNT",
    };
    static const char *const hfsrc_s[] = {
        [NRF_CLOCK_HFCLK_LOW_ACCURACY] = "HFINT",
        [NRF_CLOCK_HFCLK_HIGH_ACCURACY] = "HFXO",
    };
    static const char *const clkstat_s[] = {
        [CLOCK_CONTROL_STATUS_STARTING] = "STARTING",
        [CLOCK_CONTROL_STATUS_OFF] = "OFF",
        [CLOCK_CONTROL_STATUS_ON] = "ON",
        [CLOCK_CONTROL_STATUS_UNKNOWN] = "UNKNOWN",
    };
    union {
        unsigned int raw;
        nrf_clock_lfclk_t lf;
        nrf_clock_hfclk_t hf;
    } src;
    enum clock_control_status clkstat;
    bool running;

    running = nrf_clock_is_running(NRF_CLOCK, NRF_CLOCK_DOMAIN_LFCLK,
                                   &src.lf);
    printk("%s: LFCLK[%s]: %s %s ; ", tag, clkstat_s[clkstat],
           running ? "Running" : "Off", lfsrc_s[src.lf]);
    running = nrf_clock_is_running(NRF_CLOCK, NRF_CLOCK_DOMAIN_HFCLK,
                                   &src.hf);
    printk("HFCLK[%s]: %s %s\n", clkstat_s[clkstat],
           running ? "Running" : "Off", hfsrc_s[src.hf]);
}

int main(void) {
    nrfx_clock_divider_set(NRF_CLOCK_DOMAIN_HFCLK, NRF_CLOCK_HFCLK_DIV_1);
    LOG_INF("Starting %s with CPU frequency: %d MHz", CONFIG_BOARD, SystemCoreClock / MHZ(1));
    nrfx_err_t status;
    (void)status;

    nrfx_clock_start(NRF_CLOCK_DOMAIN_HFCLK192M);

    while (!nrf_clock_hf_is_running(NRF_CLOCK, NRF_CLOCK_HFCLK_HIGH_ACCURACY)) {
        nrf_clock_task_trigger(NRF_CLOCK, NRF_CLOCK_TASK_HFCLK192MSTART);
        k_sleep(K_MSEC(1));
    }

    IRQ_DIRECT_CONNECT(NRFX_IRQ_NUMBER_GET(NRF_TIMER_INST_GET(TIMER_INST_IDX)), IRQ_ZERO_LATENCY,
                       NRFX_TIMER_INST_HANDLER_GET(TIMER_INST_IDX), 0);

    NRFX_EXAMPLE_LOG_INIT();

    NRFX_LOG_INFO("Starting nrfx_timer basic example:");
    NRFX_EXAMPLE_LOG_PROCESS();

    nrfx_timer_t timer_inst = NRFX_TIMER_INSTANCE(TIMER_INST_IDX);
    uint32_t base_frequency = NRF_TIMER_BASE_FREQUENCY_GET(timer_inst.p_reg);
    NRFX_LOG_INFO("Base frequency: %lu Hz", base_frequency);
    nrfx_timer_config_t config = NRFX_TIMER_DEFAULT_CONFIG(base_frequency);
    config.bit_width = NRF_TIMER_BIT_WIDTH_32;
    config.p_context = "Some context";
    config.interrupt_priority = 0;

    status = nrfx_timer_init(&timer_inst, &config, timer_handler);
    NRFX_ASSERT(status == NRFX_SUCCESS);

    nrfx_timer_clear(&timer_inst);

    uint32_t desired_ticks = nrfx_timer_us_to_ticks(&timer_inst, TIME_TO_WAIT_US);
    NRFX_LOG_INFO("Desired ticks: %lu", desired_ticks);
    NRFX_LOG_INFO("Time to wait: %lu ms", TIME_TO_WAIT_US);

    nrfx_timer_extended_compare(&timer_inst, NRF_TIMER_CC_CHANNEL0, desired_ticks,
                                NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true);


    nrfx_timer_enable(&timer_inst);
    NRFX_LOG_INFO("Timer status: %s", nrfx_timer_is_enabled(&timer_inst) ? "enabled" : "disabled");


    uint32_t start = k_cycle_get_32();
    uint32_t last_timestamp = 0;

    bool timer_enabled = true;

    while (1) {
        if (k_cycle_get_32() - start > k_ms_to_cyc_ceil32(100) && timer_enabled) {
            nrfx_timer_disable(&timer_inst);
            timer_enabled = false;
            break;
        }
    }

    while (k_msgq_num_used_get(&m_msgq) > 0) {
        uint32_t timestamp;
        int ret = k_msgq_get(&m_msgq, &timestamp, K_NO_WAIT);
        if (ret < 0) {
            LOG_INF("Error getting message from queue");
            continue;
        }
        NRFX_LOG_INFO("Timestamp: %lu", timestamp - last_timestamp);
        last_timestamp = timestamp;
        NRFX_EXAMPLE_LOG_PROCESS();
    }
}

proj.conf

CONFIG_NRFX_TIMER0=y
CONFIG_ZERO_LATENCY_IRQS=y
# CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
CONFIG_LOG=y

And the output:

[00:00:00.000,305] <inf> NRFX_EXAMPLE: Starting nrf5340dk_nrf5340_cpuapp with CPU frequency: 128 MHz
[00:00:00.001,403] <inf> NRFX_EXAMPLE: Starting nrfx_timer basic example:
[00:00:00.018,096] <inf> NRFX_EXAMPLE: Base frequency: 16000000 Hz
[00:00:00.018,096] <inf> NRFX_EXAMPLE: Desired ticks: 8000
[00:00:00.018,096] <inf> NRFX_EXAMPLE: Time to wait: 500 ms
[00:00:00.018,127] <inf> NRFX_EXAMPLE: Timer status: enabled
[00:00:00.118,164] <inf> NRFX_EXAMPLE: Timestamp: 18615
[00:00:00.148,132] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.153,564] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.158,996] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.164,428] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.169,860] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.175,292] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.180,725] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.186,157] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.191,619] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.197,052] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.202,484] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.207,916] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.213,348] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.218,780] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.224,212] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.229,644] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.235,076] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.240,509] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.245,971] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.251,403] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.256,835] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.262,268] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.267,700] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.273,132] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.278,564] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.283,996] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.289,428] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.294,860] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.300,323] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.305,755] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.311,187] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.316,619] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.322,052] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.327,484] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.332,916] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.338,378] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.343,811] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.349,243] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.354,675] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.360,107] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.365,539] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.371,002] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.376,434] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.381,866] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.387,298] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.392,730] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.398,162] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.403,594] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.409,027] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.414,489] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.419,921] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.425,354] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.430,786] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.436,218] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.441,650] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.447,082] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.452,545] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.457,977] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.463,409] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.468,841] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.474,273] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.479,705] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.485,137] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.490,570] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.496,002] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.501,464] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.506,896] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.512,329] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.517,761] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.523,193] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.528,625] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.534,057] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.539,520] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.544,952] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.550,384] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.555,816] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.561,248] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.566,680] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.572,113] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.577,545] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.583,007] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.588,439] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.593,872] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.599,304] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.604,736] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.610,168] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.615,600] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.621,063] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.626,495] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.631,927] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.637,359] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.642,791] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.648,223] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.653,656] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.659,088] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.664,550] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.669,982] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.675,415] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.680,847] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.686,279] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.691,711] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.697,143] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.702,575] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.708,007] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.713,439] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.718,902] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.724,334] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.729,766] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.735,198] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.740,631] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.746,063] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.751,495] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.756,927] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.762,390] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.767,822] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.773,254] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.778,686] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.784,118] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.789,550] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.794,982] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.800,445] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.805,877] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.811,309] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.816,741] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.822,174] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.827,606] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.833,068] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.838,500] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.843,933] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.849,365] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.854,797] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.860,260] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.865,692] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.871,124] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.876,556] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.881,988] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.887,420] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.892,852] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.898,315] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.903,747] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.909,179] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.914,611] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.920,043] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.925,476] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.930,908] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.936,340] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.941,802] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.947,235] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.952,667] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.958,099] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.963,531] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:00.968,963] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.974,395] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.979,827] <inf> NRFX_EXAMPLE: Timestamp: 518
[00:00:00.985,260] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:00.990,692] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:00.996,124] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.001,586] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.007,019] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.012,451] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.017,883] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.023,315] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.028,747] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.034,179] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.039,642] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.045,074] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.050,506] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.055,938] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.061,370] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.066,802] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.072,235] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.077,667] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.083,129] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.088,562] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.093,994] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.099,426] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.104,858] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.110,290] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.115,722] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.121,185] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.126,617] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.132,049] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.137,481] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.142,913] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.148,345] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.153,778] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.159,210] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.164,642] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.170,104] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.175,537] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.180,969] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.186,401] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.191,833] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.197,265] <inf> NRFX_EXAMPLE: Timestamp: 489
[00:00:01.202,697] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.208,160] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.213,592] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.219,024] <inf> NRFX_EXAMPLE: Timestamp: 519
[00:00:01.224,456] <inf> NRFX_EXAMPLE: Timestamp: 488
[00:00:01.229,888] <inf> NRFX_EXAMPLE: Timestamp: 488

Parents Reply Children
No Data
Related