<?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/"><channel><title>Running micro-ESB concurrently with BLE</title><link>/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><description>Introduction
Using proprietary protocols can be an effective way of addressing shortcomings in BLE. When communicating between two nRF chips, one can for example use a different packet format or different symbol rate to improve throughput or increas</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Wed, 18 Sep 2019 13:40:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>lbe</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hello everyone, I seem to have issues in making this work on NRF52832 DK, with SDK 15.0.0, running S132 v6.&lt;/p&gt;
&lt;p&gt;The BLE part works fine, with the uart strings sent back and forth to a smartphone running the NRF toolbox.&lt;/p&gt;
&lt;p&gt;As for the ESB part, I am not able to see any transmission.....as far as I understand from the description of the code, it is supposed to print something when the string is transmitted, but I don&amp;#39;t see anything neithter on the transmitting side nor on the receiving side.&lt;/p&gt;
&lt;p&gt;I read the commend of Manhdv below, but I never see error codes like NRF_ERROR_BUSY.....it just seems to me that the ESB simply never detects the strings from the uart terminal.&lt;/p&gt;
&lt;p&gt;Any clue? I am running the original code found in the github, just modifiy the &amp;quot;include softdevice_handler.h&amp;quot; with &amp;quot;include nrf_sdh.h&amp;quot;.&lt;/p&gt;
&lt;p&gt;Thanks if advance.&lt;/p&gt;&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Fri, 12 Oct 2018 10:50:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>Manhdv</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I tested this timeslot api (code on github) with nrf52 (SDK15.1.0, softdevice s132 v6.1.0) and here are some notes for anyone wanna do the same:&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;in function&amp;nbsp;&lt;span&gt;TIMESLOT_END_IRQHandler and&amp;nbsp;TIMESLOT_END_IRQHandler, when you try to init, set base address or stop rx, disable esb module, you will receive some error codes like: NRF_ERROR_BUSY, you should handle these errors instead of using APP_ERROR_CHECK to prevent your app&amp;nbsp;run in to reset, for example just bypass current timeslot and wait to the next timeslot.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- I use another board to transmit a RF package every 500ms, after few hours the RX board will run into an error:&amp;nbsp;SOFTDEVICE: INVALID MEMORY ACCESS, sub-region 0x02 (illegal write access to the radio module). That&amp;#39;s because the UESB_RX_HANDLE_IRQHandler did call outside of time slot. When reading the payload, function uesb_read_rx_payload(&amp;amp;payload); will try to disable radio&amp;nbsp;&lt;/span&gt;interrupt, but the softdevice already take access to the radio module.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;To fix this, I take the payload in function nrf_esb_event_handler when I&amp;nbsp;receive event RX (tested), or may be change the priority&amp;nbsp; UESB_RX_HANDLE_IRQPriority to 1 can fix it (not tested yet).&lt;/p&gt;&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Thu, 21 Jun 2018 08:59:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>Darrew</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;According to the SoftDevice Specification (e.g. S130 v2.0):&lt;br /&gt; &amp;quot;Important: To ensure reliable usage of the SoftDevice you must use the wrapper functions (i.e. sd_nvic_*) when the SoftDevice is enabled.&amp;quot;&lt;/p&gt;
&lt;p&gt;In esb_timeslot.c, NVIC_* functions are used. Could this be an issue?&lt;/p&gt;&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Wed, 15 Jun 2016 08:07:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>Paul</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Do you have similar code example for the nrf52?&lt;/p&gt;
&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Wed, 26 Aug 2015 23:02:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>hassan789</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I wish I could +1 this post!&lt;/p&gt;
&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Tue, 18 Aug 2015 00:14:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>Audun</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Thanks for the feedback, David. I&amp;#39;ve added a couple of state figures and put the code on github.&lt;/p&gt;
&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Running micro-ESB concurrently with BLE</title><link>https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/running-micro-esb-concurrently-with-ble</link><pubDate>Mon, 17 Aug 2015 10:49:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:525c5b60-6138-4985-99af-af73208ba900</guid><dc:creator>David Edwin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Can the code be moved to github ? so it is easier to use and to refer to.
A diagram for the state machine used in this example would alse be nice.
It is a very good and useful example.&lt;/p&gt;
&lt;img src="https://devzone.nordicsemi.com/aggbug?PostID=839&amp;AppID=4&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>