<?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>Why can the mesh-stack disable interrupts globally?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/53487/why-can-the-mesh-stack-disable-interrupts-globally</link><description>I&amp;#39;m currently looking a bit into the bearer-layer internals of the nRF SDK for Mesh and noticed that there is a heap of instances where data needs to be transferred between RADIO IRQ context and any other priority level. Whenever this is done, interrupts</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 25 Oct 2019 12:19:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/53487/why-can-the-mesh-stack-disable-interrupts-globally" /><item><title>RE: Why can the mesh-stack disable interrupts globally?</title><link>https://devzone.nordicsemi.com/thread/216830?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2019 12:19:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eccf5950-853a-4746-a796-7da05a3655dd</guid><dc:creator>m.wagner</dc:creator><description>&lt;p&gt;Hi Terje,&lt;/p&gt;
&lt;p&gt;Thanks for your response.&lt;/p&gt;
&lt;p&gt;It&amp;#39;d be great if you could elaborate on the following point a bit.&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/53487/why-can-the-mesh-stack-disable-interrupts-globally/216204"]as it is limited use and for a limited time (preferably less than 20 μs)[/quote]
&lt;p&gt;Is this value of 20us based on experience, a piece of documentation or anything you could point me to?&lt;/p&gt;
&lt;p&gt;Does the mesh stack adhere to these timings (I assume so...)?&lt;/p&gt;
[quote userid="8164" url="~/f/nordic-q-a/53487/why-can-the-mesh-stack-disable-interrupts-globally/216204"] the only reason they disable all interrupts is that it is strictly necessary in those cases[/quote]
&lt;p&gt;I can imagine... as mentioned above, I see that this is absolutely required to not get data inconsistencies. I just wondered whre the limits were.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;-mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why can the mesh-stack disable interrupts globally?</title><link>https://devzone.nordicsemi.com/thread/216204?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 14:07:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a15b9558-7b6e-4fef-a3bf-bfb99c002be6</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Since the mesh stack uses SoftDevice timeslots, it stands freer to disable interrupts (during those timeslots). Further, disabling all interrupts will not necessarily lead to problems, as long as it is limited use and for a limited time (preferably less than 20 &amp;mu;s). It is still advisable not to disable more interrupts than strictly needed, and for as short a period as possible.&lt;/p&gt;
&lt;p&gt;Edit: I got some more feedback from our Mesh team, and the only reason they disable all interrupts is that it is strictly necessary in those cases. Extensive testing, isolating pieces of code disabling interrupts as much as possible, collaboration internally with our SoftDevice team, etc. There be dragons.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>