<?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>TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10893/twi-with-softdevice-s110</link><description>Hi 
 I have a problem using TWI driver with my softdevice enabled. 
 The TWI is able to communicate successfully to the slave without the softdevice. 
 But the same code when merged with the softdevice and an character sent for Read/Write returns busy</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 17 Dec 2015 07:04:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10893/twi-with-softdevice-s110" /><item><title>RE: TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/thread/40739?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 07:04:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea53ef98-ae16-4171-af58-5a2d2bbe4e72</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;That&amp;#39;s &lt;em&gt;exactly&lt;/em&gt; the one case I mentioned above that you should not do, use nrf_delays in any interrupt handler which is running in APP HIGH priority - so if you&amp;#39;re doing that, you&amp;#39;ll eventually mess up your bluetooth connection.&lt;/p&gt;
&lt;p&gt;Not that I know why you were putting delays in all over the place, none of them are necessary and if you&amp;#39;re doing that, you&amp;#39;re just working around issues in your code.&lt;/p&gt;
&lt;p&gt;write data, get callback, read data, get callback, no delays needed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/thread/40738?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 06:59:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef2ba82b-6459-4ffc-b015-73d18178a35e</guid><dc:creator>Darshan</dc:creator><description>&lt;p&gt;Thank you I sorted out the problem&lt;/p&gt;
&lt;p&gt;the problem was with twi Initialization  p_twi_config.interrupt_priority = APP_IRQ_PRIORITY_LOW;&lt;/p&gt;
&lt;p&gt;after I changed it to  p_twi_config.interrupt_priority = APP_IRQ_PRIORITY_HIGH;&lt;/p&gt;
&lt;p&gt;its working now both Read/Write.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/thread/40737?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2015 06:52:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e43526b4-579c-4dcc-9c52-891ec91f5d83</guid><dc:creator>Darshan</dc:creator><description>&lt;p&gt;I reduced the delay to 5ms for both Read/Write still its not working.&lt;/p&gt;
&lt;p&gt;Which Driver should I be using for TWI with soft device ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/thread/40736?ContentTypeID=1</link><pubDate>Wed, 16 Dec 2015 13:19:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23e082f0-3a12-4567-a5bb-2170c59b48f5</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;well there&amp;#39;s nothing wrong with it per-se, it won&amp;#39;t break anything, it just won&amp;#39;t give an accurate 500ms. The softdevice interrupts will continue to happen and interrupt the nrf_delay, which is just a busy load of NOPs making it a random delay which is something longer than 500ms. It&amp;#39;s not clear from a cursory look at that code whether accurate delays even matter.&lt;/p&gt;
&lt;p&gt;oh one point I should have made - if you do long blocking delays during an interrupt handler at APP HIGH priority - that is bad as it will stop the softdevice executing its lower priority tasks, but blocking in interrupt handlers anyway is a bad idea and you can actually block in the APP LOW priority ones if you want to without bothering the softdevice at all. Not that I recommend it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TWI with Softdevice S110</title><link>https://devzone.nordicsemi.com/thread/40735?ContentTypeID=1</link><pubDate>Wed, 16 Dec 2015 12:10:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1403f509-6708-4f8e-b06f-3e8f8fd681db</guid><dc:creator>Wojtek</dc:creator><description>&lt;p&gt;Blocking delay (ex. nrf_delay_ms(500) 500ms! ) is definitely not something you should use while using softdevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>