<?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>About the use of gpiote and dppi of nrf5340</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/91233/about-the-use-of-gpiote-and-dppi-of-nrf5340</link><description>I want to use nRF5340&amp;#39;s GPIOTE and DPPI implementation, pull up PA_SWITCH_CTX_PIN when NRF_RADIO-&amp;gt;EVENTS_RXREADY is triggered, and pull down PA_SWITCH_CTX_PIN when NRF_RADIO-&amp;gt;EVENTS_TXREADY is triggered; 
 I wrote the following code with reference to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 25 Aug 2022 02:22:29 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/91233/about-the-use-of-gpiote-and-dppi-of-nrf5340" /><item><title>RE: About the use of gpiote and dppi of nrf5340</title><link>https://devzone.nordicsemi.com/thread/383151?ContentTypeID=1</link><pubDate>Thu, 25 Aug 2022 02:22:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed1bc181-107a-45c0-81b7-78859a8ca69b</guid><dc:creator>mingjkl</dc:creator><description>&lt;p&gt;Thank you very much for your technical support and reminders.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About the use of gpiote and dppi of nrf5340</title><link>https://devzone.nordicsemi.com/thread/382931?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 12:50:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a308cf1-3ce7-4e30-a737-3778560ec3b9</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;ESB does not have PA/LNA support, but the code that you&amp;#39;re using here, with selective_auto_ack=true, runs at my end:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1661258789384v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Channel 0 is a debug signal, cleared after TX_FAILED event in the esb handler, while channel 1 is your dppi/gpiote routine.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please note that your chosen PA/LNA will have timing requirements to when the PA should be turned off, and the event coming from the radio will turn off the pin immediately after the last bit has been transferred on-air. This can be problematic for some PA&amp;#39;s, and if this is the case for your PA; I would recommend that you use a timer to postpone de-asserting the pin.&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: About the use of gpiote and dppi of nrf5340</title><link>https://devzone.nordicsemi.com/thread/382880?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 10:33:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b6b7992-487a-4aa4-9b50-1a0e8dbdb7f7</guid><dc:creator>mingjkl</dc:creator><description>&lt;p&gt;After I set selective_auto_ack = true in the esb_config structure, PUBLISH_TXREADY and PUBLISH_RXREADY are not triggered, why is this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About the use of gpiote and dppi of nrf5340</title><link>https://devzone.nordicsemi.com/thread/382808?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 06:34:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:797d6077-9bf2-4014-99a8-c96d9ff375fc</guid><dc:creator>mingjkl</dc:creator><description>&lt;p&gt;I changed the implementation method below, it seems that the function I want has been successfully implemented, please help me confirm.&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define PA_SWITCH_CTX_PIN NRF_GPIO_PIN_MAP(1,9)

void esb_pa_ppi_init(void)
{


	uint8_t tx_ppi_chaannel;
	uint8_t rx_ppi_chaannel;

	NRF_GPIOTE-&amp;gt;CONFIG[0] = GPIOTE_CONFIG_MODE_Task &amp;lt;&amp;lt; GPIOTE_CONFIG_MODE_Pos |
					GPIOTE_CONFIG_OUTINIT_High &amp;lt;&amp;lt; GPIOTE_CONFIG_OUTINIT_Pos |
					PA_SWITCH_CTX_PIN &amp;lt;&amp;lt; GPIOTE_CONFIG_PSEL_Pos;

	nrfx_dppi_channel_alloc(&amp;amp;tx_ppi_chaannel);
	printk(&amp;quot;tx ppi ch %d\r\n&amp;quot;, tx_ppi_chaannel);
	NRF_GPIOTE-&amp;gt;SUBSCRIBE_CLR[0] = DPPIC_SUBSCRIBE_CHG_EN_EN_Msk | tx_ppi_chaannel;
	NRF_RADIO-&amp;gt;PUBLISH_RXREADY = DPPIC_SUBSCRIBE_CHG_EN_EN_Msk | tx_ppi_chaannel;
	nrfx_dppi_channel_enable(tx_ppi_chaannel);

	nrfx_dppi_channel_alloc(&amp;amp;rx_ppi_chaannel);
	printk(&amp;quot;rx ppi ch %d\r\n&amp;quot;, rx_ppi_chaannel);
	NRF_GPIOTE-&amp;gt;SUBSCRIBE_SET[0] = DPPIC_SUBSCRIBE_CHG_EN_EN_Msk | rx_ppi_chaannel;
	NRF_RADIO-&amp;gt;PUBLISH_TXREADY = DPPIC_SUBSCRIBE_CHG_EN_EN_Msk | rx_ppi_chaannel;

	nrfx_dppi_channel_enable(rx_ppi_chaannel);


}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>