<?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>ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/19328/ble_radio_notification_evt_handler_t-timeslot-api-and-softdevice</link><description>I am using the timeslot API and softdevice to advertise two separate types of message. This works well. But I have also used ble_radio_notification_evt_handler_t in an attempt to change the payload of the softdevice advertisement. 
 Unfortunately through</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 01 Feb 2017 12:54:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/19328/ble_radio_notification_evt_handler_t-timeslot-api-and-softdevice" /><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74975?ContentTypeID=1</link><pubDate>Wed, 01 Feb 2017 12:54:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0449a89d-dd3a-4773-84d6-7c9da935e1da</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;On a first look it seems to me kind of overkill to fire timer for one-time period on each such event, I&amp;#39;d rather set infinite timer and sync it once with adv. interval (and then resync as needed - hourly or longer?). Again it works until you don&amp;#39;t require 100% timer accuracy over long periods. In that case you would need to go with custom (or open source) stack and make this inherit feature of low layers...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74967?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 22:42:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf6eebd8-dbee-47e0-8440-2ed0a2788f14</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;Johnnofleek&lt;/p&gt;
&lt;p&gt;Yikes...&lt;/p&gt;
&lt;p&gt;I presumed the same as you, that the radio event related to when the radio was going to transmit, not all of the internals of what other stuff it was doing&lt;/p&gt;
&lt;p&gt;I wonder if there is a way to read some other register or part of the SD to determine what the event was caused by.&lt;/p&gt;
&lt;p&gt;But, If you get loads of interrupts, I guess, checking for what the type of radio notification, is going to wake the CPU up far too much, and not be a usable solution for low power application.&lt;/p&gt;
&lt;p&gt;I think Nordic need to clarify this, and how you are supposed to update data in between transmissions.&lt;/p&gt;
&lt;p&gt;BTW. I see that the event handler is passed a flag to say when the radio is inactive, so wonder how many interrupts per advertising period you get when that flag is false&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74966?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 21:12:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c21d034-ae31-4dd0-8cf1-3b98645ab9a2</guid><dc:creator>johnofleek</dc:creator><description>&lt;p&gt;Roger
The radio notification event looks like it&amp;#39;s driven - not surprisingly - by all radio events - so in my case we get 10ish events per second from the timeslot , 2ish per second for the soft device advert and some additional ones. You are correct you can select a notification delay and also test to see if the event indicating the start or end of the timeslot.
I was hoping the events only occurred for softdevice related radio events but I was wrong.
It would be great if we could sync the advertising data with the transmissions - but without a &amp;quot;source&amp;quot; indicator I think we will have to live with the random ish updates.
Thanks for the info on the receivers missing data - in our use case it&amp;#39;s not the end of the world but it would be  good if we weren&amp;#39;t adding additional random behaviour (1,2 or 3 transmissions) to the system&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74974?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 20:03:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c345880-6e48-4b1b-9d61-820ca7d61057</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;could you start a timer from a radio notification event, for half the period of the advertising ?&lt;/p&gt;
&lt;p&gt;I still dont understand the issue with &amp;quot;context&amp;quot; here, cant context issues be overcome with a global semaphore&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74969?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 20:01:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7f45c9e-79f7-43c9-900a-5b7d1b8acc07</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;Johnofleek&lt;/p&gt;
&lt;p&gt;can you explain in a bit more detail why the radio notification doesnt work for you?&lt;/p&gt;
&lt;p&gt;I have not personally used it, but I thought there were settings to be notified in advance of the transmission.&lt;/p&gt;
&lt;p&gt;Are you just advertising e.g. is this just a beacon?&lt;/p&gt;
&lt;p&gt;BTW. Are you aware that virtually no receiver , especially in a phone, gets data every advertising transmission.&lt;/p&gt;
&lt;p&gt;In my experience, phone apps often only get notified of about a third of the actual transmissions&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74972?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 14:23:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15676732-097f-450d-a7a5-af98045ea01b</guid><dc:creator>johnofleek</dc:creator><description>&lt;p&gt;I&amp;#39;m currently running a 1 second timer and updating the ble advertising data when the timer event occurs.
The softdevice advertises every 500ms
Over the air I see either 1,2 or 3 advertisements with the same payload
I think this means that the advertisement intervals are not sync&amp;#39;d with the standard app timers -I guess this could be due to the time slot advertisements clashing with the softdevice advertisements
It&amp;#39;s a shame there&amp;#39;s no context available in the  ble_radio_notification_evt_handler_t cbh. I guess we could synchronise the updates by putting some sort of semaphore between the main timer and the ble_radio_notification_evt_handler_t  cbh . Maybe also speed up the main timer to 500ms&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74973?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 11:40:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da557443-d3bf-4afc-b921-c794641bb9c3</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Hi Kristin, Roger,&lt;/p&gt;
&lt;p&gt;I believe that timer actually might solve it if you set it to the middle of the adv. interval then jitter should oscillate a bit but in average you could run both adv. interval and timer in sync. Of course this isn&amp;#39;t usable if you need 100% precision over long period of time (hours/days).&lt;/p&gt;
&lt;p&gt;Cheers Jan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74971?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 10:22:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7dea8a82-3aae-48e9-87be-2c7b2ab29837</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;@Kristin&lt;/p&gt;
&lt;p&gt;Thanks for the clarification&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74970?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 10:11:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ea87c36-e342-4cb3-87ec-88e92bde7acf</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Yes, that&amp;#39;s correct. So probably it is better to use the timer to update the advertising data every N&amp;#39;th connection event. In some cases, the advertising data will be updated every N&amp;#39;th interval, and sometimes every (N-1)&amp;#39;th interval (due to the random delay for each advertising event).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74968?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 09:11:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea9ee7f8-0f2d-4aa8-bd15-337cc1776af8</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;Kristin&lt;/p&gt;
&lt;p&gt;Isn&amp;#39;t there automatic jitter introduced in when the device advertises, (to prevent collisions) ?&lt;/p&gt;
&lt;p&gt;Is there any conflict there ?&lt;/p&gt;
&lt;p&gt;BTW. I do something similar (using the App timer) but I only update the advertising packet every 15 seconds, with a 1000ms advertising period.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74965?ContentTypeID=1</link><pubDate>Tue, 31 Jan 2017 09:00:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4e55f00-1677-4a47-928f-21457be81ff6</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;The easiest way to change the advertising data between two advertising events, is to use app_timer/the RTC to run with the same timeout interval as the advertising interval. Since we know that the advertiser will advertise at a given interval, having app_timer/the RTC to update the advertising data with the same interval will make the advertising data change for each advertising event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ble_radio_notification_evt_handler_t timeslot API and softdevice</title><link>https://devzone.nordicsemi.com/thread/74964?ContentTypeID=1</link><pubDate>Mon, 30 Jan 2017 16:22:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7754020-608e-4df2-9e77-b3473b8a3971</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Interesting question. I&amp;#39;m using radio notification events to alter adv. data because I never run connection and GAP Peripheral role simultaneously. Hard to say how to filter out other events when running in  parallel... Looking forward to the answer;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>