<?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>Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api</link><description>Good day to all 
 I would like to get a little more information about the function: 
 added in softdevice version 7.0.1. 
 
 Starting the radio in connection mode is shown in the figure (taken from the online power calculator). At what point will this</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 04 Jun 2020 10:29:53 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api" /><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/253243?ContentTypeID=1</link><pubDate>Thu, 04 Jun 2020 10:29:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35263281-9696-4e5e-99fd-e434733ccd23</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi, Ok.&lt;/p&gt;
&lt;p&gt;Thank you for your time.&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/253227"]You mentioned that you&amp;#39;re able to access the radio and exchange data with this method. I&amp;#39;m not sure how, as the trigger event will be generated 40 µs before a connection event, which leaves no room for a timeslot to fit.[/quote]
&lt;p&gt;No, I use this trigger &lt;strong&gt;to start&lt;/strong&gt; RTC. RTC will give an event 2 milliseconds before next connection event started.&amp;nbsp;for one connection, by the way, this is the best solution).&lt;/p&gt;
&lt;p&gt;I suggest closing this topic as a topic with a solution found. I will mark key answers.&lt;/p&gt;
&lt;p&gt;Thanks again for your time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/253227?ContentTypeID=1</link><pubDate>Thu, 04 Jun 2020 09:55:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44672f89-d6cb-4736-a53c-f2edbdc82b73</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Using Radio notifications with Timeslot is apparently not a feature which is supported by the radio scheduler in the Softdevice. This is a limitation of the Softdevice. It was my mistake of suggesting this solution when it&amp;#39;s not a feature that we support in the first place. I&amp;#39;m sorry for that. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regarding the &amp;quot;trigger method&amp;quot; of using&amp;nbsp;sd_ble_gap_conn_evt_trigger_start() to signalize the start of a connection event. You mentioned that you&amp;#39;re able to access the radio and exchange data with this method. I&amp;#39;m not sure how, as the trigger event will be generated 40 µs before a connection event, which leaves no room for a timeslot to fit. This method was explicitly not recommended from our developers of the Softdevice.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/252263?ContentTypeID=1</link><pubDate>Thu, 28 May 2020 16:12:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dab32948-9278-40d0-9bd2-e9863fc2f4ce</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m afraid to seem annoying with this question, but I just want to better understand the tool that I use.&lt;/p&gt;
&lt;p&gt;Well, I understood about the overlap, But&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s see to this diagram,&lt;/p&gt;
&lt;p&gt;&lt;img height="101" src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/tgap_5F00_too_5F00_small_5F00_and_5F00_notif_5F00_signal_5F00_unavailable.svg" width="394" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;I always have free time to open the slot: t_free = t_ndist - t_prep.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Using my timer trigger method, I can successfully access the radio and exchange data.&amp;nbsp;At the same time, it is enough for me 2 ms before the start of the connection event to activate the radio on 800 &amp;mu;s. This can be seen in the diagrams that I applied above.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This means that setting distance values of more than 2 ms should lead to successful activation of the slot without overlapping &lt;span&gt;t_prep&lt;/span&gt;. However, this does not happen.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/252227?ContentTypeID=1</link><pubDate>Thu, 28 May 2020 13:59:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4be7229a-8c1a-4954-9ed0-2dae00da4778</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;So I discussed this with the developers and they concluded that the Softdevice will not allow any timeslots right before a connection event, even by using Radio notifications. This is likely due to the timeslot overlapping with &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/radio_notif/radio_notif.html?cp=4_6_3_0_10_0"&gt;t_prep&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/251765?ContentTypeID=1</link><pubDate>Tue, 26 May 2020 16:13:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d4b5f49-fec1-4d4d-8fc3-c629c5a991f0</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/251733"]What if you request the HFCLK before the radio notification and only open a timeslot in the radio notification event handler?[/quote]
&lt;p&gt;No, it&amp;#39;s not work.&lt;/p&gt;
&lt;p&gt;I noticed another feature. if I just allow radionotifications, then my chart is offset. Pay attention to the marker for the duration of the radio session (brown, channel 1). It is biased and overlaps the connection event (white, channel 0). I try&amp;nbsp;all NRF_RADIO_NOTIFICATION_DISTANCES, but result&amp;nbsp;but the result is always the same.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/410x196/__key/communityserver-discussions-components-files/4/1882.31.png" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/410x196/__key/communityserver-discussions-components-files/4/32.png" /&gt;&lt;/p&gt;
&lt;p&gt;without using this function, the picture is different.&lt;/p&gt;
&lt;p&gt;my suspicion is that allowing radioactivity tracking somehow blocks access to it programmatically.&amp;nbsp;can you consult the developers of the stack about this behavior?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/251733"]The goal is to minimize time used in the event handler before you request a timeslot.[/quote]
&lt;p&gt;Yes.&amp;nbsp;And it seems that I have reached this minimum. I really wanted to be as close to the connection event as possible so as not to reduce the channel bandwidth. But this is apparently not solvable in the current performance.&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/251733"]My guess is that the Softdevice is implemented such that it allocates time for the crystal to ramp up even though you&amp;#39;ve already enabled the HFCLK if you use &lt;span&gt;NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED.&lt;/span&gt;[/quote]
&lt;p&gt;truth can be found only from the author of the code :)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;if it is easier, then I can attach the project here. It is built on the basis of a standard example of a heart rate monitor (sdk 16.0.0). only the main.c file has been changed and added my file for working with time slots.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/251733?ContentTypeID=1</link><pubDate>Tue, 26 May 2020 13:46:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8084566-6f95-4a7f-8ce1-6b0a8df5d4a9</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Sorry for the misunderstanding in the previous reply. I was indeed thinking that you could use&amp;nbsp;&lt;span&gt;sd_radio_notification_cfg_set() to notify your application of a radio start event instead of using your previous method. I see that you tried this with the a 5 ms distance and that the Timeslot was canceled.&amp;nbsp;What if you request the HFCLK before the radio notification and only open a timeslot in the radio notification event handler? The goal is to minimize&amp;nbsp;time used in the event handler before you request a timeslot.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regarding the difference between NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED&amp;nbsp;and&amp;nbsp;NRF_RADIO_HFCLK_CFG_NO_GUARANTEE. My guess is that the Softdevice is implemented such that it allocates time for the crystal to ramp up even though you&amp;#39;ve already enabled the HFCLK if you use&amp;nbsp;&lt;span&gt;NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/251444?ContentTypeID=1</link><pubDate>Mon, 25 May 2020 10:23:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dadb6b2b-0093-4bb3-b5e6-83f6043822c8</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi Jared,&lt;/p&gt;
&lt;p&gt;Did not quite understand.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;If I started the clock in advance, then the soft device does not need to start and wait for the clock to stabilize.&lt;/p&gt;
&lt;p&gt;It is enough just to check the corresponding flag on the readiness of the source. Even the corresponding function is:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/**@brief Checks if the high frequency crystal oscillator is running.
 *
 * @see sd_clock_hfclk_request
 * @see sd_clock_hfclk_release
 *
 * @param[out] p_is_running 1 if the external crystal oscillator is running, 0 if not.
 *
 * @retval ::NRF_SUCCESS
 */
SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;If I started timing in advance, then I should not see the difference by requesting a slot with a &lt;strong&gt;NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED&lt;/strong&gt; or with &lt;strong&gt;NRF_RADIO_HFCLK_CFG_NO_GUARANTEE&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;However, it is not. I saw a difference of about 1.5ms at startup.ms at startup.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/344x267/__key/communityserver-discussions-components-files/4/1033.11.png" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;delay: 282.32us&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/344x155/__key/communityserver-discussions-components-files/4/21.png" /&gt;&lt;/p&gt;
&lt;p&gt;delay: 1.77 ms&lt;/p&gt;
&lt;p&gt;On figures:&lt;/p&gt;
&lt;p&gt;Yellow Label 1:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;pre class="ui-code" data-mode="text"&gt;if(sd_radio_session_open(radio_callback) != NRF_SUCCESS)
    return;

if(sd_radio_request(&amp;amp;m_timeslot_req_earliest) != NRF_SUCCESS) 
    return;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Yellow Label 2: After receive event: &lt;strong&gt;NRF_RADIO_CALLBACK_SIGNAL_TYPE_START.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I can assume that a strict time delay is always used.&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/251430"]Radio notifications are used to inform the application of radio activity but will not give the application directly access to the radio peripheral.[/quote]
&lt;p&gt;I thought, based on the description, that if I ask you to tell me that activity will start in time X, then you can try to open the slot.&lt;/p&gt;
&lt;p&gt;and it seemed strange to me that when using the radio notification of activity, I can&amp;rsquo;t open the slot at these moments. I wrote about this above, if necessary, I can describe the full scheme of the experiment and attach the code and results.&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/251430"]Do you have the option of synchronizing by using a GPIO, or does your project require that it&amp;#39;s wireless?[/quote]
&lt;p&gt;here I just want to refuse extra wires. At the moment, I get acceptable accuracy using the algorithm described (partially) here.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/251430?ContentTypeID=1</link><pubDate>Mon, 25 May 2020 09:26:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d1e7c4a-907b-4704-9bb7-fc79921ad606</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;So in short:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Radio notifications are used to inform the application of radio activity but will not give the application directly access to the radio peripheral.&lt;/li&gt;
&lt;li&gt;Radio timeslots are used when you want access to the radio when the Softdevice is in use. The Softdevice will allocate a timeslot which gives the application directly access to the radio peripheral.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The issue with using radio timeslots&amp;nbsp; in this case is that a timeslot won&amp;#39;t fit in between the event generated from&amp;nbsp;sd_ble_gap_conn_evt_trigger_start() and the start of the connection interval.&amp;nbsp;&lt;/p&gt;
[quote user="CheMax"]If HFCLK &lt;strong&gt;always enable&lt;/strong&gt; in my projects (I call &lt;strong&gt;sd_clock_hfclk_request() &lt;/strong&gt;after stack init), does it mean that I can request an early&amp;nbsp;timeslot interval&amp;nbsp; with&amp;nbsp;&lt;strong&gt;NRF_RADIO_HFCLK_CFG_NO_GUARANTEE&lt;/strong&gt; &lt;strong&gt;&lt;/strong&gt;option without lost accuracy? In this case, I act as a guarantor that the exact clock source is already running.[/quote]
&lt;p&gt;&amp;nbsp;Yes, this will make sure that the Softdevice leave the HFCLK running and is ready when the timeslot starts. However, this may affect the possibility of getting an earlier timeslot as the Softdevice must start the HFCLK if it&amp;#39;s not already running.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you have the option of synchronizing by using a GPIO, or does your project require that it&amp;#39;s wireless?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/251240?ContentTypeID=1</link><pubDate>Fri, 22 May 2020 11:48:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08bec8d0-7977-4944-821f-ac32ac87c076</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Please, give me a answer on this questions about timeslots:&lt;/p&gt;
&lt;p&gt;If HFCLK &lt;strong&gt;always enable&lt;/strong&gt; in my projects (I call &lt;strong&gt;sd_clock_hfclk_request() &lt;/strong&gt;after stack init), does it mean that I can request an early&amp;nbsp;timeslot interval&amp;nbsp; with&amp;nbsp;&lt;strong&gt;NRF_RADIO_HFCLK_CFG_NO_GUARANTEE&lt;/strong&gt; &lt;strong&gt;&lt;/strong&gt;option without lost accuracy? In this case, I act as a guarantor that the exact clock source is already running.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/250907?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 10:25:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e9dc6d7-7a30-4ff9-8442-5f9a7fc928a0</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;additional information:&lt;/p&gt;
&lt;p&gt;I conducted a test and returned to starting time slots using the method described earlier (using a timer to start before the connection interval) &lt;strong&gt;without using&lt;/strong&gt; NRF_RADIO_NOTIFICATION and got the following results&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/4135.04.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;As you can see in the figure marked 1, time slots open successfully (red track, p1.02).&lt;br /&gt;But if I just &lt;strong&gt;call&lt;/strong&gt; a function&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;APP_ERROR_CHECK(radio_notification_init(5, NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE, NRF_RADIO_NOTIFICATION_DISTANCE_5500US));&lt;/pre&gt;whose handler does nothing but control the pin, then timeslots cease to be available.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/250873?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 08:48:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da1c5640-b42d-4d9e-910c-9bce11dde10c</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;two days later ....&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve got a little insight into the idea of radionifications, but so far I can&amp;rsquo;t say whether this tool suits me or not.&lt;/p&gt;
&lt;p&gt;I changed my code a bit to start the radio exchange through the time-slot api through the radio notification. Notifications were configured as follows:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;APP_ERROR_CHECK(radio_notification_init(5, NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE, NRF_RADIO_NOTIFICATION_DISTANCE_5500US));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;but I did not see anyone on the radio. For debugging, I assigned several pins to indicate certain events and made a recording with a logic analyzer.&lt;/p&gt;
&lt;p&gt;annotation:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/417x99/__key/communityserver-discussions-components-files/4/4578.03.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/417x194/__key/communityserver-discussions-components-files/4/pastedimage1589963642200v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;So, I see event from radio-notification&amp;nbsp;5500 us before the radio is activated (as planned).&lt;/p&gt;
&lt;p&gt;Next, I call the following functions:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;if(runtimeslot_)
{   // event received
  runtimeslot_ = false;
  if(connected_)
  { // connect established
    err = sd_power_mode_set(NRF_POWER_MODE_CONSTLAT);
    if(err != NRF_SUCCESS)
      NRF_LOG_INFO(&amp;quot;sd_power_mode_set %d&amp;quot;, err);

    err = sd_clock_hfclk_request();
    if(err != NRF_SUCCESS)
      NRF_LOG_INFO(&amp;quot;sd_clock_hfclk_request %d&amp;quot;, err);

    NRF_P1-&amp;gt;OUTSET = 1 &amp;lt;&amp;lt; 2;
    err = sd_radio_session_open(radio_callback);
    if(err != NRF_SUCCESS)
      NRF_LOG_INFO(&amp;quot;sd_radio_session_open %d&amp;quot;, err);

    err = sd_radio_request(&amp;amp;m_timeslot_req_earliest);
    if(err != NRF_SUCCESS)
      NRF_LOG_INFO(&amp;quot;sd_radio_request %d&amp;quot;, err);;
  }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And timeslot is not activated, because in the event handler i get:&amp;nbsp;&lt;strong&gt;NRF_EVT_RADIO_CANCELED.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If i try reopened timeslot on it event, I see timeslot activity, but &lt;span style="text-decoration:underline;"&gt;after&lt;/span&gt; connection event:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/437x149/__key/communityserver-discussions-components-files/4/3482.02.png" /&gt;&lt;/p&gt;
&lt;p&gt;So far, I&amp;#39;m at a loss. Is it possible to open a timeslot for transmitting proprietary data (ESB protocol) when using radio-notifications?&lt;/p&gt;
&lt;p&gt;how can I filter events? after all, everything falls under activity, including the &amp;ldquo;my&amp;rdquo; use of the radio.&lt;/p&gt;
&lt;p&gt;So far, my initial approach has more pluses, using only functions: sd_ble_gap_conn_evt_trigger_start();.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/250416?ContentTypeID=1</link><pubDate>Mon, 18 May 2020 11:25:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50ccad88-211f-46d2-95ea-4e1dde12bc0c</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/250398"]Sorry for the late reply.[/quote]
&lt;p&gt;Do not worry about it, during this time I only plunged deeper into this topic)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/250398"]What exactly is your goal of using radio timeslots?[/quote]
&lt;p&gt;We want use it for time synchronization (based on &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/wireless-timer-synchronization-among-nrf5-devices"&gt;it&lt;/a&gt;). It is also necessary to ensure maximum energy efficiency of the device.&lt;/p&gt;
&lt;p&gt;Therefore, we decided to use the following scheme:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/412x130/__key/communityserver-discussions-components-files/4/8880.11.png" /&gt;&lt;/p&gt;
&lt;p&gt;time slots are activated before the event &amp;quot;connection interval&amp;quot;.&lt;/p&gt;
&lt;p&gt;After a short exchange of tags, the radio switches to normal mode for data exchange already on the BLE channels.&lt;/p&gt;
&lt;p&gt;I have not yet come up with a better way to activate slots before this event occurs, as a countdown from the last interval.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/61403/connection-event-trigger-and-timeslot-api/250398"]If not, then maybe &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/radio_notif/radio_notification.html?resultof=%22%72%61%64%69%6f%22%20%22%6e%6f%74%69%66%69%63%61%74%69%6f%6e%22%20%22%6e%6f%74%69%66%22%20"&gt;Radio notifications&lt;/a&gt; is the right approach.[/quote]
&lt;p&gt;I already read about it before, but why at the moment I could not remember. Thanks, I think it will take me a couple of days to comprehend the new information.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/250398?ContentTypeID=1</link><pubDate>Mon, 18 May 2020 09:53:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:682e04a9-cb34-4f1c-b357-66e26bab089e</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;&amp;nbsp;Hi,&lt;/p&gt;
&lt;p&gt;Sorry for the late reply.&lt;/p&gt;
&lt;p&gt;I see that you have a couple questions that you want answered regarding time slots, and I&amp;#39;ll try to answer the them :). But first I would like you to elaborate a bit more on this:&lt;/p&gt;
[quote user=""]Using the timer that starts on this trigger, I want to use timeslots &lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;before&lt;/strong&gt; &lt;/span&gt;the connection event. At the moment, I have received the following diagram:[/quote]
&lt;p&gt;From our developers:&lt;/p&gt;
&lt;div&gt;&lt;em&gt;The event trigger task is triggered when the radio starts ramping up before the first reception or transmission in a connection event. That is, 40 us before the first radio activity. It is not possible to fit a timeslot in this period of time.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;What exactly is your goal of using radio timeslots? Did you want to use the Radio in the timeslot? If not, then maybe &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/radio_notif/radio_notification.html?resultof=%22%72%61%64%69%6f%22%20%22%6e%6f%74%69%66%69%63%61%74%69%6f%6e%22%20%22%6e%6f%74%69%66%22%20"&gt;Radio notifications&lt;/a&gt; is the right approach.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;The answer to Q3, and Q4 is yes :)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;regards&lt;/div&gt;
&lt;div&gt;Jared&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Connection event trigger and Timeslot API</title><link>https://devzone.nordicsemi.com/thread/250246?ContentTypeID=1</link><pubDate>Fri, 15 May 2020 15:34:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d180f403-7d4f-45d1-83e9-cb376fad96e4</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;during the wait, I made some progress in this matter, so the questions and additions below are considered more relevant.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t notice that I uploaded the same image twice. According to this diagram:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/348x239/__key/communityserver-discussions-components-files/4/7271.01.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q1.&lt;/strong&gt; Does a trigger for a connection event occur at the time of the &amp;quot;radio start&amp;quot;?&lt;br /&gt;&lt;strong&gt;Q2.&lt;/strong&gt; If I try to get timeslots up to this point, will I get a busy error because the stack is already busy with the radio?&lt;/p&gt;
&lt;p&gt;The description of the&amp;nbsp;&lt;strong&gt;NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED&lt;/strong&gt;&amp;nbsp;has note:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;@note The SoftDevice will automatically turn on and off the external crystal,
at the beginning and end of the timeslot, respectively. The crystal may also
intentionally be left running after the timeslot, in cases where it is needed
by the SoftDevice shortly after the end of the timeslot. &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q3.&lt;/strong&gt; does this mean that I do not need to make a request:&amp;nbsp;&lt;strong&gt;sd_clock_hfclk_request();&amp;nbsp;&lt;/strong&gt;before &lt;strong&gt;starting&amp;nbsp;sd_radio_session_open() ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q4.&amp;nbsp;&lt;/strong&gt;About function:&amp;nbsp;&lt;strong&gt;sd_ble_gap_conn_evt_trigger_start(conn_handle, params).&amp;nbsp;&lt;/strong&gt;Since I plan to use this event on the client side, I have to use it for every new connection. As a parameter, this function transfers the &lt;em&gt;PPI channel&lt;/em&gt; number and the &lt;em&gt;connection handle&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q4.1.&lt;/strong&gt; It turns out that if there will be many connections, for example 10, then I need 10 PPI channels?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q4.2.&amp;nbsp;&lt;/strong&gt;Or is it possible to use only one channel for all any number of connections?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q5. &lt;/strong&gt;I realized that in vain I was requesting an extension of the time slot and because of this the session time was stretching. After correction, the diagram began to look like this:&lt;/p&gt;
&lt;p&gt;&lt;img height="162" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/0830.04.png" width="384" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Time between radio-session opened and timeslot started is&amp;nbsp;&lt;span&gt;1.782553 ms.&amp;nbsp;I correctly understood that this time includes the launch and stabilization of HFCLK(~ 1.5ms according to the first figure) and it will not work to reduce it?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q6.&amp;nbsp;&lt;/strong&gt;Running a time slot now looks like this:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ble_gap_conn_evt_trigger &lt;/strong&gt;launches RTC timer&amp;nbsp;to measure the interval. The interval is defined as follows:&lt;/p&gt;
&lt;p&gt;RTC-&amp;gt;CC = CONN_INTERVAL - TIMESLOT_LENGTH - 2*1500,&lt;/p&gt;
&lt;p&gt;where:&amp;nbsp;&lt;span&gt;CONN_INTERVAL&amp;nbsp;- setted connection interval in microseconds. [e.g. 30000];&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;TIMESLOT_LENGTH&amp;nbsp; - length of timeslot, [e.g 1000];&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1500 - total preparation time for launch (Preprossesing, Crystal Ramp-up, standby, ...).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;By this time I came empirically. This method works, but does not look reliable. Maybe I&amp;#39;m trying to invent a wheel? Is it possible to obtain time data more accurately without using magic numbers?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Max&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>