<?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>GPIO Input Interrupt to TASK on Zephyr 3</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/88297/gpio-input-interrupt-to-task-on-zephyr-3</link><description>On Zephyr 2.7 I used following snipped to connect a GPIO pin (ADC_nDRDY) to a SPI TASK (simplified): 
 
 On Zephyr 3.0.0 we experienced immediate crashes. 
 I then saw that nrfx_gpiote_in_init() is marked as deprecated, so I replaced nrfx_gpiote_in_init</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 13 Jun 2022 09:44:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/88297/gpio-input-interrupt-to-task-on-zephyr-3" /><item><title>RE: GPIO Input Interrupt to TASK on Zephyr 3</title><link>https://devzone.nordicsemi.com/thread/372075?ContentTypeID=1</link><pubDate>Mon, 13 Jun 2022 09:44:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94eda5de-ac48-4944-b6a0-bc7897170ff5</guid><dc:creator>CacO3</dc:creator><description>&lt;p&gt;Sorry for the late response.&lt;/p&gt;
&lt;p&gt;We seem to have some priotity issues with BLE in Zephyr 3. We will need to investigate further and create a separate support ticket if needed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO Input Interrupt to TASK on Zephyr 3</title><link>https://devzone.nordicsemi.com/thread/370036?ContentTypeID=1</link><pubDate>Mon, 30 May 2022 15:01:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6be4f7d1-1280-47bf-ae3f-15744c8dffe1</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure I understand. Isn&amp;#39;t the TIMER IRQ that needs to run in the link that you posted?&lt;/p&gt;
&lt;p&gt;The GPIOTE seems to be connected through PPI, so that should &amp;quot;run&amp;quot; (ie. trigger the task endpoint) regardless of what the CPU is up to.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO Input Interrupt to TASK on Zephyr 3</title><link>https://devzone.nordicsemi.com/thread/369584?ContentTypeID=1</link><pubDate>Wed, 25 May 2022 14:34:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0f4aba3-4486-4ffe-ad05-ca8974cef27f</guid><dc:creator>CacO3</dc:creator><description>&lt;p&gt;Dear H&amp;aring;kon&lt;/p&gt;
&lt;p&gt;Thank you for your quick response!&lt;/p&gt;
&lt;p&gt;This indeed helps solves this issue!&lt;/p&gt;
&lt;p&gt;How ever we now experience performance issues when using Bluetooth.&lt;/p&gt;
&lt;p&gt;We had such an issue before (see &lt;a href="https://github.com/zephyrproject-rtos/zephyr/discussions/41401#discussioncomment-1858153"&gt;https://github.com/zephyrproject-rtos/zephyr/discussions/41401#discussioncomment-1858153&lt;/a&gt; ).&lt;/p&gt;
&lt;p&gt;The solution was to adjust the priorities. For our needs the GPIO interrupt must have a GPIO priority sitting between the Bluetooth Stacks Upper Layer and Lower Layer tasks (Needed to set CONFIG_BT_CTLR_ULL_HIGH_PRIO=2).&lt;/p&gt;
&lt;p&gt;Do you know if something changed there as well? Else I will try to ask @cvinayak&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GPIO Input Interrupt to TASK on Zephyr 3</title><link>https://devzone.nordicsemi.com/thread/369565?ContentTypeID=1</link><pubDate>Wed, 25 May 2022 13:54:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1caac7ad-059b-4ba5-8f5e-8221a17b95ec</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With ncs v1.9.x, the zephyr gpio driver (gpio_nrfx.c) is now fully using nrfx_gpiote as a backend, making it possible for the user to use both simultaneously in their application.&lt;/p&gt;
&lt;p&gt;One drawback there is that the amount of event handlers must be manually set in kconfig, using this configuration:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you try setting prj.conf::CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS=2 and see if this helps?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>