<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync</link><description>Hello, 
 I found this great blog entry about synchronizing timers on different devices: https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/wireless-timer-synchronization-among-nrf5-devices 
 It works just fine on a nRF52840DK</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 May 2021 14:23:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync" /><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/308771?ContentTypeID=1</link><pubDate>Fri, 07 May 2021 14:23:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c5b0e96c-c052-4a5a-bec9-4b8523c411cb</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;sorry for the lack of response. I&amp;#39;ve been working on the code this past week. It has taken quite a bit of time, as it can take several hours for the corner cases to appear.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve finally pushed my test code to this branch: &lt;a href="https://github.com/nordic-auko/nRF5-ble-timesync-demo/tree/counter_revamp"&gt;https://github.com/nordic-auko/nRF5-ble-timesync-demo/tree/counter_revamp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are quite a few changes/simplifications, but I hope it&amp;#39;s not too cumbersome for you to test it together with the changes you&amp;#39;ve already made.&lt;/p&gt;
&lt;p&gt;Note that I set &lt;span class="pl-en"&gt;TIME_SYNC_TIMER_MAX_VAL&lt;/span&gt;&amp;nbsp; to &lt;span class="pl-c1"&gt;16000 in an attempt to speed up the edge condition generation rate. You can change this as needed.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="pl-c1"&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="pl-c1"&gt;Audun&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/308060?ContentTypeID=1</link><pubDate>Tue, 04 May 2021 06:26:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:151ed7ca-5b1e-49fe-9fab-2cedc5f373cd</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello again Audun,&lt;/p&gt;
&lt;p&gt;do you have any news on the verification and validation process of your described code-changes?&lt;/p&gt;
&lt;p&gt;Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;I am looking forward to hearing from you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/306988?ContentTypeID=1</link><pubDate>Tue, 27 Apr 2021 11:13:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b754e5b7-ff2e-4566-99ca-892d9d60d3d0</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you for your reply. That sounds very promising.&lt;/p&gt;
&lt;p&gt;Please let me know when you have validated and verified your code changes.&lt;/p&gt;
&lt;p&gt;Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;I am looking forward to hearing from you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/306513?ContentTypeID=1</link><pubDate>Fri, 23 Apr 2021 11:25:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d3436e8-9666-4c89-af1c-be024db7d54a</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;no worries, I&amp;#39;d very much like to get this fixed and update the repo accordingly.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve not been to the office yet to fully test my most recent code change. I have a simple setup with a logic analyzer right now that has been working fine for preliminary testing, but I&amp;#39;m not fully confident in the code yet. I&amp;#39;m attaching the most recent changes if you want to also do some testing on your end.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/time_5F00_sync.c.diff"&gt;devzone.nordicsemi.com/.../time_5F00_sync.c.diff&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/306243?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 08:20:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:009534be-77f3-4243-b1a1-3c0aebacba91</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hi Audun,&lt;/p&gt;
&lt;p&gt;sorry for my late reply. I was out of office for two days.&lt;/p&gt;
&lt;p&gt;Thank you for the two approaches of the timers_capture() function you sent and the effort you already put into this. Unfortunately, it looks like the problem is not solved at the moment, as you said.&lt;/p&gt;
&lt;p&gt;Hopefully we can still find a solution for this problem.&lt;/p&gt;
&lt;p&gt;I really appreciate your help. Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;I am looking forward to hearing from you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/306164?ContentTypeID=1</link><pubDate>Wed, 21 Apr 2021 14:44:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81fd349d-0af0-49e7-a35f-2ef24d69691c</guid><dc:creator>Jona</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been following this case lately since I&amp;#39;ve been experiencing similar issues as&amp;nbsp;Michael01101 after upgrading my project to the new TimeSync version. This case has been very helpful so far, thanks!&lt;/p&gt;
&lt;p&gt;I&amp;#39;m looking forward to a solution.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jona&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/306080?ContentTypeID=1</link><pubDate>Wed, 21 Apr 2021 11:51:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dbee294e-b964-451b-855c-5c3fb8e0fdff</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi again,&lt;/p&gt;
&lt;p&gt;I still see a corner case with this one.. rethinking the approach a bit now.&lt;/p&gt;
&lt;p&gt;Specifically I see corner cases around the time the timer wraps around (every 2.5 ms), or when the counter is cleared as part of the adjustment procedure on the receiver. The timer can just be sampled again when the corner case is adjusted and the new value captured, since this runs at 16 MHz and has no significant delay. One cannot wait for the counter in the same way, as this would incur a 2.5 ms delay. After some unsuccessful approaches to detect the counter corner case I&amp;#39;m trying to avoid clearing the counter altogether and keeping track of a diff instead of the transmitter counter total value. Will need to do some further testing to ensure no new issues have been introduced here.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/305531?ContentTypeID=1</link><pubDate>Mon, 19 Apr 2021 12:27:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8cbccdb3-f52f-428e-bb07-3fdd06286d15</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi again Michael,&lt;/p&gt;
&lt;p&gt;there were some corner cases that triggered during the weekend, and I&amp;#39;ve made some further refinements to the code now. Can you try the following on your side?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void timers_capture(uint32_t * p_sync_timer_val, uint32_t * p_count_timer_val, uint32_t * p_peer_counter)
{
    static nrf_atomic_flag_t m_timestamp_capture_flag = 0;

    nrf_atomic_u32_t peer_counter;

    if (nrf_atomic_flag_set_fetch(&amp;amp;m_timestamp_capture_flag) != 0)
    {
        // Not thread-safe
        APP_ERROR_CHECK_BOOL(false);
    }

    nrf_ppi_channel_t ppi_chn;
    nrfx_err_t ret = nrfx_ppi_channel_alloc(&amp;amp;ppi_chn);
    APP_ERROR_CHECK_BOOL(ret == NRFX_SUCCESS);

    ppi_counter_timer_capture_configure(ppi_chn);

    NVIC_DisableIRQ(m_params.egu_irq_type);

    bool counter_adjustment_triggered;

    // Loop if adjustment procedure happened close to timer capture
    do
    {
        counter_adjustment_triggered = m_params.egu-&amp;gt;EVENTS_TRIGGERED[0];

        m_params.egu-&amp;gt;EVENTS_TRIGGERED[1] = 0;
        m_params.egu-&amp;gt;TASKS_TRIGGER[1] = 1;
        while (m_params.egu-&amp;gt;EVENTS_TRIGGERED[1] == 0)
        {
            __NOP();
        }

        if (m_params.high_freq_timer[1]-&amp;gt;CC[0] &amp;lt; 2 || m_params.high_freq_timer[0]-&amp;gt;CC[3] &amp;lt; 2)
        {
            /* Capture again if capture happened too close to adjustment or wraparound */
            m_params.egu-&amp;gt;EVENTS_TRIGGERED[1] = 0;
            m_params.egu-&amp;gt;TASKS_TRIGGER[1] = 1;
            while (m_params.egu-&amp;gt;EVENTS_TRIGGERED[1] == 0)
            {
                __NOP();
            }
        }

        if (counter_adjustment_triggered)
        {
            peer_counter = ((sync_pkt_t *) mp_curr_adj_pkt)-&amp;gt;counter_val;
        }
        else
        {
            peer_counter = m_master_counter;
        }
    } while (counter_adjustment_triggered != m_params.egu-&amp;gt;EVENTS_TRIGGERED[0] ||
             m_params.high_freq_timer[0]-&amp;gt;CC[3] &amp;lt; 2);

    NVIC_EnableIRQ(m_params.egu_irq_type);

    ppi_counter_timer_capture_disable(ppi_chn);
    nrfx_ppi_channel_free(ppi_chn);

    *p_sync_timer_val  = m_params.high_freq_timer[0]-&amp;gt;CC[3];
    *p_count_timer_val = (m_params.high_freq_timer[1]-&amp;gt;CC[0]);
    *p_peer_counter    = peer_counter;

    nrf_atomic_flag_clear(&amp;amp;m_timestamp_capture_flag);
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/305329?ContentTypeID=1</link><pubDate>Fri, 16 Apr 2021 14:41:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f02a242-f50d-478f-9082-79adfb5d6237</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;can you try to replace your timers_capture function again with the one below? This should have no restrictions on what interrupt level it can be called from. It won&amp;#39;t have a potentially long delay either.&lt;/p&gt;
&lt;p&gt;With this change I haven&amp;#39;t seen the issue again on my side. Will let my test case run over the weekend and see if any issues are triggered.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve not looked closely at the TIMER reference code you posted, but will take a closer look at that if the issue persists on your side.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void timers_capture(uint32_t * p_sync_timer_val, uint32_t * p_count_timer_val, uint32_t * p_peer_counter)
{
    static nrf_atomic_flag_t m_timestamp_capture_flag = 0;

    nrf_atomic_u32_t peer_counter;

    if (nrf_atomic_flag_set_fetch(&amp;amp;m_timestamp_capture_flag) != 0)
    {
        // Not thread-safe
        APP_ERROR_CHECK_BOOL(false);
    }

    nrf_ppi_channel_t ppi_chn;
    nrfx_err_t ret = nrfx_ppi_channel_alloc(&amp;amp;ppi_chn);
    APP_ERROR_CHECK_BOOL(ret == NRFX_SUCCESS);

    ppi_counter_timer_capture_configure(ppi_chn);

    NVIC_DisableIRQ(m_params.egu_irq_type);

    bool counter_adjustment_triggered;

    // Loop while there is a chance of capturing during timer adjustment,
    // or if timer wraparound happens very close to the same clock cycle as the capture.
    do
    {
        counter_adjustment_triggered = m_params.egu-&amp;gt;EVENTS_TRIGGERED[0];

        m_params.egu-&amp;gt;TASKS_TRIGGER[1] = 1;

        if (counter_adjustment_triggered)
        {
            peer_counter = ((sync_pkt_t *) mp_curr_adj_pkt)-&amp;gt;counter_val;
        }
        else
        {
            peer_counter = m_master_counter;
        }
    } while (counter_adjustment_triggered != m_params.egu-&amp;gt;EVENTS_TRIGGERED[0] ||
             m_params.high_freq_timer[0]-&amp;gt;CC[3] &amp;lt; 2);

    NVIC_EnableIRQ(m_params.egu_irq_type);

    ppi_counter_timer_capture_disable(ppi_chn);
    nrfx_ppi_channel_free(ppi_chn);

    *p_sync_timer_val  = m_params.high_freq_timer[0]-&amp;gt;CC[3];
    *p_count_timer_val = (m_params.high_freq_timer[1]-&amp;gt;CC[0]);
    *p_peer_counter    = peer_counter;

    nrf_atomic_flag_clear(&amp;amp;m_timestamp_capture_flag);
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/305157?ContentTypeID=1</link><pubDate>Thu, 15 Apr 2021 15:46:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e7e5b05-74ad-486e-a186-dc127dfb3480</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for the reply and the effort you put into this.&lt;/p&gt;
&lt;p&gt;Basically this is a functionally equivalent of my setup. But one thing is different:&lt;/p&gt;
&lt;p&gt;On the receiver side of the sync beacons (peripheral) I have a TIMER (TIMER peripheral) to capture a timestamp every 40ms. Then I check the difference between the current and the previous timestamp, as you already mentioned. If the difference is higher than 41 or lower than 39 I generate an error.&lt;/p&gt;
&lt;p&gt;If you are interested, this is the configuration of the TIMER:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static const nrfx_timer_t               m_timer = NRFX_TIMER_INSTANCE(1);

void saadc_sampling_event_init(void)
{
    ret_code_t err_code;
    err_code = nrf_drv_ppi_init();
    APP_ERROR_CHECK(err_code);
    
    nrfx_timer_config_t timer_config = NRFX_TIMER_DEFAULT_CONFIG;
    timer_config.frequency = NRF_TIMER_FREQ_16MHz;
    err_code = nrfx_timer_init(&amp;amp;m_timer, &amp;amp;timer_config, timer_handler);
    APP_ERROR_CHECK(err_code);

    /* setup m_timer for compare event */
    uint32_t ticks = nrfx_timer_ms_to_ticks(&amp;amp;m_timer,1);
    nrfx_timer_extended_compare(&amp;amp;m_timer, NRF_TIMER_CC_CHANNEL0, ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, false);
    nrfx_timer_enable(&amp;amp;m_timer);

    uint32_t timer_compare_event_addr = nrfx_timer_compare_event_address_get(&amp;amp;m_timer, NRF_TIMER_CC_CHANNEL0);
    uint32_t saadc_sample_event_addr = nrfx_saadc_sample_task_get();

    /* setup ppi channel so that timer compare event is triggering sample task in SAADC */
    err_code = nrf_drv_ppi_channel_alloc(&amp;amp;m_ppi_channel);
    APP_ERROR_CHECK(err_code);
    
    err_code = nrf_drv_ppi_channel_assign(m_ppi_channel, timer_compare_event_addr, saadc_sample_event_addr);
    APP_ERROR_CHECK(err_code);
}    &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I setup a ppi channel so that timer compare event is triggering sample task in SAADC (every 1ms). In the saadc_callback I call my timestamp function every 40th time (every 40ms) .&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/305130#305130"]I believe I see the issue, and will work on confirming my setup and work on a solution.[/quote]
&lt;p&gt;That sounds great. I am looking forward to hearing from you.&lt;/p&gt;
&lt;p&gt;Please let me know, if you need anything more.&lt;/p&gt;
&lt;p&gt;Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/305130?ContentTypeID=1</link><pubDate>Thu, 15 Apr 2021 13:48:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ae50a72-7cc3-4661-8131-bf0872bc2c98</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
[quote userid="93336" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/304708#304708"]&lt;p&gt;So I am still having the abrupt offset issue.&lt;/p&gt;
&lt;p&gt;Do you have any other suggestions on how to solve this issue. We highly appreciate your help with our problem. It still looks like that the success of our project depends on your help.&lt;/p&gt;[/quote]
&lt;p&gt;Thanks for the update. I have spent time in the office today to set up a better test case to reproduce the issue you see:&lt;/p&gt;
&lt;p&gt;On the receiver side I have a RTC set up to capture a timestamp every X ms, and I look at the relative difference between the current and previous timestamp to determine if this is a sane value. I think this is functionally equivalent of the setup you have?&lt;/p&gt;
&lt;p&gt;I believe I see the issue, and will work on confirming my setup and work on a solution.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/304708?ContentTypeID=1</link><pubDate>Wed, 14 Apr 2021 07:14:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a283996d-454c-45d6-916b-b073f923ff01</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your detailed reply. I really appreciate your help.&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/304275#304275"]which means there either isn&amp;#39;t any more sync packets from the transmitter received, or that there is an issue with appying a received packet.[/quote]
&lt;p&gt;This is caused by the procedure how I catched the offset in my previous reply. I generated an error at the central when the offset occurs to catch the relevant debug data. So the central stopped transmitting sync beacons when the offset occured.&lt;/p&gt;
&lt;p&gt;I swapped my previous timers_capture() function with your timers_capture() function. Unfortunately, this does not solve the offset issue.&lt;/p&gt;
&lt;p&gt;You can see the debug logs for the peripheral and the central in the following. These logs are generated with your recommended timers_capture() function. I also delayed the generation of the error on my central when the offset occurs. So the central does not stop immediatly transmitting sync beacons. Instead&amp;nbsp;the central continues sending sync beacons for ~560ms after the offset occured before the central stops itself.&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Peripheral&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is the debug log on the peripheral side.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:05:18.499,877] &amp;lt;info&amp;gt; time_sync: 39602, 5, 539575    timestamp: 1348952
[00:05:18.539,855] &amp;lt;info&amp;gt; time_sync: 39608, 8, 539588    timestamp: 1348992
[00:05:18.579,895] &amp;lt;info&amp;gt; time_sync: 39607, 24, 539588    timestamp: 1349032
[00:05:18.619,873] &amp;lt;info&amp;gt; time_sync: 39620, 1, 539627    timestamp: 1349072
[00:05:18.659,851] &amp;lt;info&amp;gt; time_sync: 39625, 4, 539640    timestamp: 1349112
[00:05:18.699,890] &amp;lt;info&amp;gt; time_sync: 39630, 7, 539653    timestamp: 1349152
[00:05:18.739,868] &amp;lt;info&amp;gt; time_sync: 39634, 10, 539666    timestamp: 1349192
[00:05:18.779,907] &amp;lt;info&amp;gt; time_sync: 39634, 26, 539666    timestamp: 1349232
[00:05:18.819,885] &amp;lt;info&amp;gt; time_sync: 39648, 3, 539705    timestamp: 1349272
[00:05:18.859,863] &amp;lt;info&amp;gt; time_sync: 39653, 6, 539718    timestamp: 1349312
[00:05:18.899,902] &amp;lt;info&amp;gt; time_sync: 39657, 9, 539731    timestamp: 1349352
[00:05:18.939,880] &amp;lt;info&amp;gt; time_sync: 39657, 25, 539731    timestamp: 1349392
[00:05:18.979,919] &amp;lt;info&amp;gt; time_sync: 39672, 2, 539770    timestamp: 1349432
[00:05:19.019,897] &amp;lt;info&amp;gt; time_sync: 39675, 5, 539783    timestamp: 1349472
[00:05:19.059,875] &amp;lt;info&amp;gt; time_sync: 39680, 8, 539796    timestamp: 1349512
[00:05:19.099,914] &amp;lt;info&amp;gt; time_sync: 39680, 24, 539796    timestamp: 1349552
[00:05:19.139,892] &amp;lt;info&amp;gt; time_sync: 39694, 1, 539835    timestamp: 1349592
[00:05:19.179,931] &amp;lt;info&amp;gt; time_sync: 39698, 4, 539848    timestamp: 1349632
[00:05:19.219,909] &amp;lt;info&amp;gt; time_sync: 39703, 7, 539861    timestamp: 1349672
[00:05:19.259,887] &amp;lt;info&amp;gt; time_sync: 39707, 10, 539874    timestamp: 1349712
[00:05:19.299,926] &amp;lt;info&amp;gt; time_sync: 39707, 26, 539874    timestamp: 1349752
[00:05:19.339,904] &amp;lt;info&amp;gt; time_sync: 39721, 3, 539913    timestamp: 1349792
[00:05:19.379,882] &amp;lt;info&amp;gt; time_sync: 39726, 6, 539926    timestamp: 1349832
[00:05:19.419,921] &amp;lt;info&amp;gt; time_sync: 39731, 9, 539939    timestamp: 1349872
[00:05:19.459,899] &amp;lt;info&amp;gt; time_sync: 39730, 25, 539939    timestamp: 1349912
[00:05:19.499,938] &amp;lt;info&amp;gt; time_sync: 39744, 2, 539978    timestamp: 1349952
[00:05:19.539,916] &amp;lt;info&amp;gt; time_sync: 39748, 5, 539991    timestamp: 1349992
[00:05:19.579,895] &amp;lt;info&amp;gt; time_sync: 39753, 8, 540004    timestamp: 1350032
[00:05:19.619,934] &amp;lt;info&amp;gt; time_sync: 39753, 24, 540004    timestamp: 1350072
[00:05:19.659,912] &amp;lt;info&amp;gt; time_sync: 39767, 1, 540043    timestamp: 1350112
[00:05:19.699,951] &amp;lt;info&amp;gt; time_sync: 39771, 4, 540056    timestamp: 1350152
[00:05:19.739,929] &amp;lt;info&amp;gt; time_sync: 39776, 7, 540069    timestamp: 1350192
[00:05:19.779,907] &amp;lt;info&amp;gt; time_sync: 39781, 10, 540082    timestamp: 1350232
[00:05:19.819,946] &amp;lt;info&amp;gt; time_sync: 39781, 26, 540082    timestamp: 1350272
[00:05:19.859,924] &amp;lt;info&amp;gt; time_sync: 39795, 3, 540121    timestamp: 1350312
[00:05:19.899,963] &amp;lt;info&amp;gt; time_sync: 39799, 6, 540134    timestamp: 1350352
[00:05:19.939,941] &amp;lt;info&amp;gt; time_sync: 39803, 9, 540147    timestamp: 1350392
[00:05:19.979,919] &amp;lt;info&amp;gt; time_sync: 39803, 25, 540147    timestamp: 1350432
[00:05:20.019,958] &amp;lt;info&amp;gt; time_sync: 39818, 2, 540186    timestamp: 1350472
[00:05:20.059,936] &amp;lt;info&amp;gt; time_sync: 39822, 5, 540199    timestamp: 1350512
[00:05:20.099,975] &amp;lt;info&amp;gt; time_sync: 39826, 8, 540212    timestamp: 1350552
[00:05:20.139,953] &amp;lt;info&amp;gt; time_sync: 39826, 24, 540212    timestamp: 1350592
[00:05:20.179,931] &amp;lt;info&amp;gt; time_sync: 39840, 1, 540251    timestamp: 1350632
[00:05:20.219,970] &amp;lt;info&amp;gt; time_sync: 39844, 4, 540264    timestamp: 1350672
[00:05:20.259,948] &amp;lt;info&amp;gt; time_sync: 39849, 7, 540277    timestamp: 1350712
[00:05:20.299,926] &amp;lt;info&amp;gt; time_sync: 39854, 10, 540290    timestamp: 1350752
[00:05:20.339,965] &amp;lt;info&amp;gt; time_sync: 39853, 26, 540290    timestamp: 1350792
[00:05:20.379,943] &amp;lt;info&amp;gt; time_sync: 39867, 3, 540329    timestamp: 1350832
[00:05:20.419,982] &amp;lt;info&amp;gt; time_sync: 39872, 6, 540342    timestamp: 1350872
[00:05:20.459,960] &amp;lt;info&amp;gt; time_sync: 39876, 9, 540355    timestamp: 1350912
[00:05:20.499,938] &amp;lt;info&amp;gt; time_sync: 39876, 25, 540355    timestamp: 1350952
[00:05:20.539,978] &amp;lt;info&amp;gt; time_sync: 39890, 2, 540394    timestamp: 1350992
[00:05:20.579,956] &amp;lt;info&amp;gt; time_sync: 39895, 5, 540407    timestamp: 1351032
[00:05:20.619,995] &amp;lt;info&amp;gt; time_sync: 39900, 8, 540420    timestamp: 1351072
[00:05:20.659,973] &amp;lt;info&amp;gt; time_sync: 39900, 24, 540420    timestamp: 1351112
[00:05:20.699,951] &amp;lt;info&amp;gt; time_sync: 39913, 1, 540459    timestamp: 1351152
[00:05:20.739,990] &amp;lt;info&amp;gt; time_sync: 39918, 4, 540472    timestamp: 1351192
[00:05:20.779,968] &amp;lt;info&amp;gt; time_sync: 39922, 7, 540485    timestamp: 1351232
[00:05:20.820,007] &amp;lt;info&amp;gt; time_sync: 39927, 10, 540498    timestamp: 1351272
[00:05:20.859,985] &amp;lt;info&amp;gt; time_sync: 39927, 26, 540498    timestamp: 1351312
[00:05:20.899,963] &amp;lt;info&amp;gt; time_sync: 39940, 3, 540537    timestamp: 1351352
[00:05:20.940,002] &amp;lt;info&amp;gt; time_sync: 39945, 6, 540550    timestamp: 1351392
[00:05:20.979,980] &amp;lt;info&amp;gt; time_sync: 39949, 9, 540563    timestamp: 1351432
[00:05:21.020,019] &amp;lt;info&amp;gt; time_sync: 39949, 25, 540563    timestamp: 1351472
[00:05:21.059,997] &amp;lt;info&amp;gt; time_sync: 39964, 2, 540602    timestamp: 1351512
[00:05:21.099,975] &amp;lt;info&amp;gt; time_sync: 39968, 5, 540615    timestamp: 1351552
[00:05:21.140,014] &amp;lt;info&amp;gt; time_sync: 39972, 8, 540628    timestamp: 1351592
[00:05:21.179,992] &amp;lt;info&amp;gt; time_sync: 39973, 24, 540628    timestamp: 1351632
[00:05:21.219,970] &amp;lt;info&amp;gt; time_sync: 39986, 1, 540667    timestamp: 1351672
[00:05:21.260,009] &amp;lt;info&amp;gt; time_sync: 39990, 4, 540680    timestamp: 1351712
[00:05:21.299,987] &amp;lt;info&amp;gt; time_sync: 39995, 7, 540693    timestamp: 1351752
[00:05:21.340,026] &amp;lt;info&amp;gt; time_sync: 0, 10, 540706    timestamp: 1351790
[00:05:21.380,004] &amp;lt;info&amp;gt; time_sync: 0, 26, 540706    timestamp: 1351830
[00:05:21.419,982] &amp;lt;info&amp;gt; time_sync: 14, 4, 540745    timestamp: 1351873
[00:05:21.460,021] &amp;lt;info&amp;gt; time_sync: 18, 7, 540758    timestamp: 1351913
[00:05:21.500,000] &amp;lt;info&amp;gt; time_sync: 23, 10, 540771    timestamp: 1351953
[00:05:21.540,039] &amp;lt;info&amp;gt; time_sync: 23, 26, 540771    timestamp: 1351993
[00:05:21.580,017] &amp;lt;info&amp;gt; time_sync: 36, 3, 540810    timestamp: 1352033
[00:05:21.619,995] &amp;lt;info&amp;gt; time_sync: 42, 6, 540823    timestamp: 1352073
[00:05:21.660,034] &amp;lt;info&amp;gt; time_sync: 45, 9, 540836    timestamp: 1352113
[00:05:21.700,012] &amp;lt;info&amp;gt; time_sync: 45, 25, 540836    timestamp: 1352153
[00:05:21.740,051] &amp;lt;info&amp;gt; time_sync: 59, 2, 540875    timestamp: 1352193
[00:05:21.780,029] &amp;lt;info&amp;gt; time_sync: 64, 5, 540888    timestamp: 1352233
[00:05:21.820,007] &amp;lt;info&amp;gt; time_sync: 68, 8, 540901    timestamp: 1352273
[00:05:21.860,046] &amp;lt;info&amp;gt; time_sync: 73, 11, 540914    timestamp: 1352313
[00:05:21.900,024] &amp;lt;info&amp;gt; time_sync: 73, 27, 540914    timestamp: 1352353
[00:05:21.940,063] &amp;lt;info&amp;gt; time_sync: 86, 4, 540953    timestamp: 1352393
[00:05:21.980,041] &amp;lt;info&amp;gt; time_sync: 74, 20, 540953    timestamp: 1352433
[00:05:22.020,019] &amp;lt;info&amp;gt; time_sync: 74, 36, 540953    timestamp: 1352473
[00:05:22.060,058] &amp;lt;info&amp;gt; time_sync: 74, 52, 540953    timestamp: 1352513
[00:05:22.100,036] &amp;lt;info&amp;gt; time_sync: 74, 68, 540953    timestamp: 1352553
[00:05:22.140,014] &amp;lt;info&amp;gt; time_sync: 74, 84, 540953    timestamp: 1352593
[00:05:22.180,053] &amp;lt;info&amp;gt; time_sync: 74, 100, 540953    timestamp: 1352633
[00:05:22.220,031] &amp;lt;info&amp;gt; time_sync: 74, 116, 540953    timestamp: 1352673
[00:05:22.260,070] &amp;lt;info&amp;gt; time_sync: 74, 132, 540953    timestamp: 1352713
[00:05:22.300,048] &amp;lt;info&amp;gt; time_sync: 74, 148, 540953    timestamp: 1352753
[00:05:22.340,026] &amp;lt;info&amp;gt; time_sync: 74, 164, 540953    timestamp: 1352793
[00:05:22.380,065] &amp;lt;info&amp;gt; time_sync: 74, 180, 540953    timestamp: 1352833
[00:05:22.420,043] &amp;lt;info&amp;gt; time_sync: 74, 196, 540953    timestamp: 1352873
[00:05:22.460,083] &amp;lt;info&amp;gt; time_sync: 74, 212, 540953    timestamp: 1352913
[00:05:22.500,061] &amp;lt;info&amp;gt; time_sync: 74, 228, 540953    timestamp: 1352953
[00:05:22.540,039] &amp;lt;info&amp;gt; time_sync: 74, 244, 540953    timestamp: 1352993
[00:05:22.580,078] &amp;lt;info&amp;gt; time_sync: 74, 260, 540953    timestamp: 1353033
[00:05:22.620,056] &amp;lt;info&amp;gt; time_sync: 74, 276, 540953    timestamp: 1353073
[00:05:22.660,095] &amp;lt;info&amp;gt; time_sync: 74, 292, 540953    timestamp: 1353113
[00:05:22.700,073] &amp;lt;info&amp;gt; time_sync: 74, 308, 540953    timestamp: 1353153
[00:05:22.740,051] &amp;lt;info&amp;gt; time_sync: 74, 324, 540953    timestamp: 1353193
[00:05:22.780,090] &amp;lt;info&amp;gt; time_sync: 74, 340, 540953    timestamp: 1353233
[00:05:22.820,068] &amp;lt;info&amp;gt; time_sync: 74, 356, 540953    timestamp: 1353273
[00:05:22.860,046] &amp;lt;info&amp;gt; time_sync: 74, 372, 540953    timestamp: 1353313
[00:05:22.900,085] &amp;lt;info&amp;gt; time_sync: 74, 388, 540953    timestamp: 1353353
[00:05:22.940,063] &amp;lt;info&amp;gt; time_sync: 74, 404, 540953    timestamp: 1353393
[00:05:22.980,102] &amp;lt;info&amp;gt; time_sync: 74, 420, 540953    timestamp: 1353433
[00:05:23.020,080] &amp;lt;info&amp;gt; time_sync: 74, 436, 540953    timestamp: 1353473
[00:05:23.060,058] &amp;lt;info&amp;gt; time_sync: 74, 452, 540953    timestamp: 1353513
[00:05:23.100,097] &amp;lt;info&amp;gt; time_sync: 74, 468, 540953    timestamp: 1353553
[00:05:23.140,075] &amp;lt;info&amp;gt; time_sync: 74, 484, 540953    timestamp: 1353593
[00:05:23.180,114] &amp;lt;info&amp;gt; time_sync: 74, 500, 540953    timestamp: 1353633
[00:05:23.220,092] &amp;lt;info&amp;gt; time_sync: 74, 516, 540953    timestamp: 1353673&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can see that the offset happened in line 72. We can also see that the peripheral still receives the beacon sync pakets until line 87. At this point the central stops sending sync beacons as a consequence of the selfmade error to catch the relevant debug data. So the peripheral can not receive any sync beacon pakets anymore, because there are none.&lt;/p&gt;
&lt;p&gt;It is also interesting that the offset occures when the sync_timer_val goes to zero.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;--------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Central&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is the debug log on the central side. The debug log is the corresponding&amp;nbsp;one to debug log of the peripheral, which I descriped a few lines earlier.&lt;/p&gt;
&lt;p&gt;This is pretty much the same as in my previous reply.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; time_sync: 32680, 540718, 0    timestamp: 1351797
&amp;lt;info&amp;gt; time_sync: 8651, 540719, 0    timestamp: 1351798
&amp;lt;info&amp;gt; time_sync: 16656, 540722, 0    timestamp: 1351806
&amp;lt;info&amp;gt; time_sync: 32656, 540722, 0    timestamp: 1351807
&amp;lt;info&amp;gt; time_sync: 8656, 540723, 0    timestamp: 1351808
&amp;lt;info&amp;gt; time_sync: 24656, 540723, 0    timestamp: 1351809
&amp;lt;info&amp;gt; time_sync: 656, 540724, 0    timestamp: 1351810
&amp;lt;info&amp;gt; time_sync: 16656, 540724, 0    timestamp: 1351811
&amp;lt;info&amp;gt; time_sync: 32656, 540724, 0    timestamp: 1351812
&amp;lt;info&amp;gt; time_sync: 8656, 540725, 0    timestamp: 1351813
&amp;lt;info&amp;gt; time_sync: 24656, 540725, 0    timestamp: 1351814
&amp;lt;info&amp;gt; time_sync: 656, 540726, 0    timestamp: 1351815
&amp;lt;info&amp;gt; time_sync: 16656, 540726, 0    timestamp: 1351816
&amp;lt;info&amp;gt; time_sync: 32656, 540726, 0    timestamp: 1351817
&amp;lt;info&amp;gt; time_sync: 8656, 540727, 0    timestamp: 1351818
&amp;lt;info&amp;gt; time_sync: 24656, 540727, 0    timestamp: 1351819
&amp;lt;info&amp;gt; time_sync: 656, 540728, 0    timestamp: 1351820
&amp;lt;info&amp;gt; time_sync: 16656, 540728, 0    timestamp: 1351821
&amp;lt;info&amp;gt; time_sync: 32657, 540728, 0    timestamp: 1351822
&amp;lt;info&amp;gt; time_sync: 8656, 540729, 0    timestamp: 1351823
&amp;lt;info&amp;gt; time_sync: 24656, 540729, 0    timestamp: 1351824
&amp;lt;info&amp;gt; time_sync: 656, 540730, 0    timestamp: 1351825
&amp;lt;info&amp;gt; time_sync: 32657, 540730, 0    timestamp: 1351827
&amp;lt;info&amp;gt; time_sync: 8647, 540731, 0    timestamp: 1351828
&amp;lt;info&amp;gt; time_sync: 24657, 540731, 0    timestamp: 1351829
&amp;lt;info&amp;gt; time_sync: 656, 540732, 0    timestamp: 1351830
&amp;lt;info&amp;gt; time_sync: 16656, 540732, 0    timestamp: 1351831
&amp;lt;info&amp;gt; app: diff: 38
&amp;lt;info&amp;gt; time_sync: 34937, 540732, 0    timestamp: 1351832
&amp;lt;info&amp;gt; app: Zeit bei Emfpfang: 1351832 ms
&amp;lt;info&amp;gt; time_sync: 37943, 540732, 0    timestamp: 1351832
&amp;lt;info&amp;gt; time_sync: 8654, 540733, 0    timestamp: 1351833
&amp;lt;info&amp;gt; time_sync: 24770, 540733, 0    timestamp: 1351834
&amp;lt;info&amp;gt; time_sync: 733, 540734, 0    timestamp: 1351835
&amp;lt;info&amp;gt; time_sync: 16680, 540734, 0    timestamp: 1351836
&amp;lt;info&amp;gt; time_sync: 32728, 540734, 0    timestamp: 1351837
&amp;lt;info&amp;gt; time_sync: 8648, 540735, 0    timestamp: 1351838
&amp;lt;info&amp;gt; time_sync: 32656, 540738, 0    timestamp: 1351847
&amp;lt;info&amp;gt; time_sync: 8656, 540739, 0    timestamp: 1351848
&amp;lt;info&amp;gt; time_sync: 24656, 540739, 0    timestamp: 1351849
&amp;lt;info&amp;gt; time_sync: 656, 540740, 0    timestamp: 1351850
&amp;lt;info&amp;gt; time_sync: 16656, 540740, 0    timestamp: 1351851
&amp;lt;info&amp;gt; time_sync: 32656, 540740, 0    timestamp: 1351852
&amp;lt;info&amp;gt; time_sync: 8656, 540741, 0    timestamp: 1351853
&amp;lt;info&amp;gt; time_sync: 24656, 540741, 0    timestamp: 1351854
&amp;lt;info&amp;gt; time_sync: 656, 540742, 0    timestamp: 1351855
&amp;lt;info&amp;gt; time_sync: 16656, 540742, 0    timestamp: 1351856
&amp;lt;info&amp;gt; time_sync: 32656, 540742, 0    timestamp: 1351857
&amp;lt;info&amp;gt; time_sync: 8656, 540743, 0    timestamp: 1351858
&amp;lt;info&amp;gt; time_sync: 24656, 540743, 0    timestamp: 1351859
&amp;lt;info&amp;gt; time_sync: 656, 540744, 0    timestamp: 1351860
&amp;lt;info&amp;gt; time_sync: 16655, 540744, 0    timestamp: 1351861
&amp;lt;info&amp;gt; time_sync: 32656, 540744, 0    timestamp: 1351862
&amp;lt;info&amp;gt; time_sync: 8655, 540745, 0    timestamp: 1351863
&amp;lt;info&amp;gt; time_sync: 24657, 540745, 0    timestamp: 1351864
&amp;lt;info&amp;gt; time_sync: 647, 540746, 0    timestamp: 1351865
&amp;lt;info&amp;gt; time_sync: 16656, 540746, 0    timestamp: 1351866
&amp;lt;info&amp;gt; time_sync: 32656, 540746, 0    timestamp: 1351867
&amp;lt;info&amp;gt; time_sync: 24657, 540747, 0    timestamp: 1351869
&amp;lt;info&amp;gt; time_sync: 647, 540748, 0    timestamp: 1351870
&amp;lt;info&amp;gt; time_sync: 16657, 540748, 0    timestamp: 1351871
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37541, 540748, 0    timestamp: 1351872
&amp;lt;info&amp;gt; time_sync: 8804, 540749, 0    timestamp: 1351873
&amp;lt;info&amp;gt; time_sync: 24655, 540749, 0    timestamp: 1351874
&amp;lt;info&amp;gt; time_sync: 716, 540750, 0    timestamp: 1351875
&amp;lt;info&amp;gt; time_sync: 16697, 540750, 0    timestamp: 1351876
&amp;lt;info&amp;gt; time_sync: 32655, 540752, 0    timestamp: 1351882
&amp;lt;info&amp;gt; time_sync: 8656, 540753, 0    timestamp: 1351883
&amp;lt;info&amp;gt; time_sync: 24656, 540753, 0    timestamp: 1351884
&amp;lt;info&amp;gt; time_sync: 656, 540754, 0    timestamp: 1351885
&amp;lt;info&amp;gt; time_sync: 16656, 540754, 0    timestamp: 1351886
&amp;lt;info&amp;gt; time_sync: 32656, 540754, 0    timestamp: 1351887
&amp;lt;info&amp;gt; time_sync: 8656, 540755, 0    timestamp: 1351888
&amp;lt;info&amp;gt; time_sync: 24656, 540755, 0    timestamp: 1351889
&amp;lt;info&amp;gt; time_sync: 656, 540756, 0    timestamp: 1351890
&amp;lt;info&amp;gt; time_sync: 16656, 540756, 0    timestamp: 1351891
&amp;lt;info&amp;gt; time_sync: 32656, 540756, 0    timestamp: 1351892
&amp;lt;info&amp;gt; time_sync: 8655, 540757, 0    timestamp: 1351893
&amp;lt;info&amp;gt; time_sync: 24656, 540757, 0    timestamp: 1351894
&amp;lt;info&amp;gt; time_sync: 655, 540758, 0    timestamp: 1351895
&amp;lt;info&amp;gt; time_sync: 16657, 540758, 0    timestamp: 1351896
&amp;lt;info&amp;gt; time_sync: 32647, 540758, 0    timestamp: 1351897
&amp;lt;info&amp;gt; time_sync: 8656, 540759, 0    timestamp: 1351898
&amp;lt;info&amp;gt; time_sync: 24656, 540759, 0    timestamp: 1351899
&amp;lt;info&amp;gt; time_sync: 656, 540760, 0    timestamp: 1351900
&amp;lt;info&amp;gt; time_sync: 16657, 540760, 0    timestamp: 1351901
&amp;lt;info&amp;gt; time_sync: 32647, 540760, 0    timestamp: 1351902
&amp;lt;info&amp;gt; time_sync: 8656, 540761, 0    timestamp: 1351903
&amp;lt;info&amp;gt; time_sync: 24656, 540761, 0    timestamp: 1351904
&amp;lt;info&amp;gt; time_sync: 656, 540764, 0    timestamp: 1351910
&amp;lt;info&amp;gt; time_sync: 16656, 540764, 0    timestamp: 1351911
&amp;lt;info&amp;gt; app: diff: 43
&amp;lt;info&amp;gt; time_sync: 35004, 540764, 0    timestamp: 1351912
&amp;lt;info&amp;gt; app: Zeit bei Emfpfang: 1351912 ms
&amp;lt;info&amp;gt; time_sync: 38010, 540764, 0    timestamp: 1351912
&amp;lt;info&amp;gt; time_sync: 8701, 540765, 0    timestamp: 1351913
&amp;lt;info&amp;gt; time_sync: 24834, 540765, 0    timestamp: 1351914
&amp;lt;info&amp;gt; time_sync: 647, 540766, 0    timestamp: 1351915
&amp;lt;info&amp;gt; time_sync: 16703, 540766, 0    timestamp: 1351916
&amp;lt;info&amp;gt; time_sync: 32825, 540766, 0    timestamp: 1351917
&amp;lt;info&amp;gt; time_sync: 8655, 540767, 0    timestamp: 1351918
&amp;lt;info&amp;gt; time_sync: 24656, 540767, 0    timestamp: 1351919
&amp;lt;info&amp;gt; time_sync: 656, 540770, 0    timestamp: 1351925
&amp;lt;info&amp;gt; time_sync: 16655, 540770, 0    timestamp: 1351926
&amp;lt;info&amp;gt; time_sync: 32656, 540770, 0    timestamp: 1351927
&amp;lt;info&amp;gt; time_sync: 8655, 540771, 0    timestamp: 1351928
&amp;lt;info&amp;gt; time_sync: 24656, 540771, 0    timestamp: 1351929
&amp;lt;info&amp;gt; time_sync: 656, 540772, 0    timestamp: 1351930
&amp;lt;info&amp;gt; time_sync: 16656, 540772, 0    timestamp: 1351931
&amp;lt;info&amp;gt; time_sync: 32656, 540772, 0    timestamp: 1351932
&amp;lt;info&amp;gt; time_sync: 8656, 540773, 0    timestamp: 1351933
&amp;lt;info&amp;gt; time_sync: 24656, 540773, 0    timestamp: 1351934
&amp;lt;info&amp;gt; time_sync: 656, 540774, 0    timestamp: 1351935
&amp;lt;info&amp;gt; time_sync: 16656, 540774, 0    timestamp: 1351936
&amp;lt;info&amp;gt; time_sync: 32656, 540774, 0    timestamp: 1351937
&amp;lt;info&amp;gt; time_sync: 8656, 540775, 0    timestamp: 1351938
&amp;lt;info&amp;gt; time_sync: 24656, 540775, 0    timestamp: 1351939
&amp;lt;info&amp;gt; time_sync: 657, 540776, 0    timestamp: 1351940
&amp;lt;info&amp;gt; time_sync: 16647, 540776, 0    timestamp: 1351941
&amp;lt;info&amp;gt; time_sync: 32656, 540776, 0    timestamp: 1351942
&amp;lt;info&amp;gt; time_sync: 8656, 540777, 0    timestamp: 1351943
&amp;lt;info&amp;gt; time_sync: 24656, 540777, 0    timestamp: 1351944
&amp;lt;info&amp;gt; time_sync: 657, 540778, 0    timestamp: 1351945
&amp;lt;info&amp;gt; time_sync: 16647, 540778, 0    timestamp: 1351946
&amp;lt;info&amp;gt; time_sync: 32656, 540778, 0    timestamp: 1351947
&amp;lt;info&amp;gt; time_sync: 24657, 540779, 0    timestamp: 1351949
&amp;lt;info&amp;gt; time_sync: 647, 540780, 0    timestamp: 1351950
&amp;lt;info&amp;gt; time_sync: 16657, 540780, 0    timestamp: 1351951
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37450, 540780, 0    timestamp: 1351952
&amp;lt;info&amp;gt; time_sync: 8707, 540781, 0    timestamp: 1351953
&amp;lt;info&amp;gt; time_sync: 24832, 540781, 0    timestamp: 1351954
&amp;lt;info&amp;gt; time_sync: 830, 540782, 0    timestamp: 1351955
&amp;lt;info&amp;gt; time_sync: 16813, 540782, 0    timestamp: 1351956
&amp;lt;info&amp;gt; time_sync: 32760, 540782, 0    timestamp: 1351957
&amp;lt;info&amp;gt; time_sync: 8656, 540785, 0    timestamp: 1351963
&amp;lt;info&amp;gt; time_sync: 24656, 540785, 0    timestamp: 1351964
&amp;lt;info&amp;gt; time_sync: 656, 540786, 0    timestamp: 1351965
&amp;lt;info&amp;gt; time_sync: 16656, 540786, 0    timestamp: 1351966
&amp;lt;info&amp;gt; time_sync: 32656, 540786, 0    timestamp: 1351967
&amp;lt;info&amp;gt; time_sync: 8656, 540787, 0    timestamp: 1351968
&amp;lt;info&amp;gt; time_sync: 24656, 540787, 0    timestamp: 1351969
&amp;lt;info&amp;gt; time_sync: 656, 540788, 0    timestamp: 1351970
&amp;lt;info&amp;gt; time_sync: 16656, 540788, 0    timestamp: 1351971
&amp;lt;info&amp;gt; time_sync: 32656, 540788, 0    timestamp: 1351972
&amp;lt;info&amp;gt; time_sync: 8657, 540789, 0    timestamp: 1351973
&amp;lt;info&amp;gt; time_sync: 24647, 540789, 0    timestamp: 1351974
&amp;lt;info&amp;gt; time_sync: 656, 540790, 0    timestamp: 1351975
&amp;lt;info&amp;gt; time_sync: 16656, 540790, 0    timestamp: 1351976
&amp;lt;info&amp;gt; time_sync: 32656, 540790, 0    timestamp: 1351977
&amp;lt;info&amp;gt; time_sync: 8657, 540791, 0    timestamp: 1351978
&amp;lt;info&amp;gt; time_sync: 24656, 540791, 0    timestamp: 1351979
&amp;lt;info&amp;gt; time_sync: 24656, 540793, 0    timestamp: 1351984
&amp;lt;info&amp;gt; time_sync: 656, 540794, 0    timestamp: 1351985
&amp;lt;info&amp;gt; time_sync: 16656, 540794, 0    timestamp: 1351986
&amp;lt;info&amp;gt; time_sync: 32656, 540794, 0    timestamp: 1351987
&amp;lt;info&amp;gt; time_sync: 8656, 540795, 0    timestamp: 1351988
&amp;lt;info&amp;gt; time_sync: 24656, 540795, 0    timestamp: 1351989
&amp;lt;info&amp;gt; time_sync: 656, 540796, 0    timestamp: 1351990
&amp;lt;info&amp;gt; time_sync: 16656, 540796, 0    timestamp: 1351991
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37594, 540796, 0    timestamp: 1351992
&amp;lt;info&amp;gt; time_sync: 8654, 540797, 0    timestamp: 1351993
&amp;lt;info&amp;gt; time_sync: 24749, 540797, 0    timestamp: 1351994
&amp;lt;info&amp;gt; time_sync: 696, 540798, 0    timestamp: 1351995
&amp;lt;info&amp;gt; time_sync: 16744, 540798, 0    timestamp: 1351996
&amp;lt;info&amp;gt; time_sync: 32792, 540798, 0    timestamp: 1351997
&amp;lt;info&amp;gt; time_sync: 8656, 540799, 0    timestamp: 1351998
&amp;lt;info&amp;gt; time_sync: 24657, 540799, 0    timestamp: 1351999
&amp;lt;info&amp;gt; time_sync: 656, 540800, 0    timestamp: 1352000
&amp;lt;info&amp;gt; time_sync: 32656, 540802, 0    timestamp: 1352007
&amp;lt;info&amp;gt; time_sync: 8656, 540803, 0    timestamp: 1352008
&amp;lt;info&amp;gt; time_sync: 24656, 540803, 0    timestamp: 1352009
&amp;lt;info&amp;gt; time_sync: 656, 540804, 0    timestamp: 1352010
&amp;lt;info&amp;gt; time_sync: 16656, 540804, 0    timestamp: 1352011
&amp;lt;info&amp;gt; time_sync: 32656, 540804, 0    timestamp: 1352012
&amp;lt;info&amp;gt; time_sync: 8656, 540805, 0    timestamp: 1352013
&amp;lt;info&amp;gt; time_sync: 24656, 540805, 0    timestamp: 1352014
&amp;lt;info&amp;gt; time_sync: 656, 540806, 0    timestamp: 1352015
&amp;lt;info&amp;gt; time_sync: 16656, 540806, 0    timestamp: 1352016
&amp;lt;info&amp;gt; time_sync: 32656, 540806, 0    timestamp: 1352017
&amp;lt;info&amp;gt; time_sync: 8656, 540807, 0    timestamp: 1352018
&amp;lt;info&amp;gt; time_sync: 24656, 540807, 0    timestamp: 1352019
&amp;lt;info&amp;gt; time_sync: 656, 540808, 0    timestamp: 1352020
&amp;lt;info&amp;gt; time_sync: 16657, 540808, 0    timestamp: 1352021
&amp;lt;info&amp;gt; time_sync: 32656, 540808, 0    timestamp: 1352022
&amp;lt;info&amp;gt; time_sync: 8655, 540809, 0    timestamp: 1352023
&amp;lt;info&amp;gt; time_sync: 24656, 540809, 0    timestamp: 1352024
&amp;lt;info&amp;gt; time_sync: 657, 540810, 0    timestamp: 1352025
&amp;lt;info&amp;gt; time_sync: 16656, 540810, 0    timestamp: 1352026
&amp;lt;info&amp;gt; time_sync: 32656, 540810, 0    timestamp: 1352027
&amp;lt;info&amp;gt; time_sync: 24657, 540811, 0    timestamp: 1352029
&amp;lt;info&amp;gt; time_sync: 647, 540812, 0    timestamp: 1352030
&amp;lt;info&amp;gt; time_sync: 16657, 540812, 0    timestamp: 1352031
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37366, 540812, 0    timestamp: 1352032
&amp;lt;info&amp;gt; time_sync: 8654, 540813, 0    timestamp: 1352033
&amp;lt;info&amp;gt; time_sync: 24819, 540813, 0    timestamp: 1352034
&amp;lt;info&amp;gt; time_sync: 800, 540814, 0    timestamp: 1352035
&amp;lt;info&amp;gt; time_sync: 16801, 540814, 0    timestamp: 1352036
&amp;lt;info&amp;gt; time_sync: 8656, 540817, 0    timestamp: 1352043
&amp;lt;info&amp;gt; time_sync: 24656, 540817, 0    timestamp: 1352044
&amp;lt;info&amp;gt; time_sync: 656, 540818, 0    timestamp: 1352045
&amp;lt;info&amp;gt; time_sync: 16656, 540818, 0    timestamp: 1352046
&amp;lt;info&amp;gt; time_sync: 32656, 540818, 0    timestamp: 1352047
&amp;lt;info&amp;gt; time_sync: 8656, 540819, 0    timestamp: 1352048
&amp;lt;info&amp;gt; time_sync: 24656, 540819, 0    timestamp: 1352049
&amp;lt;info&amp;gt; time_sync: 656, 540820, 0    timestamp: 1352050
&amp;lt;info&amp;gt; time_sync: 16656, 540820, 0    timestamp: 1352051
&amp;lt;info&amp;gt; time_sync: 32656, 540820, 0    timestamp: 1352052
&amp;lt;info&amp;gt; time_sync: 8656, 540821, 0    timestamp: 1352053
&amp;lt;info&amp;gt; time_sync: 24656, 540821, 0    timestamp: 1352054
&amp;lt;info&amp;gt; time_sync: 656, 540822, 0    timestamp: 1352055
&amp;lt;info&amp;gt; time_sync: 16655, 540822, 0    timestamp: 1352056
&amp;lt;info&amp;gt; time_sync: 32656, 540822, 0    timestamp: 1352057
&amp;lt;info&amp;gt; time_sync: 8655, 540823, 0    timestamp: 1352058
&amp;lt;info&amp;gt; time_sync: 24656, 540823, 0    timestamp: 1352059
&amp;lt;info&amp;gt; time_sync: 657, 540824, 0    timestamp: 1352060
&amp;lt;info&amp;gt; time_sync: 16647, 540824, 0    timestamp: 1352061
&amp;lt;info&amp;gt; time_sync: 32656, 540824, 0    timestamp: 1352062
&amp;lt;info&amp;gt; time_sync: 8656, 540825, 0    timestamp: 1352063
&amp;lt;info&amp;gt; time_sync: 657, 540826, 0    timestamp: 1352065
&amp;lt;info&amp;gt; time_sync: 16647, 540826, 0    timestamp: 1352066
&amp;lt;info&amp;gt; time_sync: 32647, 540826, 0    timestamp: 1352067
&amp;lt;info&amp;gt; time_sync: 8656, 540827, 0    timestamp: 1352068
&amp;lt;info&amp;gt; time_sync: 24656, 540827, 0    timestamp: 1352069
&amp;lt;info&amp;gt; time_sync: 656, 540828, 0    timestamp: 1352070
&amp;lt;info&amp;gt; time_sync: 16656, 540828, 0    timestamp: 1352071
&amp;lt;info&amp;gt; time_sync: 35509, 540828, 0    timestamp: 1352072
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 8699, 540829, 0    timestamp: 1352073
&amp;lt;info&amp;gt; time_sync: 24663, 540829, 0    timestamp: 1352074
&amp;lt;info&amp;gt; time_sync: 737, 540830, 0    timestamp: 1352075
&amp;lt;info&amp;gt; time_sync: 16649, 540830, 0    timestamp: 1352076
&amp;lt;info&amp;gt; time_sync: 32648, 540830, 0    timestamp: 1352077
&amp;lt;info&amp;gt; time_sync: 8648, 540831, 0    timestamp: 1352078
&amp;lt;info&amp;gt; time_sync: 657, 540832, 0    timestamp: 1352080
&amp;lt;info&amp;gt; time_sync: 16647, 540832, 0    timestamp: 1352081
&amp;lt;info&amp;gt; time_sync: 32657, 540832, 0    timestamp: 1352082
&amp;lt;info&amp;gt; time_sync: 8656, 540833, 0    timestamp: 1352083
&amp;lt;info&amp;gt; time_sync: 16656, 540836, 0    timestamp: 1352091
&amp;lt;info&amp;gt; time_sync: 32656, 540836, 0    timestamp: 1352092
&amp;lt;info&amp;gt; time_sync: 8656, 540837, 0    timestamp: 1352093
&amp;lt;info&amp;gt; time_sync: 24656, 540837, 0    timestamp: 1352094
&amp;lt;info&amp;gt; time_sync: 656, 540838, 0    timestamp: 1352095
&amp;lt;info&amp;gt; time_sync: 16656, 540838, 0    timestamp: 1352096
&amp;lt;info&amp;gt; time_sync: 32656, 540838, 0    timestamp: 1352097
&amp;lt;info&amp;gt; time_sync: 8656, 540839, 0    timestamp: 1352098
&amp;lt;info&amp;gt; time_sync: 24656, 540839, 0    timestamp: 1352099
&amp;lt;info&amp;gt; time_sync: 656, 540840, 0    timestamp: 1352100
&amp;lt;info&amp;gt; time_sync: 16656, 540840, 0    timestamp: 1352101
&amp;lt;info&amp;gt; time_sync: 32656, 540840, 0    timestamp: 1352102
&amp;lt;info&amp;gt; time_sync: 8656, 540841, 0    timestamp: 1352103
&amp;lt;info&amp;gt; time_sync: 24656, 540841, 0    timestamp: 1352104
&amp;lt;info&amp;gt; time_sync: 656, 540842, 0    timestamp: 1352105
&amp;lt;info&amp;gt; time_sync: 16656, 540842, 0    timestamp: 1352106
&amp;lt;info&amp;gt; time_sync: 32656, 540842, 0    timestamp: 1352107
&amp;lt;info&amp;gt; time_sync: 8657, 540843, 0    timestamp: 1352108
&amp;lt;info&amp;gt; time_sync: 24656, 540843, 0    timestamp: 1352109
&amp;lt;info&amp;gt; time_sync: 656, 540844, 0    timestamp: 1352110
&amp;lt;info&amp;gt; time_sync: 16656, 540844, 0    timestamp: 1352111
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37632, 540844, 0    timestamp: 1352112
&amp;lt;info&amp;gt; time_sync: 8654, 540845, 0    timestamp: 1352113
&amp;lt;info&amp;gt; time_sync: 24681, 540845, 0    timestamp: 1352114
&amp;lt;info&amp;gt; time_sync: 644, 540846, 0    timestamp: 1352115
&amp;lt;info&amp;gt; time_sync: 16680, 540846, 0    timestamp: 1352116
&amp;lt;info&amp;gt; time_sync: 32728, 540846, 0    timestamp: 1352117
&amp;lt;info&amp;gt; time_sync: 8656, 540847, 0    timestamp: 1352118
&amp;lt;info&amp;gt; time_sync: 24657, 540847, 0    timestamp: 1352119
&amp;lt;info&amp;gt; time_sync: 8656, 540851, 0    timestamp: 1352128
&amp;lt;info&amp;gt; time_sync: 24656, 540851, 0    timestamp: 1352129
&amp;lt;info&amp;gt; time_sync: 656, 540852, 0    timestamp: 1352130
&amp;lt;info&amp;gt; time_sync: 16656, 540852, 0    timestamp: 1352131
&amp;lt;info&amp;gt; time_sync: 32656, 540852, 0    timestamp: 1352132
&amp;lt;info&amp;gt; time_sync: 8656, 540853, 0    timestamp: 1352133
&amp;lt;info&amp;gt; time_sync: 24656, 540853, 0    timestamp: 1352134
&amp;lt;info&amp;gt; time_sync: 656, 540854, 0    timestamp: 1352135
&amp;lt;info&amp;gt; time_sync: 16656, 540854, 0    timestamp: 1352136
&amp;lt;info&amp;gt; time_sync: 32656, 540854, 0    timestamp: 1352137
&amp;lt;info&amp;gt; time_sync: 8656, 540855, 0    timestamp: 1352138
&amp;lt;info&amp;gt; time_sync: 24656, 540855, 0    timestamp: 1352139
&amp;lt;info&amp;gt; time_sync: 656, 540856, 0    timestamp: 1352140
&amp;lt;info&amp;gt; time_sync: 16656, 540856, 0    timestamp: 1352141
&amp;lt;info&amp;gt; time_sync: 32656, 540856, 0    timestamp: 1352142
&amp;lt;info&amp;gt; time_sync: 8656, 540857, 0    timestamp: 1352143
&amp;lt;info&amp;gt; time_sync: 24656, 540857, 0    timestamp: 1352144
&amp;lt;info&amp;gt; time_sync: 656, 540858, 0    timestamp: 1352145
&amp;lt;info&amp;gt; time_sync: 16657, 540858, 0    timestamp: 1352146
&amp;lt;info&amp;gt; time_sync: 32647, 540858, 0    timestamp: 1352147
&amp;lt;info&amp;gt; time_sync: 8656, 540859, 0    timestamp: 1352148
&amp;lt;info&amp;gt; time_sync: 24656, 540859, 0    timestamp: 1352149
&amp;lt;info&amp;gt; time_sync: 656, 540860, 0    timestamp: 1352150
&amp;lt;info&amp;gt; time_sync: 16657, 540860, 0    timestamp: 1352151
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37414, 540860, 0    timestamp: 1352152
&amp;lt;info&amp;gt; time_sync: 8775, 540861, 0    timestamp: 1352153
&amp;lt;info&amp;gt; time_sync: 24839, 540861, 0    timestamp: 1352154
&amp;lt;info&amp;gt; time_sync: 644, 540862, 0    timestamp: 1352155
&amp;lt;info&amp;gt; time_sync: 16718, 540862, 0    timestamp: 1352156
&amp;lt;info&amp;gt; time_sync: 32719, 540862, 0    timestamp: 1352157
&amp;lt;info&amp;gt; time_sync: 656, 540866, 0    timestamp: 1352165
&amp;lt;info&amp;gt; time_sync: 16656, 540866, 0    timestamp: 1352166
&amp;lt;info&amp;gt; time_sync: 32656, 540866, 0    timestamp: 1352167
&amp;lt;info&amp;gt; time_sync: 8656, 540867, 0    timestamp: 1352168
&amp;lt;info&amp;gt; time_sync: 24656, 540867, 0    timestamp: 1352169
&amp;lt;info&amp;gt; time_sync: 656, 540868, 0    timestamp: 1352170
&amp;lt;info&amp;gt; time_sync: 16656, 540868, 0    timestamp: 1352171
&amp;lt;info&amp;gt; time_sync: 32656, 540868, 0    timestamp: 1352172
&amp;lt;info&amp;gt; time_sync: 8656, 540869, 0    timestamp: 1352173
&amp;lt;info&amp;gt; time_sync: 24656, 540869, 0    timestamp: 1352174
&amp;lt;info&amp;gt; time_sync: 656, 540870, 0    timestamp: 1352175
&amp;lt;info&amp;gt; time_sync: 16656, 540870, 0    timestamp: 1352176
&amp;lt;info&amp;gt; time_sync: 32656, 540870, 0    timestamp: 1352177
&amp;lt;info&amp;gt; time_sync: 8656, 540871, 0    timestamp: 1352178
&amp;lt;info&amp;gt; time_sync: 24656, 540871, 0    timestamp: 1352179
&amp;lt;info&amp;gt; time_sync: 656, 540872, 0    timestamp: 1352180
&amp;lt;info&amp;gt; time_sync: 16656, 540872, 0    timestamp: 1352181
&amp;lt;info&amp;gt; time_sync: 32656, 540872, 0    timestamp: 1352182
&amp;lt;info&amp;gt; time_sync: 8657, 540873, 0    timestamp: 1352183
&amp;lt;info&amp;gt; time_sync: 24647, 540873, 0    timestamp: 1352184
&amp;lt;info&amp;gt; time_sync: 656, 540874, 0    timestamp: 1352185
&amp;lt;info&amp;gt; time_sync: 16655, 540874, 0    timestamp: 1352186
&amp;lt;info&amp;gt; time_sync: 32656, 540874, 0    timestamp: 1352187
&amp;lt;info&amp;gt; time_sync: 8657, 540875, 0    timestamp: 1352188
&amp;lt;info&amp;gt; time_sync: 24656, 540875, 0    timestamp: 1352189
&amp;lt;info&amp;gt; time_sync: 656, 540876, 0    timestamp: 1352190
&amp;lt;info&amp;gt; time_sync: 16657, 540876, 0    timestamp: 1352191
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37701, 540876, 0    timestamp: 1352192
&amp;lt;info&amp;gt; time_sync: 8743, 540877, 0    timestamp: 1352193
&amp;lt;info&amp;gt; time_sync: 24807, 540877, 0    timestamp: 1352194
&amp;lt;info&amp;gt; time_sync: 644, 540878, 0    timestamp: 1352195
&amp;lt;info&amp;gt; time_sync: 16705, 540878, 0    timestamp: 1352196
&amp;lt;info&amp;gt; time_sync: 32704, 540878, 0    timestamp: 1352197
&amp;lt;info&amp;gt; time_sync: 16656, 540882, 0    timestamp: 1352206
&amp;lt;info&amp;gt; time_sync: 32656, 540882, 0    timestamp: 1352207
&amp;lt;info&amp;gt; time_sync: 8656, 540883, 0    timestamp: 1352208
&amp;lt;info&amp;gt; time_sync: 24656, 540883, 0    timestamp: 1352209
&amp;lt;info&amp;gt; time_sync: 656, 540884, 0    timestamp: 1352210
&amp;lt;info&amp;gt; time_sync: 16656, 540884, 0    timestamp: 1352211
&amp;lt;info&amp;gt; time_sync: 32656, 540884, 0    timestamp: 1352212
&amp;lt;info&amp;gt; time_sync: 8656, 540885, 0    timestamp: 1352213
&amp;lt;info&amp;gt; time_sync: 24656, 540885, 0    timestamp: 1352214
&amp;lt;info&amp;gt; time_sync: 656, 540886, 0    timestamp: 1352215
&amp;lt;info&amp;gt; time_sync: 16656, 540886, 0    timestamp: 1352216
&amp;lt;info&amp;gt; time_sync: 32656, 540886, 0    timestamp: 1352217
&amp;lt;info&amp;gt; time_sync: 8655, 540887, 0    timestamp: 1352218
&amp;lt;info&amp;gt; time_sync: 24656, 540887, 0    timestamp: 1352219
&amp;lt;info&amp;gt; time_sync: 655, 540888, 0    timestamp: 1352220
&amp;lt;info&amp;gt; time_sync: 16656, 540888, 0    timestamp: 1352221
&amp;lt;info&amp;gt; time_sync: 32656, 540888, 0    timestamp: 1352222
&amp;lt;info&amp;gt; time_sync: 8656, 540889, 0    timestamp: 1352223
&amp;lt;info&amp;gt; time_sync: 24656, 540889, 0    timestamp: 1352224
&amp;lt;info&amp;gt; time_sync: 656, 540890, 0    timestamp: 1352225
&amp;lt;info&amp;gt; time_sync: 16656, 540890, 0    timestamp: 1352226
&amp;lt;info&amp;gt; time_sync: 32657, 540890, 0    timestamp: 1352227
&amp;lt;info&amp;gt; time_sync: 8647, 540891, 0    timestamp: 1352228
&amp;lt;info&amp;gt; time_sync: 24656, 540891, 0    timestamp: 1352229
&amp;lt;info&amp;gt; time_sync: 656, 540892, 0    timestamp: 1352230
&amp;lt;info&amp;gt; time_sync: 16657, 540892, 0    timestamp: 1352231
&amp;lt;info&amp;gt; time_sync: 35557, 540892, 0    timestamp: 1352232
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 8747, 540893, 0    timestamp: 1352233
&amp;lt;info&amp;gt; time_sync: 24711, 540893, 0    timestamp: 1352234
&amp;lt;info&amp;gt; time_sync: 792, 540894, 0    timestamp: 1352235
&amp;lt;info&amp;gt; time_sync: 16744, 540894, 0    timestamp: 1352236
&amp;lt;info&amp;gt; time_sync: 32792, 540894, 0    timestamp: 1352237
&amp;lt;info&amp;gt; time_sync: 8651, 540895, 0    timestamp: 1352238
&amp;lt;info&amp;gt; time_sync: 16656, 540898, 0    timestamp: 1352246
&amp;lt;info&amp;gt; time_sync: 32656, 540898, 0    timestamp: 1352247
&amp;lt;info&amp;gt; time_sync: 8656, 540899, 0    timestamp: 1352248
&amp;lt;info&amp;gt; time_sync: 24656, 540899, 0    timestamp: 1352249
&amp;lt;info&amp;gt; time_sync: 656, 540900, 0    timestamp: 1352250
&amp;lt;info&amp;gt; time_sync: 16655, 540900, 0    timestamp: 1352251
&amp;lt;info&amp;gt; time_sync: 32656, 540900, 0    timestamp: 1352252
&amp;lt;info&amp;gt; time_sync: 8655, 540901, 0    timestamp: 1352253
&amp;lt;info&amp;gt; time_sync: 24656, 540901, 0    timestamp: 1352254
&amp;lt;info&amp;gt; time_sync: 656, 540902, 0    timestamp: 1352255
&amp;lt;info&amp;gt; time_sync: 16656, 540902, 0    timestamp: 1352256
&amp;lt;info&amp;gt; time_sync: 32656, 540902, 0    timestamp: 1352257
&amp;lt;info&amp;gt; time_sync: 8656, 540903, 0    timestamp: 1352258
&amp;lt;info&amp;gt; time_sync: 24656, 540903, 0    timestamp: 1352259
&amp;lt;info&amp;gt; time_sync: 656, 540904, 0    timestamp: 1352260
&amp;lt;info&amp;gt; time_sync: 16656, 540904, 0    timestamp: 1352261
&amp;lt;info&amp;gt; time_sync: 32656, 540904, 0    timestamp: 1352262
&amp;lt;info&amp;gt; time_sync: 8656, 540905, 0    timestamp: 1352263
&amp;lt;info&amp;gt; time_sync: 24657, 540905, 0    timestamp: 1352264
&amp;lt;info&amp;gt; time_sync: 647, 540906, 0    timestamp: 1352265
&amp;lt;info&amp;gt; time_sync: 16656, 540906, 0    timestamp: 1352266
&amp;lt;info&amp;gt; time_sync: 32656, 540906, 0    timestamp: 1352267
&amp;lt;info&amp;gt; time_sync: 24657, 540907, 0    timestamp: 1352269
&amp;lt;info&amp;gt; time_sync: 647, 540908, 0    timestamp: 1352270
&amp;lt;info&amp;gt; time_sync: 16657, 540908, 0    timestamp: 1352271
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37433, 540908, 0    timestamp: 1352272
&amp;lt;info&amp;gt; time_sync: 8690, 540909, 0    timestamp: 1352273
&amp;lt;info&amp;gt; time_sync: 24835, 540909, 0    timestamp: 1352274
&amp;lt;info&amp;gt; time_sync: 816, 540910, 0    timestamp: 1352275
&amp;lt;info&amp;gt; time_sync: 16817, 540910, 0    timestamp: 1352276
&amp;lt;info&amp;gt; time_sync: 8655, 540913, 0    timestamp: 1352283
&amp;lt;info&amp;gt; time_sync: 24656, 540913, 0    timestamp: 1352284
&amp;lt;info&amp;gt; time_sync: 655, 540914, 0    timestamp: 1352285
&amp;lt;info&amp;gt; time_sync: 16656, 540914, 0    timestamp: 1352286
&amp;lt;info&amp;gt; time_sync: 32656, 540914, 0    timestamp: 1352287
&amp;lt;info&amp;gt; time_sync: 8656, 540915, 0    timestamp: 1352288
&amp;lt;info&amp;gt; time_sync: 24656, 540915, 0    timestamp: 1352289
&amp;lt;info&amp;gt; time_sync: 656, 540916, 0    timestamp: 1352290
&amp;lt;info&amp;gt; time_sync: 16656, 540916, 0    timestamp: 1352291
&amp;lt;info&amp;gt; time_sync: 32656, 540916, 0    timestamp: 1352292
&amp;lt;info&amp;gt; time_sync: 8656, 540917, 0    timestamp: 1352293
&amp;lt;info&amp;gt; time_sync: 24656, 540917, 0    timestamp: 1352294
&amp;lt;info&amp;gt; time_sync: 656, 540918, 0    timestamp: 1352295
&amp;lt;info&amp;gt; time_sync: 16656, 540918, 0    timestamp: 1352296
&amp;lt;info&amp;gt; time_sync: 32657, 540918, 0    timestamp: 1352297
&amp;lt;info&amp;gt; time_sync: 8647, 540919, 0    timestamp: 1352298
&amp;lt;info&amp;gt; time_sync: 24656, 540919, 0    timestamp: 1352299
&amp;lt;info&amp;gt; time_sync: 656, 540920, 0    timestamp: 1352300
&amp;lt;info&amp;gt; time_sync: 32657, 540920, 0    timestamp: 1352302
&amp;lt;info&amp;gt; time_sync: 8647, 540921, 0    timestamp: 1352303
&amp;lt;info&amp;gt; time_sync: 24647, 540921, 0    timestamp: 1352304
&amp;lt;info&amp;gt; time_sync: 656, 540922, 0    timestamp: 1352305
&amp;lt;info&amp;gt; time_sync: 16656, 540922, 0    timestamp: 1352306
&amp;lt;info&amp;gt; time_sync: 32656, 540922, 0    timestamp: 1352307
&amp;lt;info&amp;gt; time_sync: 8656, 540923, 0    timestamp: 1352308
&amp;lt;info&amp;gt; time_sync: 24657, 540923, 0    timestamp: 1352309
&amp;lt;info&amp;gt; time_sync: 647, 540924, 0    timestamp: 1352310
&amp;lt;info&amp;gt; time_sync: 16656, 540924, 0    timestamp: 1352311
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37760, 540924, 0    timestamp: 1352312
&amp;lt;info&amp;gt; time_sync: 8736, 540925, 0    timestamp: 1352313
&amp;lt;info&amp;gt; time_sync: 24845, 540925, 0    timestamp: 1352314
&amp;lt;info&amp;gt; time_sync: 792, 540926, 0    timestamp: 1352315
&amp;lt;info&amp;gt; time_sync: 32644, 540926, 0    timestamp: 1352317
&amp;lt;info&amp;gt; time_sync: 8650, 540927, 0    timestamp: 1352318
&amp;lt;info&amp;gt; time_sync: 24642, 540927, 0    timestamp: 1352319
&amp;lt;info&amp;gt; time_sync: 646, 540928, 0    timestamp: 1352320
&amp;lt;info&amp;gt; time_sync: 16643, 540928, 0    timestamp: 1352321
&amp;lt;info&amp;gt; time_sync: 32656, 540928, 0    timestamp: 1352322
&amp;lt;info&amp;gt; time_sync: 8657, 540929, 0    timestamp: 1352323
&amp;lt;info&amp;gt; time_sync: 24647, 540929, 0    timestamp: 1352324
&amp;lt;info&amp;gt; time_sync: 32656, 540932, 0    timestamp: 1352332
&amp;lt;info&amp;gt; time_sync: 8656, 540933, 0    timestamp: 1352333
&amp;lt;info&amp;gt; time_sync: 24656, 540933, 0    timestamp: 1352334
&amp;lt;info&amp;gt; time_sync: 656, 540934, 0    timestamp: 1352335
&amp;lt;info&amp;gt; time_sync: 16656, 540934, 0    timestamp: 1352336
&amp;lt;info&amp;gt; time_sync: 32656, 540934, 0    timestamp: 1352337
&amp;lt;info&amp;gt; time_sync: 8656, 540935, 0    timestamp: 1352338
&amp;lt;info&amp;gt; time_sync: 24656, 540935, 0    timestamp: 1352339
&amp;lt;info&amp;gt; time_sync: 656, 540936, 0    timestamp: 1352340
&amp;lt;info&amp;gt; time_sync: 16656, 540936, 0    timestamp: 1352341
&amp;lt;info&amp;gt; time_sync: 32656, 540936, 0    timestamp: 1352342
&amp;lt;info&amp;gt; time_sync: 8656, 540937, 0    timestamp: 1352343
&amp;lt;info&amp;gt; time_sync: 24656, 540937, 0    timestamp: 1352344
&amp;lt;info&amp;gt; time_sync: 656, 540938, 0    timestamp: 1352345
&amp;lt;info&amp;gt; time_sync: 16656, 540938, 0    timestamp: 1352346
&amp;lt;info&amp;gt; time_sync: 32656, 540938, 0    timestamp: 1352347
&amp;lt;info&amp;gt; time_sync: 8656, 540939, 0    timestamp: 1352348
&amp;lt;info&amp;gt; time_sync: 24657, 540939, 0    timestamp: 1352349
&amp;lt;info&amp;gt; time_sync: 656, 540940, 0    timestamp: 1352350
&amp;lt;info&amp;gt; time_sync: 16656, 540940, 0    timestamp: 1352351
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 37467, 540940, 0    timestamp: 1352352
&amp;lt;info&amp;gt; time_sync: 8723, 540941, 0    timestamp: 1352353
&amp;lt;info&amp;gt; time_sync: 24813, 540941, 0    timestamp: 1352354
&amp;lt;info&amp;gt; time_sync: 760, 540942, 0    timestamp: 1352355
&amp;lt;info&amp;gt; time_sync: 16808, 540942, 0    timestamp: 1352356
&amp;lt;info&amp;gt; time_sync: 32644, 540942, 0    timestamp: 1352357
&amp;lt;info&amp;gt; time_sync: 8656, 540943, 0    timestamp: 1352358
&amp;lt;info&amp;gt; time_sync: 24657, 540943, 0    timestamp: 1352359
&amp;lt;info&amp;gt; time_sync: 652, 540944, 0    timestamp: 1352360
&amp;lt;info&amp;gt; time_sync: 8656, 540947, 0    timestamp: 1352368
&amp;lt;info&amp;gt; time_sync: 24656, 540947, 0    timestamp: 1352369
&amp;lt;info&amp;gt; time_sync: 656, 540948, 0    timestamp: 1352370
&amp;lt;info&amp;gt; time_sync: 16656, 540948, 0    timestamp: 1352371
&amp;lt;info&amp;gt; time_sync: 32656, 540948, 0    timestamp: 1352372
&amp;lt;info&amp;gt; time_sync: 8656, 540949, 0    timestamp: 1352373
&amp;lt;info&amp;gt; time_sync: 24656, 540949, 0    timestamp: 1352374
&amp;lt;info&amp;gt; time_sync: 656, 540950, 0    timestamp: 1352375
&amp;lt;info&amp;gt; time_sync: 16656, 540950, 0    timestamp: 1352376
&amp;lt;info&amp;gt; time_sync: 32656, 540950, 0    timestamp: 1352377
&amp;lt;info&amp;gt; time_sync: 8656, 540951, 0    timestamp: 1352378
&amp;lt;info&amp;gt; time_sync: 24656, 540951, 0    timestamp: 1352379
&amp;lt;info&amp;gt; time_sync: 656, 540952, 0    timestamp: 1352380
&amp;lt;info&amp;gt; time_sync: 16655, 540952, 0    timestamp: 1352381
&amp;lt;info&amp;gt; time_sync: 32656, 540952, 0    timestamp: 1352382
&amp;lt;info&amp;gt; time_sync: 8655, 540953, 0    timestamp: 1352383
&amp;lt;info&amp;gt; time_sync: 24656, 540953, 0    timestamp: 1352384
&amp;lt;info&amp;gt; time_sync: 657, 540954, 0    timestamp: 1352385
&amp;lt;info&amp;gt; time_sync: 16656, 540954, 0    timestamp: 1352386
&amp;lt;info&amp;gt; time_sync: 32656, 540954, 0    timestamp: 1352387
&amp;lt;info&amp;gt; time_sync: 8656, 540955, 0    timestamp: 1352388
&amp;lt;info&amp;gt; time_sync: 24656, 540955, 0    timestamp: 1352389
&amp;lt;info&amp;gt; time_sync: 657, 540956, 0    timestamp: 1352390
&amp;lt;info&amp;gt; time_sync: 16657, 540956, 0    timestamp: 1352391
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;error&amp;gt; app: ERROR 0 [NRF_SUCCESS] ...&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;--------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I ran my tests multiple times. It looks like that the offset always occures when the sync_timer_val goes from 40000 to 0. Sometimes I also saw a bit of &amp;quot;jumping&amp;quot; of the sync_timer_val. This is the debug log of the peripheral of another test run:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:07:02.453,063] &amp;lt;info&amp;gt; time_sync: 39724, 3, 174194    timestamp: 435495
[00:07:02.493,041] &amp;lt;info&amp;gt; time_sync: 39729, 6, 174207    timestamp: 435535
[00:07:02.533,081] &amp;lt;info&amp;gt; time_sync: 39730, 22, 174207    timestamp: 435575
[00:07:02.573,120] &amp;lt;info&amp;gt; time_sync: 101, 0, 174246    timestamp: 435615
[00:07:02.613,098] &amp;lt;info&amp;gt; time_sync: 39747, 2, 174259    timestamp: 435655
[00:07:02.653,076] &amp;lt;info&amp;gt; time_sync: 39752, 5, 174272    timestamp: 435695
[00:07:02.693,054] &amp;lt;info&amp;gt; time_sync: 39756, 8, 174285    timestamp: 435735
[00:07:02.733,093] &amp;lt;info&amp;gt; time_sync: 39757, 24, 174285    timestamp: 435775
[00:07:02.773,071] &amp;lt;info&amp;gt; time_sync: 39770, 1, 174324    timestamp: 435815
[00:07:02.813,110] &amp;lt;info&amp;gt; time_sync: 39775, 4, 174337    timestamp: 435855
[00:07:02.853,088] &amp;lt;info&amp;gt; time_sync: 39779, 7, 174350    timestamp: 435895
[00:07:02.893,066] &amp;lt;info&amp;gt; time_sync: 39780, 23, 174350    timestamp: 435935
[00:07:02.933,105] &amp;lt;info&amp;gt; time_sync: 39793, 0, 174389    timestamp: 435975
[00:07:02.973,083] &amp;lt;info&amp;gt; time_sync: 39798, 3, 174402    timestamp: 436015
[00:07:03.013,122] &amp;lt;info&amp;gt; time_sync: 39802, 6, 174415    timestamp: 436055
[00:07:03.053,100] &amp;lt;info&amp;gt; time_sync: 39803, 22, 174415    timestamp: 436095
[00:07:03.093,139] &amp;lt;info&amp;gt; time_sync: 102, 0, 174454    timestamp: 436135
[00:07:03.133,117] &amp;lt;info&amp;gt; time_sync: 39820, 2, 174467    timestamp: 436175
[00:07:03.173,095] &amp;lt;info&amp;gt; time_sync: 39825, 5, 174480    timestamp: 436215
[00:07:03.213,134] &amp;lt;info&amp;gt; time_sync: 39829, 8, 174493    timestamp: 436255
[00:07:03.253,112] &amp;lt;info&amp;gt; time_sync: 39830, 24, 174493    timestamp: 436295
[00:07:03.293,090] &amp;lt;info&amp;gt; time_sync: 39843, 1, 174532    timestamp: 436335
[00:07:03.333,129] &amp;lt;info&amp;gt; time_sync: 39848, 4, 174545    timestamp: 436375
[00:07:03.373,107] &amp;lt;info&amp;gt; time_sync: 39853, 7, 174558    timestamp: 436415
[00:07:03.413,085] &amp;lt;info&amp;gt; time_sync: 39854, 23, 174558    timestamp: 436455
[00:07:03.453,125] &amp;lt;info&amp;gt; time_sync: 39866, 0, 174597    timestamp: 436495
[00:07:03.493,103] &amp;lt;info&amp;gt; time_sync: 39871, 3, 174610    timestamp: 436535
[00:07:03.533,142] &amp;lt;info&amp;gt; time_sync: 39875, 6, 174623    timestamp: 436575
[00:07:03.573,120] &amp;lt;info&amp;gt; time_sync: 39876, 22, 174623    timestamp: 436615
[00:07:03.613,159] &amp;lt;info&amp;gt; time_sync: 100, 0, 174662    timestamp: 436655
[00:07:03.653,137] &amp;lt;info&amp;gt; time_sync: 39894, 2, 174675    timestamp: 436695
[00:07:03.693,115] &amp;lt;info&amp;gt; time_sync: 39898, 5, 174688    timestamp: 436735
[00:07:03.733,154] &amp;lt;info&amp;gt; time_sync: 39903, 8, 174701    timestamp: 436775
[00:07:03.773,132] &amp;lt;info&amp;gt; time_sync: 39904, 24, 174701    timestamp: 436815
[00:07:03.813,110] &amp;lt;info&amp;gt; time_sync: 39916, 1, 174740    timestamp: 436855
[00:07:03.853,149] &amp;lt;info&amp;gt; time_sync: 39921, 4, 174753    timestamp: 436895
[00:07:03.893,127] &amp;lt;info&amp;gt; time_sync: 39926, 7, 174766    timestamp: 436935
[00:07:03.933,166] &amp;lt;info&amp;gt; time_sync: 39927, 23, 174766    timestamp: 436975
[00:07:03.973,144] &amp;lt;info&amp;gt; time_sync: 39939, 0, 174805    timestamp: 437015
[00:07:04.013,122] &amp;lt;info&amp;gt; time_sync: 39944, 3, 174818    timestamp: 437055
[00:07:04.053,161] &amp;lt;info&amp;gt; time_sync: 39948, 6, 174831    timestamp: 437095
[00:07:04.093,139] &amp;lt;info&amp;gt; time_sync: 39949, 22, 174831    timestamp: 437135
[00:07:04.133,178] &amp;lt;info&amp;gt; time_sync: 102, 0, 174870    timestamp: 437175
[00:07:04.173,156] &amp;lt;info&amp;gt; time_sync: 39967, 2, 174883    timestamp: 437215
[00:07:04.213,134] &amp;lt;info&amp;gt; time_sync: 39971, 5, 174896    timestamp: 437255
[00:07:04.253,173] &amp;lt;info&amp;gt; time_sync: 39976, 8, 174909    timestamp: 437295
[00:07:04.293,151] &amp;lt;info&amp;gt; time_sync: 39977, 24, 174909    timestamp: 437335
[00:07:04.333,129] &amp;lt;info&amp;gt; time_sync: 39990, 1, 174948    timestamp: 437375
[00:07:04.373,168] &amp;lt;info&amp;gt; time_sync: 39994, 4, 174961    timestamp: 437415
[00:07:04.413,146] &amp;lt;info&amp;gt; time_sync: 39999, 7, 174974    timestamp: 437455
[00:07:04.453,186] &amp;lt;info&amp;gt; time_sync: 0, 23, 174974    timestamp: 437493&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;--------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Finally I want to point something out regarding the priority.&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/304275#304275"]Either way, since you are calling the timestamp function from a lower priority that SWI3_EGU3_IRQHandler[/quote]
&lt;p&gt;This is not fully correct. I would like to call the timestamp function from the same priority than&amp;nbsp;the SWI3_EGU3_IRQHandler (If this is possible?). The timestamp function gets called with priority 6. In order to match this line in your timers_capture() function:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;APP_ERROR_CHECK_BOOL(current_int_priority_get() &amp;gt; TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I have to set&amp;nbsp;TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY at least to 5. Which could cause an unwanted behaviour. Is it possible to call it from the same priority?&lt;/p&gt;
&lt;p&gt;Another consequence of this APP_ERROR_CHECK_BOOL(...) line is, that I have to use&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT 0&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;because every other value would cause an error with this function:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static int32_t calculate_tx_start_offset(void)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;So I am still having the abrupt offset issue.&lt;/p&gt;
&lt;p&gt;Do you have any other suggestions on how to solve this issue. We highly appreciate your help with our problem. It still looks like that the success of our project depends on your help.&lt;/p&gt;
&lt;p&gt;Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/304275?ContentTypeID=1</link><pubDate>Mon, 12 Apr 2021 12:44:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f77a2c6d-698c-49d1-b7f0-b18895be6bc5</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;thanks for the logs! This was very helpful.&lt;/p&gt;
&lt;p&gt;The NRF_LOG timestamp, which uses the 32 kHz RTC, confirms that the timestamp function is called every 40 ms.&lt;/p&gt;
&lt;p&gt;The &amp;quot;sync_timer_val&amp;quot; value is pretty much equal in every printout, which looks good for a printout interval of 40 ms, or 16 * 40000 (timer max value).&lt;/p&gt;
&lt;p&gt;The &amp;quot;peer_count&amp;quot; value is changing right around where the problem occurs, which I think makes i more likely that there is a race condition when the timestamp function is called at the same time as a local timer adjustment is being made.&lt;/p&gt;
&lt;p&gt;I think the underlying problem might be that the timestamp function was not updated with an appropriate critical section during a previous code refactoring. Receiver time adjustment is essentially a two-step process, where the first step is using PPI (hardware) to adjust the running timers, and the second step is to update the m_master_counter variable. If the timestamp function is run in between these two steps, there could be an offset.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t quite understand why the offset lasts for 10 seconds, but I see that the log that the &amp;quot;peer_count&amp;quot; value stays the same from line 34 and on, which means there either isn&amp;#39;t any more sync packets from the transmitter received, or that there is an issue with appying a received packet.&lt;/p&gt;
&lt;p&gt;Either way, since you are calling the timestamp function from a lower priority that SWI3_EGU3_IRQHandler, I recommend trying the following change:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void timers_capture(uint32_t * p_sync_timer_val, uint32_t * p_count_timer_val, uint32_t * p_peer_counter)
{
    static nrf_atomic_flag_t m_timestamp_capture_flag = 0;

    uint32_t peer_counter;
    nrf_atomic_flag_t adjustment_in_progress;

    if (nrf_atomic_flag_set_fetch(&amp;amp;m_timestamp_capture_flag) != 0)
    {
        // Not thread-safe
        APP_ERROR_CHECK_BOOL(false);
    }

    nrf_ppi_channel_t ppi_chn;
    nrfx_err_t ret = nrfx_ppi_channel_alloc(&amp;amp;ppi_chn);
    ASSERT(ret == NRFX_SUCCESS);

    ppi_counter_timer_capture_configure(ppi_chn);

    // Make sure current execution priority is lower than EGU IRQ
    APP_ERROR_CHECK_BOOL(current_int_priority_get() &amp;gt; TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY);

    // Loop until adjustment is no longer in progress
    // NOTE: Only works when this function is called from a lower priority than the EGU IRQ.
    do
    {
        // Critical section begin
        NVIC_DisableIRQ(RADIO_IRQn);
        NVIC_DisableIRQ(m_params.egu_irq_type);

        adjustment_in_progress = m_timer_update_in_progress;
        if (!adjustment_in_progress) {
            m_params.egu-&amp;gt;TASKS_TRIGGER[1] = 1;
            (void) m_params.egu-&amp;gt;EVENTS_TRIGGERED[1];
            peer_counter = m_master_counter;
        }

        // Critical section end
        NVIC_EnableIRQ(RADIO_IRQn);
        NVIC_EnableIRQ(m_params.egu_irq_type);
    } while (adjustment_in_progress);

    ppi_counter_timer_capture_disable(ppi_chn);
    nrfx_ppi_channel_free(ppi_chn);

    *p_sync_timer_val  = m_params.high_freq_timer[0]-&amp;gt;CC[3];
    *p_count_timer_val = (m_params.high_freq_timer[1]-&amp;gt;CC[0]);
    *p_peer_counter    = peer_counter;

    nrf_atomic_flag_clear(&amp;amp;m_timestamp_capture_flag);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Note: I have not been able to properly test this code yet (home office woes).&lt;/p&gt;
&lt;p&gt;Also note: the ts_set_trigger() calls in the original code will start producing errors with this code change. So comment out these functions if they are still there (and you&amp;#39;re not using them, that is)&lt;/p&gt;
&lt;p&gt;Edit: Expanded critical section to also stop radio IRQ&lt;/p&gt;
&lt;p&gt;Edit 2: This change will create a fairly long worst-case duration for the timestamp function, but I think its worth testing this out now to see if the race condition theory is correct, and then look for a better solution once the issue is confirmed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303974?ContentTypeID=1</link><pubDate>Fri, 09 Apr 2021 11:26:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65175846-361b-4895-a50a-d832f5a13668</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your reply.&lt;/p&gt;
&lt;p&gt;I added&amp;nbsp;the debug printouts to the&amp;nbsp;ts_timestamp_get_ticks_u64() function. I also added the&amp;nbsp;actual timestamp in ms to the debug printout. This is how this function looks now:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint64_t ts_timestamp_get_ticks_u64(void)
{
    uint32_t sync_timer_val;
    uint32_t count_timer_val;
    uint64_t timestamp;
    uint32_t  peer_count;

    //DEBUG
    uint32_t timestamp_ms;

    timers_capture(&amp;amp;sync_timer_val, &amp;amp;count_timer_val, &amp;amp;peer_count);

    timestamp  = (uint64_t) count_timer_val;
    timestamp += (uint64_t) peer_count;
    timestamp *= TIME_SYNC_TIMER_MAX_VAL;
    timestamp += (uint64_t) sync_timer_val;

    // DEBUG
    timestamp_ms = (uint32_t) ROUNDED_DIV(timestamp, 16000);
    NRF_LOG_INFO(&amp;quot;%d, %d, %d    timestamp: %d&amp;quot;, sync_timer_val, count_timer_val, peer_count,timestamp_ms);

    return timestamp;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:impact, chicago;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:impact, chicago;"&gt;Peripheral side&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I am using the timestamp function on the peripheral every 40ms to timestamp a NUS paket. This is the log:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:01:16.065,795] &amp;lt;info&amp;gt; time_sync: 8740, 27, 30875    timestamp: 77256
[00:01:16.105,773] &amp;lt;info&amp;gt; time_sync: 8753, 4, 30914    timestamp: 77296
[00:01:16.145,751] &amp;lt;info&amp;gt; time_sync: 8758, 7, 30927    timestamp: 77336
[00:01:16.185,791] &amp;lt;info&amp;gt; time_sync: 8763, 10, 30940    timestamp: 77376
[00:01:16.225,769] &amp;lt;info&amp;gt; time_sync: 8763, 26, 30940    timestamp: 77416
[00:01:16.265,808] &amp;lt;info&amp;gt; time_sync: 8777, 3, 30979    timestamp: 77456
[00:01:16.305,786] &amp;lt;info&amp;gt; time_sync: 8781, 6, 30992    timestamp: 77496
[00:01:16.345,764] &amp;lt;info&amp;gt; time_sync: 8786, 9, 31005    timestamp: 77536
[00:01:16.385,803] &amp;lt;info&amp;gt; time_sync: 8791, 12, 31018    timestamp: 77576
[00:01:16.425,781] &amp;lt;info&amp;gt; time_sync: 8791, 28, 31018    timestamp: 77616
[00:01:16.465,759] &amp;lt;info&amp;gt; time_sync: 8805, 5, 31057    timestamp: 77656
[00:01:16.505,798] &amp;lt;info&amp;gt; time_sync: 8809, 8, 31070    timestamp: 77696
[00:01:16.545,776] &amp;lt;info&amp;gt; time_sync: 8814, 11, 31083    timestamp: 77736
[00:01:16.585,815] &amp;lt;info&amp;gt; time_sync: 8814, 27, 31083    timestamp: 77776
[00:01:16.625,793] &amp;lt;info&amp;gt; time_sync: 8828, 4, 31122    timestamp: 77816
[00:01:16.665,771] &amp;lt;info&amp;gt; time_sync: 8833, 7, 31135    timestamp: 77856
[00:01:16.705,810] &amp;lt;info&amp;gt; time_sync: 8837, 10, 31148    timestamp: 77896
[00:01:16.745,788] &amp;lt;info&amp;gt; time_sync: 8837, 26, 31148    timestamp: 77936
[00:01:16.785,827] &amp;lt;info&amp;gt; time_sync: 8851, 3, 31187    timestamp: 77976
[00:01:16.825,805] &amp;lt;info&amp;gt; time_sync: 8856, 6, 31200    timestamp: 78016
[00:01:16.865,783] &amp;lt;info&amp;gt; time_sync: 8861, 9, 31213    timestamp: 78056
[00:01:16.905,822] &amp;lt;info&amp;gt; time_sync: 8866, 12, 31226    timestamp: 78096
[00:01:16.945,800] &amp;lt;info&amp;gt; time_sync: 8866, 28, 31226    timestamp: 78136
[00:01:16.985,839] &amp;lt;info&amp;gt; time_sync: 8879, 5, 31265    timestamp: 78176
[00:01:17.025,817] &amp;lt;info&amp;gt; time_sync: 8884, 8, 31278    timestamp: 78216
[00:01:17.065,795] &amp;lt;info&amp;gt; time_sync: 8888, 11, 31291    timestamp: 78256
[00:01:17.105,834] &amp;lt;info&amp;gt; time_sync: 8888, 27, 31291    timestamp: 78296
[00:01:17.145,812] &amp;lt;info&amp;gt; time_sync: 8903, 4, 31330    timestamp: 78336
[00:01:17.185,852] &amp;lt;info&amp;gt; time_sync: 8907, 7, 31343    timestamp: 78376
[00:01:17.225,830] &amp;lt;info&amp;gt; time_sync: 8912, 10, 31356    timestamp: 78416
[00:01:17.265,808] &amp;lt;info&amp;gt; time_sync: 8920, 26, 31356    timestamp: 78456
[00:01:17.305,847] &amp;lt;info&amp;gt; time_sync: 8925, 3, 31395    timestamp: 78496
[00:01:17.345,825] &amp;lt;info&amp;gt; time_sync: 8931, 5, 31408    timestamp: 78533
[00:01:17.385,803] &amp;lt;info&amp;gt; time_sync: 8936, 8, 31421    timestamp: 78573
[00:01:17.425,842] &amp;lt;info&amp;gt; time_sync: 8936, 24, 31421    timestamp: 78613
[00:01:17.465,820] &amp;lt;info&amp;gt; time_sync: 8936, 40, 31421    timestamp: 78653
[00:01:17.505,859] &amp;lt;info&amp;gt; time_sync: 8936, 56, 31421    timestamp: 78693
[00:01:17.545,837] &amp;lt;info&amp;gt; time_sync: 8936, 72, 31421    timestamp: 78733
[00:01:17.585,815] &amp;lt;info&amp;gt; time_sync: 8936, 88, 31421    timestamp: 78773
[00:01:17.625,854] &amp;lt;info&amp;gt; time_sync: 8936, 104, 31421    timestamp: 78813
[00:01:17.665,832] &amp;lt;info&amp;gt; time_sync: 8936, 120, 31421    timestamp: 78853
[00:01:17.705,871] &amp;lt;info&amp;gt; time_sync: 8936, 136, 31421    timestamp: 78893
[00:01:17.745,849] &amp;lt;info&amp;gt; time_sync: 8936, 152, 31421    timestamp: 78933
[00:01:17.785,827] &amp;lt;info&amp;gt; time_sync: 8936, 168, 31421    timestamp: 78973
[00:01:17.825,866] &amp;lt;info&amp;gt; time_sync: 8936, 184, 31421    timestamp: 79013
[00:01:17.865,844] &amp;lt;info&amp;gt; time_sync: 8936, 200, 31421    timestamp: 79053
[00:01:17.905,883] &amp;lt;info&amp;gt; time_sync: 8936, 216, 31421    timestamp: 79093
[00:01:17.945,861] &amp;lt;info&amp;gt; time_sync: 8936, 232, 31421    timestamp: 79133
[00:01:17.985,839] &amp;lt;info&amp;gt; time_sync: 8936, 248, 31421    timestamp: 79173
[00:01:18.025,878] &amp;lt;info&amp;gt; time_sync: 8936, 264, 31421    timestamp: 79213
[00:01:18.065,856] &amp;lt;info&amp;gt; time_sync: 8936, 280, 31421    timestamp: 79253
[00:01:18.105,895] &amp;lt;info&amp;gt; time_sync: 8936, 296, 31421    timestamp: 79293
[00:01:18.145,874] &amp;lt;info&amp;gt; time_sync: 8936, 312, 31421    timestamp: 79333
[00:01:18.185,852] &amp;lt;info&amp;gt; time_sync: 8936, 328, 31421    timestamp: 79373
[00:01:18.225,891] &amp;lt;info&amp;gt; time_sync: 8936, 344, 31421    timestamp: 79413
[00:01:18.265,869] &amp;lt;info&amp;gt; time_sync: 8936, 360, 31421    timestamp: 79453
[00:01:18.305,847] &amp;lt;info&amp;gt; time_sync: 8936, 376, 31421    timestamp: 79493
[00:01:18.345,886] &amp;lt;info&amp;gt; time_sync: 8936, 392, 31421    timestamp: 79533
[00:01:18.385,864] &amp;lt;info&amp;gt; time_sync: 8936, 408, 31421    timestamp: 79573
[00:01:18.425,903] &amp;lt;info&amp;gt; time_sync: 8936, 424, 31421    timestamp: 79613
[00:01:18.465,881] &amp;lt;info&amp;gt; time_sync: 8936, 440, 31421    timestamp: 79653
[00:01:18.505,859] &amp;lt;info&amp;gt; time_sync: 8936, 456, 31421    timestamp: 79693
[00:01:18.545,898] &amp;lt;info&amp;gt; time_sync: 8936, 472, 31421    timestamp: 79733
[00:01:18.585,876] &amp;lt;info&amp;gt; time_sync: 8936, 488, 31421    timestamp: 79773
[00:01:18.625,915] &amp;lt;info&amp;gt; time_sync: 8936, 504, 31421    timestamp: 79813
[00:01:18.665,893] &amp;lt;info&amp;gt; time_sync: 8936, 520, 31421    timestamp: 79853&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can see that the offset happend in line 32. Each timestamp should have a gap of 40 ms to the next timestamp. From line 32 to 33 there is only a gap of 37ms.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:impact, chicago;"&gt;Central side&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;On the central side I am using the timestamp function every 1ms. This is the log:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; time_sync: 639, 31360, 0    timestamp: 78400
&amp;lt;info&amp;gt; time_sync: 16639, 31360, 0    timestamp: 78401
&amp;lt;info&amp;gt; time_sync: 32639, 31360, 0    timestamp: 78402
&amp;lt;info&amp;gt; time_sync: 8639, 31361, 0    timestamp: 78403
&amp;lt;info&amp;gt; time_sync: 24639, 31361, 0    timestamp: 78404
&amp;lt;info&amp;gt; time_sync: 639, 31362, 0    timestamp: 78405
&amp;lt;info&amp;gt; time_sync: 16640, 31362, 0    timestamp: 78406
&amp;lt;info&amp;gt; time_sync: 32639, 31362, 0    timestamp: 78407
&amp;lt;info&amp;gt; time_sync: 8639, 31363, 0    timestamp: 78408
&amp;lt;info&amp;gt; time_sync: 24639, 31363, 0    timestamp: 78409
&amp;lt;info&amp;gt; time_sync: 639, 31364, 0    timestamp: 78410
&amp;lt;info&amp;gt; time_sync: 16641, 31364, 0    timestamp: 78411
&amp;lt;info&amp;gt; time_sync: 32636, 31364, 0    timestamp: 78412
&amp;lt;info&amp;gt; time_sync: 8640, 31365, 0    timestamp: 78413
&amp;lt;info&amp;gt; time_sync: 24639, 31365, 0    timestamp: 78414
&amp;lt;info&amp;gt; time_sync: 639, 31366, 0    timestamp: 78415
&amp;lt;info&amp;gt; time_sync: 16639, 31366, 0    timestamp: 78416
&amp;lt;info&amp;gt; time_sync: 32640, 31366, 0    timestamp: 78417
&amp;lt;info&amp;gt; time_sync: 8639, 31367, 0    timestamp: 78418
&amp;lt;info&amp;gt; time_sync: 24639, 31367, 0    timestamp: 78419
&amp;lt;info&amp;gt; time_sync: 16640, 31368, 0    timestamp: 78421
&amp;lt;info&amp;gt; time_sync: 32635, 31368, 0    timestamp: 78422
&amp;lt;info&amp;gt; time_sync: 9965, 31369, 0    timestamp: 78423
&amp;lt;info&amp;gt; time_sync: 24639, 31369, 0    timestamp: 78424
&amp;lt;info&amp;gt; time_sync: 639, 31370, 0    timestamp: 78425
&amp;lt;info&amp;gt; time_sync: 16639, 31370, 0    timestamp: 78426
&amp;lt;info&amp;gt; time_sync: 32639, 31370, 0    timestamp: 78427
&amp;lt;info&amp;gt; time_sync: 8639, 31371, 0    timestamp: 78428
&amp;lt;info&amp;gt; time_sync: 24640, 31371, 0    timestamp: 78429
&amp;lt;info&amp;gt; time_sync: 635, 31372, 0    timestamp: 78430
&amp;lt;info&amp;gt; time_sync: 16639, 31372, 0    timestamp: 78431
&amp;lt;info&amp;gt; time_sync: 32639, 31372, 0    timestamp: 78432
&amp;lt;info&amp;gt; time_sync: 8639, 31373, 0    timestamp: 78433
&amp;lt;info&amp;gt; time_sync: 24639, 31373, 0    timestamp: 78434
&amp;lt;info&amp;gt; time_sync: 640, 31374, 0    timestamp: 78435
&amp;lt;info&amp;gt; time_sync: 16635, 31374, 0    timestamp: 78436
&amp;lt;info&amp;gt; time_sync: 32639, 31374, 0    timestamp: 78437
&amp;lt;info&amp;gt; time_sync: 8639, 31375, 0    timestamp: 78438
&amp;lt;info&amp;gt; time_sync: 24639, 31375, 0    timestamp: 78439
&amp;lt;info&amp;gt; time_sync: 639, 31376, 0    timestamp: 78440
&amp;lt;info&amp;gt; time_sync: 16640, 31376, 0    timestamp: 78441
&amp;lt;info&amp;gt; time_sync: 32635, 31376, 0    timestamp: 78442
&amp;lt;info&amp;gt; time_sync: 8639, 31377, 0    timestamp: 78443
&amp;lt;info&amp;gt; time_sync: 24639, 31377, 0    timestamp: 78444
&amp;lt;info&amp;gt; time_sync: 639, 31378, 0    timestamp: 78445
&amp;lt;info&amp;gt; time_sync: 32640, 31378, 0    timestamp: 78447
&amp;lt;info&amp;gt; time_sync: 8635, 31379, 0    timestamp: 78448
&amp;lt;info&amp;gt; time_sync: 24635, 31379, 0    timestamp: 78449
&amp;lt;info&amp;gt; time_sync: 639, 31380, 0    timestamp: 78450
&amp;lt;info&amp;gt; time_sync: 16640, 31380, 0    timestamp: 78451
&amp;lt;info&amp;gt; time_sync: 32638, 31380, 0    timestamp: 78452
&amp;lt;info&amp;gt; time_sync: 8640, 31381, 0    timestamp: 78453
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 24657, 31381, 0    timestamp: 78454
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 7619, 31382, 0    timestamp: 78455
&amp;lt;info&amp;gt; time_sync: 16634, 31382, 0    timestamp: 78456
&amp;lt;info&amp;gt; time_sync: 32634, 31382, 0    timestamp: 78457
&amp;lt;info&amp;gt; time_sync: 8628, 31383, 0    timestamp: 78458
&amp;lt;info&amp;gt; time_sync: 24632, 31383, 0    timestamp: 78459
&amp;lt;info&amp;gt; time_sync: 632, 31384, 0    timestamp: 78460
&amp;lt;info&amp;gt; time_sync: 16634, 31384, 0    timestamp: 78461
&amp;lt;info&amp;gt; time_sync: 32634, 31384, 0    timestamp: 78462
&amp;lt;info&amp;gt; time_sync: 10198, 31385, 0    timestamp: 78463
&amp;lt;info&amp;gt; time_sync: 24639, 31387, 0    timestamp: 78469
&amp;lt;info&amp;gt; time_sync: 637, 31388, 0    timestamp: 78470
&amp;lt;info&amp;gt; time_sync: 16641, 31388, 0    timestamp: 78471
&amp;lt;info&amp;gt; time_sync: 32636, 31388, 0    timestamp: 78472
&amp;lt;info&amp;gt; time_sync: 8639, 31389, 0    timestamp: 78473
&amp;lt;info&amp;gt; time_sync: 24639, 31389, 0    timestamp: 78474
&amp;lt;info&amp;gt; time_sync: 639, 31390, 0    timestamp: 78475
&amp;lt;info&amp;gt; time_sync: 16639, 31390, 0    timestamp: 78476
&amp;lt;info&amp;gt; time_sync: 32639, 31390, 0    timestamp: 78477
&amp;lt;info&amp;gt; time_sync: 8639, 31391, 0    timestamp: 78478
&amp;lt;info&amp;gt; time_sync: 24639, 31391, 0    timestamp: 78479
&amp;lt;info&amp;gt; time_sync: 640, 31392, 0    timestamp: 78480
&amp;lt;info&amp;gt; time_sync: 16639, 31392, 0    timestamp: 78481
&amp;lt;info&amp;gt; time_sync: 32639, 31392, 0    timestamp: 78482
&amp;lt;info&amp;gt; time_sync: 8639, 31393, 0    timestamp: 78483
&amp;lt;info&amp;gt; time_sync: 24639, 31393, 0    timestamp: 78484
&amp;lt;info&amp;gt; time_sync: 639, 31394, 0    timestamp: 78485
&amp;lt;info&amp;gt; time_sync: 16638, 31394, 0    timestamp: 78486
&amp;lt;info&amp;gt; time_sync: 32639, 31394, 0    timestamp: 78487
&amp;lt;info&amp;gt; time_sync: 24640, 31395, 0    timestamp: 78489
&amp;lt;info&amp;gt; time_sync: 635, 31396, 0    timestamp: 78490
&amp;lt;info&amp;gt; time_sync: 16641, 31396, 0    timestamp: 78491
&amp;lt;info&amp;gt; time_sync: 32638, 31396, 0    timestamp: 78492
&amp;lt;info&amp;gt; time_sync: 8640, 31397, 0    timestamp: 78493
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 24639, 31397, 0    timestamp: 78494
&amp;lt;info&amp;gt; time_sync: 637, 31398, 0    timestamp: 78495
&amp;lt;info&amp;gt; time_sync: 16634, 31398, 0    timestamp: 78496
&amp;lt;info&amp;gt; time_sync: 32628, 31398, 0    timestamp: 78497
&amp;lt;info&amp;gt; time_sync: 8628, 31399, 0    timestamp: 78498
&amp;lt;info&amp;gt; time_sync: 24633, 31399, 0    timestamp: 78499
&amp;lt;info&amp;gt; time_sync: 634, 31400, 0    timestamp: 78500
&amp;lt;info&amp;gt; time_sync: 16633, 31400, 0    timestamp: 78501
&amp;lt;info&amp;gt; time_sync: 32639, 31400, 0    timestamp: 78502
&amp;lt;info&amp;gt; time_sync: 24639, 31403, 0    timestamp: 78509
&amp;lt;info&amp;gt; time_sync: 639, 31404, 0    timestamp: 78510
&amp;lt;info&amp;gt; time_sync: 16639, 31404, 0    timestamp: 78511
&amp;lt;info&amp;gt; time_sync: 32639, 31404, 0    timestamp: 78512
&amp;lt;info&amp;gt; time_sync: 8639, 31405, 0    timestamp: 78513
&amp;lt;info&amp;gt; time_sync: 24639, 31405, 0    timestamp: 78514
&amp;lt;info&amp;gt; time_sync: 639, 31406, 0    timestamp: 78515
&amp;lt;info&amp;gt; time_sync: 16639, 31406, 0    timestamp: 78516
&amp;lt;info&amp;gt; time_sync: 32639, 31406, 0    timestamp: 78517
&amp;lt;info&amp;gt; time_sync: 8639, 31407, 0    timestamp: 78518
&amp;lt;info&amp;gt; time_sync: 24638, 31407, 0    timestamp: 78519
&amp;lt;info&amp;gt; time_sync: 645, 31408, 0    timestamp: 78520
&amp;lt;info&amp;gt; time_sync: 16640, 31408, 0    timestamp: 78521
&amp;lt;info&amp;gt; time_sync: 32639, 31408, 0    timestamp: 78522
&amp;lt;info&amp;gt; time_sync: 8639, 31409, 0    timestamp: 78523
&amp;lt;info&amp;gt; time_sync: 24639, 31409, 0    timestamp: 78524
&amp;lt;info&amp;gt; time_sync: 639, 31410, 0    timestamp: 78525
&amp;lt;info&amp;gt; time_sync: 16639, 31410, 0    timestamp: 78526
&amp;lt;info&amp;gt; time_sync: 32639, 31410, 0    timestamp: 78527
&amp;lt;info&amp;gt; time_sync: 8640, 31411, 0    timestamp: 78528
&amp;lt;info&amp;gt; time_sync: 24639, 31411, 0    timestamp: 78529
&amp;lt;info&amp;gt; time_sync: 639, 31412, 0    timestamp: 78530
&amp;lt;info&amp;gt; time_sync: 16640, 31412, 0    timestamp: 78531
&amp;lt;info&amp;gt; time_sync: 32638, 31412, 0    timestamp: 78532
&amp;lt;info&amp;gt; time_sync: 8640, 31413, 0    timestamp: 78533
&amp;lt;info&amp;gt; app: diff: 40
&amp;lt;info&amp;gt; time_sync: 24639, 31413, 0    timestamp: 78534
&amp;lt;info&amp;gt; time_sync: 665, 31414, 0    timestamp: 78535
&amp;lt;info&amp;gt; time_sync: 16704, 31414, 0    timestamp: 78536
&amp;lt;info&amp;gt; time_sync: 32637, 31414, 0    timestamp: 78537
&amp;lt;info&amp;gt; time_sync: 8634, 31415, 0    timestamp: 78538
&amp;lt;info&amp;gt; time_sync: 24628, 31415, 0    timestamp: 78539
&amp;lt;info&amp;gt; time_sync: 639, 31416, 0    timestamp: 78540
&amp;lt;info&amp;gt; time_sync: 16639, 31416, 0    timestamp: 78541
&amp;lt;info&amp;gt; time_sync: 32639, 31418, 0    timestamp: 78547
&amp;lt;info&amp;gt; time_sync: 8639, 31419, 0    timestamp: 78548
&amp;lt;info&amp;gt; time_sync: 24639, 31419, 0    timestamp: 78549
&amp;lt;info&amp;gt; time_sync: 639, 31420, 0    timestamp: 78550
&amp;lt;info&amp;gt; time_sync: 16638, 31420, 0    timestamp: 78551
&amp;lt;info&amp;gt; time_sync: 32639, 31420, 0    timestamp: 78552
&amp;lt;info&amp;gt; time_sync: 8640, 31421, 0    timestamp: 78553
&amp;lt;info&amp;gt; time_sync: 24639, 31421, 0    timestamp: 78554
&amp;lt;info&amp;gt; time_sync: 639, 31422, 0    timestamp: 78555
&amp;lt;info&amp;gt; time_sync: 16639, 31422, 0    timestamp: 78556
&amp;lt;info&amp;gt; time_sync: 32639, 31422, 0    timestamp: 78557
&amp;lt;info&amp;gt; time_sync: 8639, 31423, 0    timestamp: 78558
&amp;lt;info&amp;gt; time_sync: 24639, 31423, 0    timestamp: 78559
&amp;lt;info&amp;gt; time_sync: 639, 31424, 0    timestamp: 78560
&amp;lt;info&amp;gt; time_sync: 16639, 31424, 0    timestamp: 78561
&amp;lt;info&amp;gt; time_sync: 32639, 31424, 0    timestamp: 78562
&amp;lt;info&amp;gt; time_sync: 8639, 31425, 0    timestamp: 78563
&amp;lt;info&amp;gt; time_sync: 24639, 31425, 0    timestamp: 78564
&amp;lt;info&amp;gt; time_sync: 639, 31426, 0    timestamp: 78565
&amp;lt;info&amp;gt; time_sync: 16640, 31426, 0    timestamp: 78566
&amp;lt;info&amp;gt; time_sync: 32639, 31426, 0    timestamp: 78567
&amp;lt;info&amp;gt; time_sync: 8639, 31427, 0    timestamp: 78568
&amp;lt;info&amp;gt; time_sync: 24639, 31427, 0    timestamp: 78569
&amp;lt;info&amp;gt; time_sync: 639, 31428, 0    timestamp: 78570
&amp;lt;info&amp;gt; time_sync: 16641, 31428, 0    timestamp: 78571
&amp;lt;info&amp;gt; time_sync: 32636, 31428, 0    timestamp: 78572
&amp;lt;info&amp;gt; time_sync: 8640, 31429, 0    timestamp: 78573
&amp;lt;info&amp;gt; app: diff: 37&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I use &amp;quot;diff&amp;quot; to catch the offset. The variable &amp;quot;diff&amp;quot; shows the difference between the timestamp value of two received NUS pakets. If this difference is higher than 41 or smaller than 39, the program generates an error.&lt;/p&gt;
&lt;p&gt;I am using&amp;nbsp;TIME_SYNC_FREQ_AUTO as sync frequency.&lt;/p&gt;
&lt;p&gt;Hopefully this helps to narrow down my issue. If you need anything more, please let me know.&lt;/p&gt;
&lt;p&gt;I am looking forward to hearing from you. Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303911?ContentTypeID=1</link><pubDate>Fri, 09 Apr 2021 07:55:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2f53db9-843f-4f06-8508-9c0e2b38dca5</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Thanks, Michael,&lt;/p&gt;
&lt;p&gt;looking forward to looking at the debug printouts.&lt;/p&gt;
&lt;p&gt;I will try to do some testing on my end with the same parameters as you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303817?ContentTypeID=1</link><pubDate>Thu, 08 Apr 2021 14:15:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2c9a2be8-f794-4380-8889-7365cc786cbe</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your reply.&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/303780#303780"]At first I thought the 3 ms offset was due to perhaps a corner case when capturing the local counter on the receiver side, as the value is calculated from the counter + the value received from the transmitter.[/quote]
&lt;p&gt;I am so sorry for that. I used indeed a TIME_SYNC_TIMER_MAX_VAL of 40000 when I got this abrupt 3ms offset. During my troubleshooting proccess I adjusted this value and accidentally copied the wrong value in my previous reply. But I can tell definetly, that this 3ms offset is with a&amp;nbsp;&lt;span&gt;TIME_SYNC_TIMER_MAX_VAL&amp;nbsp;of 40000. That was a big mistake on my side.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So I want to clarify my actual situation and reran my tests with the default values for&amp;nbsp;TIME_SYNC_TIMER_MAX_VAL&amp;nbsp;and&amp;nbsp;TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This are my defines in time_sync.h:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;#ifndef TS_SOC_OBSERVER_PRIO
#define TS_SOC_OBSERVER_PRIO 0
#endif

#ifndef TIME_SYNC_TIMER_MAX_VAL
#define TIME_SYNC_TIMER_MAX_VAL (40000) // 40000
#endif

#ifndef TIME_SYNC_RTC_MAX_VAL
#define TIME_SYNC_RTC_MAX_VAL   (0xFFFFFF)
#endif

#ifndef TIME_SYNC_DESYNC_TIMEOUT
#define TIME_SYNC_DESYNC_TIMEOUT 10000000 /* Timeout for desynchronization [us] */
#endif

#ifndef TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT
#define TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT 0 // 10000000 /* Set to 0 to disable [us] */
#endif

#ifndef TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY
#define TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY 7 /* Priority of event handler */
#endif&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;When I am using TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT = 0 the abrupt offset occurs after ~1150 seconds. With TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT =&amp;nbsp;10000000 the abrupt offset occurs after about ~ 60 seconds.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The abrupt offset is 3ms. A few times the abrupt offset is 2ms (Independently which value is used for&amp;nbsp;TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So your suggestion with the corner case would make a lot of sense. Is there a way to take care of these corner cases?&lt;/span&gt;&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/303780#303780"]Can you add some debug printouts to the timestamp function on both Central and Peripheral?[/quote]
&lt;p&gt;I will try to add this printouts and I will let you know the results.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/303780#303780"]As I understand the offset is a constant 3 ms (and not drifting) during this 10 second period[/quote]
&lt;p&gt;That is correct.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;If you have already any tips for me, I would be glad to here them.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Any kind of feedback is always appreciated. Thank you very much in advance.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Michael&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303780?ContentTypeID=1</link><pubDate>Thu, 08 Apr 2021 13:00:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:002fb19d-4915-471d-a7f3-d2c28ed94cca</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve been pondering on this one, and while I don&amp;#39;t have a clear answer yet I have some ideas for debugging further.&lt;/p&gt;
&lt;p&gt;At first I thought the 3 ms offset was due to perhaps a corner case when capturing the local counter on the receiver side, as the value is calculated from the counter + the value received from the transmitter. The original value of&amp;nbsp;TIME_SYNC_TIMER_MAX_VAL matches 3 ms when rounded up (40000/16 MHz = 2.5 ms). However, you are using value 16000 for&amp;nbsp;TIME_SYNC_TIMER_MAX_VAL, which does not add up to 3 ms.&lt;/p&gt;
&lt;p&gt;I also understand that you see a sudden offset from 0 to 3 ms, and not a slow drift. The latter would be indicative of lost packets on the receiver, or continuous adjustments not being applied.&lt;/p&gt;
&lt;p&gt;Did you also see this issue before adjusting TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY? And if you use TIME_SYNC_TIMER_MAX_VAL value of the original 40000?&lt;/p&gt;
&lt;p&gt;As I understand the offset is a constant 3 ms (and not drifting) during this 10 second period, I think it is worth looking more closely at the counter values.&lt;/p&gt;
&lt;p&gt;Can you add some debug printouts to the timestamp function on both Central and Peripheral?&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;timers_capture(&amp;amp;sync_timer_val, &amp;amp;count_timer_val, &amp;amp;peer_count);
// Add printout to relevant function (ts_timestamp_get_ticks_u32 or ts_timestamp_get_ticks_u64)
NRF_LOG_INFO(&amp;quot;%d, %d, %d&amp;quot;, sync_timer_val, count_timer_val, peer_count);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This will hopefully help narrow down the issue&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303590?ContentTypeID=1</link><pubDate>Wed, 07 Apr 2021 17:12:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85d5cd53-ed3b-459e-a1d1-8ef2d7fa50d7</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your reply.&lt;/p&gt;
&lt;p&gt;As you suggested, I set&amp;nbsp;&lt;span&gt;TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT&amp;nbsp;to 0. Unfortunately, this does not fix my problem. When I set&amp;nbsp;TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT&amp;nbsp; to 0, the abrupt offset is even higher. &lt;/span&gt;&lt;span&gt;(Abrupt offset of about 99ms)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;To apply this change, I had to also change a data type (uint32_t to int32_t) in time_sync.c:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;From this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;static uint32_t calculate_tx_start_offset(void)
{
    return 0;
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;to this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;static int32_t calculate_tx_start_offset(void)
{
    return 0;
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Do you know why there was an uint32_t used instead of an int32_t?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;----------------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;These are my definitions in time_sync.h at the moment:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;#ifndef TS_SOC_OBSERVER_PRIO
#define TS_SOC_OBSERVER_PRIO 0
#endif

#ifndef TIME_SYNC_TIMER_MAX_VAL
#define TIME_SYNC_TIMER_MAX_VAL (16000) // 40000
#endif

#ifndef TIME_SYNC_RTC_MAX_VAL
#define TIME_SYNC_RTC_MAX_VAL   (0xFFFFFF)
#endif

#ifndef TIME_SYNC_DESYNC_TIMEOUT
#define TIME_SYNC_DESYNC_TIMEOUT 10000000 /* Timeout for desynchronization [us] */
#endif

#ifndef TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT
#define TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT 0 // 10000000 /* Set to 0 to disable [us] */
#endif

#ifndef TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY
#define TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY 6 // 7 /* Priority of event handler */
#endif&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So I am still having the problem with the abrupt offset.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Do you have any other suggestions what could cause this behaviour?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Can you provide me some guidance how to solve this issue?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I am really stuck with this at the moment. It looks like the success of my project depends on your help.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you very much in advance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Michael&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/303532?ContentTypeID=1</link><pubDate>Wed, 07 Apr 2021 13:06:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e9e4b01-742d-4ae2-b556-7ab1118ca71b</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;did you try to set TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT to 0?&lt;/p&gt;
&lt;p&gt;Another developer discovered a race condition if the timer value is updated very close to the wraparound. The workaround was to check the timer value and dont apply any adjustments close to the wraparound. This has the side effect that valid sync packets are discarded when close to the wraparound. The TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT was an attempt to avoid the issue entirely by having the transmitter send packets at &amp;quot;safe&amp;quot; times.&lt;/p&gt;
&lt;p&gt;By setting TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT&amp;nbsp; to 0 the original workaround will be used, which might be the safest approach here.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/302895?ContentTypeID=1</link><pubDate>Fri, 02 Apr 2021 14:33:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91b49ea0-7623-4f50-a532-1183d70e3651</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your reply.&lt;/p&gt;
&lt;p&gt;At the moment I am having a bit of a weird problem. Hopefully you have some tips for me.&lt;/p&gt;
&lt;p&gt;I am using the wireless timer synchronization code on a nRF52840DK (central) and a nRF52DK (peripheral). The time sync works at first as it should.&lt;/p&gt;
&lt;p&gt;Here is my problem: About ~1180 seconds after I started the timer sync, the timer synchronization&amp;nbsp;has&amp;nbsp;abrupt&amp;nbsp;an&amp;nbsp;3ms offset. This offset stays for exactly 10 seconds. After these 10 seconds the time sync&amp;nbsp;returns to perfect operation and the offset is gone.&lt;/p&gt;
&lt;p&gt;Unfortunately, I do not know what causes this abrupt offset. Maybe these two definitions has something to do with this problem (they are exactly 10 seconds)?:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define TIME_SYNC_DESYNC_TIMEOUT 10000000 /* Timeout for desynchronization [us] */
#define TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT 10000000 /* Set to 0 to disable [us] */&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do you have any suggestions what causes this weird behaviour? Any kind of feedback is always appreciated.&lt;/p&gt;
&lt;p&gt;Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;
&lt;p&gt;-----------------------------------&lt;/p&gt;
&lt;p&gt;# Edit (07.04.2021)&lt;/p&gt;
&lt;p&gt;After some further debugging I figured the following out:&lt;/p&gt;
&lt;p&gt;It looks like that the master-timer on the central works fine. The problem/offset&amp;nbsp;occurs on the peripheral with its slave-timer. (The central sends sync beacons. The peripheral receives the sync beacons).&lt;/p&gt;
&lt;p&gt;Here is a example of the offset, when it occures:&lt;/p&gt;
&lt;p&gt;Timer Central: 1170003 (ms)&lt;/p&gt;
&lt;p&gt;Timer Peripheral: 1170000 (ms)&lt;/p&gt;
&lt;p&gt;As I already mentioned, after these 10 seconds, both timers are equal again.&lt;/p&gt;
&lt;p&gt;Maybe the values of the sync beacon&amp;nbsp;do not get applied on the peripheral in time?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am still not able to solve this issue.&amp;nbsp;Any kind of feeback is always appreciated. Thank you very much in advance.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/302771?ContentTypeID=1</link><pubDate>Wed, 31 Mar 2021 13:43:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3cf7ecb-48fb-42c3-b107-61bc9edf27b9</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
[quote userid="93336" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/302626#302626"]Are there any side effects or any&amp;nbsp;consequences which I sould be aware of, if I change TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY to 6 or lower?[/quote]
&lt;p&gt;No direct side effects that I&amp;#39;m aware of. But there could be indirect side effects depending on what the application does with the event handler callback. If your application runs code directly in the event handler then that code could in turn have side effects.&lt;/p&gt;
&lt;p&gt;However, I don&amp;#39;t think your application uses any of the events in the callback anyway?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/302626?ContentTypeID=1</link><pubDate>Tue, 30 Mar 2021 14:49:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:339e2173-0e92-4006-b2b2-0cd2ac074bd9</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your answer.&lt;/p&gt;
[quote userid="2167" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/301888#301888"]sorry for the late reply![/quote]
&lt;p&gt;That is absolutly no problem. I really appreciate your great help with my &amp;#39;time_sync&amp;#39; specific problems.&lt;/p&gt;
&lt;p&gt;At the moment I am working on my central device (nRF52840DK). I am using the following timestamp function, which I call when a GPIO changes from high to low:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint64_t ts_timestamp_get_ticks_u64(void);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;As you mentioned in your notes to this function:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt; * @note When @ref TIME_SYNC_TX_OFFSET_REALIGN_TIMEOUT is non-zero,
 *       this function should be called from context priority @ref TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY or lower&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I have to make sure, that this function gets only called from the TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY, because there are some parts in the timers_capture which are not thread safe.&lt;/p&gt;
&lt;p&gt;At the moment TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY is set to 7. This is the lowest priority, which is set by default.&lt;/p&gt;
&lt;p&gt;Here is my problem: I need that the ts_timestamp_get_ticks_u64() gets called from a higher priority (6 or lower). I need to achieve that my GPIO capturing has a higher priority than my UART.&lt;/p&gt;
&lt;p&gt;So here is my question:&lt;/p&gt;
&lt;p&gt;Are there any side effects or any&amp;nbsp;consequences which I sould be aware of, if I change TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY to 6 or lower?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you in advance.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/301888?ContentTypeID=1</link><pubDate>Thu, 25 Mar 2021 12:15:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:84657705-27df-4c01-b249-9b0fb544d167</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael, sorry for the late reply!&lt;/p&gt;
[quote userid="93336" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/300363#300363"]&lt;p&gt;My&amp;nbsp;ts_temp_disable() and my&amp;nbsp;ts_re_enable(&amp;amp;rf_config) function work now. And the time sync works as it should when it is enabled.&lt;/p&gt;
&lt;p&gt;At the moment I am a bit worried by simply removing this line of code. To be honest, I do not really know what this line of code does. Does this have any consequences?&lt;/p&gt;
&lt;p&gt;Are there any side effects, which I sould be aware of?&lt;/p&gt;[/quote]
&lt;p&gt;I looked at the changes you made and the error you describe.&lt;/p&gt;
&lt;p&gt;I assume the error you see is actually coming from main.c. The callback you commented out (m_callback(&amp;amp;m_trigger_evt)) is probably going to this case in main.c: &lt;a href="https://github.com/nordic-auko/nRF5-ble-timesync-demo/blob/master/nRF5_SDK_16.0.0_98a08e2/examples/ble_peripheral/ble_app_uart/main.c#L771"&gt;https://github.com/nordic-auko/nRF5-ble-timesync-demo/blob/master/nRF5_SDK_16.0.0_98a08e2/examples/ble_peripheral/ble_app_uart/main.c#L771&lt;/a&gt; , which in turn calls &lt;span class="pl-c1"&gt;ts_set_trigger&lt;/span&gt;(). This function will return an error when m_timeslot_session_open is false. This error is probably what triggers the assert.&lt;/p&gt;
&lt;p&gt;Considering that you only use the timestamp functionality, and not the &lt;span class="pl-c1"&gt;ts_set_trigger&lt;/span&gt;() functionality, I think your changes should be fine. I think also that the trigger functionality isnt strictly speaking depending on that the timeslot being active, but this was probably the easiest way of checking if the required setup was done already. You could probably comment out&lt;a href="https://github.com/nordic-auko/nRF5-ble-timesync-demo/blob/master/nRF5_SDK_16.0.0_98a08e2/examples/common/time_sync.c#L683"&gt; this check &lt;/a&gt;and have the triggering too work fine when the radio is temporarily turned off to save power.&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/300363?ContentTypeID=1</link><pubDate>Wed, 17 Mar 2021 11:29:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20d229f8-bc9a-4be6-8191-ceeba8d74707</guid><dc:creator>Michael01101</dc:creator><description>&lt;p&gt;Hello Audun,&lt;/p&gt;
&lt;p&gt;thank you very much for your reply.&lt;/p&gt;
&lt;p&gt;at the moment I am testing this simple approach with disabling and re-enabling the timer sync.&lt;/p&gt;
&lt;p&gt;I created the following function for disabling:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint32_t ts_temp_disable(void)
{
    uint32_t err_code;

    nrf_atomic_flag_set(&amp;amp;m_pending_close);

    err_code = sd_radio_session_close();
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

    // TODO: stop timer

    err_code |= sd_power_mode_set(NRF_POWER_MODE_LOWPWR);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

    // TODO:
    //       - Close SoftDevice radio session (sd_radio_session_close())
    //       - Stop radio activity
    //       - Stop timers
    //       - Disable used PPI channels
    //       - Disable used interrupts
    //       - Release HFCLK (sd_clock_hfclk_release()),
    //       - Go back to low-power (mode sd_power_mode_set(NRF_POWER_MODE_LOWPWR))
    // Care must be taken to ensure clean stop. Order of tasks above should be reconsidered.
    return NRF_SUCCESS;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and the following function for re-enabling:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint32_t ts_re_enable(const ts_rf_config_t* p_rf_config)
{
    uint32_t err_code;

    if (p_rf_config == NULL || p_rf_config-&amp;gt;rf_addr == NULL)
    {
        return NRF_ERROR_INVALID_PARAM;
    }

    if (m_timeslot_session_open)
    {
        return NRF_ERROR_INVALID_STATE;
    }

    err_code |= sd_power_mode_set(NRF_POWER_MODE_CONSTLAT);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

    memcpy(m_params.rf_addr, p_rf_config-&amp;gt;rf_addr, sizeof(m_params.rf_addr));
    m_params.rf_chn = p_rf_config-&amp;gt;rf_chn;

    err_code = sd_radio_session_open(radio_callback);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

    err_code = sd_radio_request(&amp;amp;m_timeslot_req_earliest);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }

    NVIC_ClearPendingIRQ(m_params.egu_irq_type);
    NVIC_SetPriority(m_params.egu_irq_type, TIME_SYNC_EVT_HANDLER_IRQ_PRIORITY);
    NVIC_EnableIRQ(m_params.egu_irq_type);

    m_params.egu-&amp;gt;INTENCLR = 0xFFFFFFFF;
    m_params.egu-&amp;gt;INTENSET = EGU_INTENSET_TRIGGERED0_Msk | EGU_INTENSET_TRIGGERED2_Msk | EGU_INTENSET_TRIGGERED3_Msk | EGU_INTENSET_TRIGGERED4_Msk;

    m_blocked_cancelled_count  = 0;
    m_radio_state              = RADIO_STATE_IDLE;

    nrf_atomic_flag_clear(&amp;amp;m_send_sync_pkt);

    nrf_atomic_flag_set(&amp;amp;m_timeslot_session_open);

    return NRF_SUCCESS;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Of course, this functions are based on your enable and disable functions.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It looks like my function for re-enabling works fine. But I have a problem with my disabling function.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I receive an error, after I call ts_temp_disable(). The error is produced in this line in time_sync.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void SWI3_EGU3_IRQHandler(void)
{
    ...
    if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] != 0)
    {
        NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] = 0;
        nrf_ppi_channel_disable(m_params.ppi_chns[4]);

        if (m_callback)
        {
            m_callback(&amp;amp;m_trigger_evt); // The error occurs here
        }
    }
    ...
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The call stack looks like this:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1615980384213v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Can you please provice me some advice how to solve this issue? In my optinion this&amp;nbsp;approach is still promising for saving power.&lt;/p&gt;
&lt;p&gt;Thank you very much. Any kind of feedback is appreciated.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;
&lt;p&gt;-----------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Edit (2 hours later):&lt;/p&gt;
&lt;p&gt;Hello again,&lt;/p&gt;
&lt;p&gt;it looks like I fixed the problem by simply removing the line which causes the error (in time_sync.c):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void SWI3_EGU3_IRQHandler(void)
{    
    ...
    if (NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] != 0)
    {
        NRF_EGU3-&amp;gt;EVENTS_TRIGGERED[2] = 0;
        nrf_ppi_channel_disable(m_params.ppi_chns[4]);

        if (m_callback)
        {
            //m_callback(&amp;amp;m_trigger_evt); // I commented this out
        }
    }
    ...
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;My&amp;nbsp;ts_temp_disable() and my&amp;nbsp;ts_re_enable(&amp;amp;rf_config) function work now. And the time sync works as it should when it is enabled.&lt;/p&gt;
&lt;p&gt;At the moment I am a bit worried by simply removing this line of code. To be honest, I do not really know what this line of code does. Does this have any consequences?&lt;/p&gt;
&lt;p&gt;Are there any side effects, which I sould be aware of?&lt;/p&gt;
&lt;p&gt;Thank you very much in advance. Any kind of feedback is appreciated.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Michael&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to access the TIMER3 in wireless timer sync?</title><link>https://devzone.nordicsemi.com/thread/299526?ContentTypeID=1</link><pubDate>Fri, 12 Mar 2021 15:25:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c09bd1dc-86be-4134-aa4f-de54e1834c4b</guid><dc:creator>Audun</dc:creator><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
[quote userid="93336" url="~/f/nordic-q-a/72241/how-to-access-the-timer3-in-wireless-timer-sync/299516#299516"]Does this approach make sense to you? What do you think about it?[/quote]
&lt;p&gt;&lt;em&gt;&lt;/em&gt;It sounds like this is worth testing as a simple approach. As you say, if you don&amp;#39;t call time timer _start() functions when you re-enable the receiver, the timers will keep running. I would also avoid calling the PPI config functions again when you re-enable, in case there could be corner cases associated with PPI configuration:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    ppi_timestamp_timer_configure();
    ppi_sync_timer_adjust_configure();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Audun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>