<?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>gpiote event -&amp;gt; ppi -&amp;gt; gpiote task latency</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/102662/gpiote-event---ppi---gpiote-task-latency</link><description>Hi, I have a gpiote event setup that triggers a gpiote task via ppi, this is the relevant code 
 NRF_POWER-&amp;gt;TASKS_CONSTLAT = 1; 
 nrf_gpio_cfg_input(GPIO_OC,GPIO_PIN_CNF_PULL_Pullup); nrf_gpiote_event_configure(GPIOTE_OC,GPIO_OC,comparator_idle_low?NRF_GPIOTE_POLARITY_LOTOHI</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 18 Aug 2023 13:28:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/102662/gpiote-event---ppi---gpiote-task-latency" /><item><title>RE: gpiote event -&gt; ppi -&gt; gpiote task latency</title><link>https://devzone.nordicsemi.com/thread/442099?ContentTypeID=1</link><pubDate>Fri, 18 Aug 2023 13:28:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25a4a588-462b-4052-bb72-7db79dd8ff9d</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user="victor passe"]hi, thanks for your awnser, constant latency is the first line of my code.&lt;br /&gt;is there anything else i must to to enable constant latency?&lt;br /&gt;i can not get under 360-380ns[/quote]
&lt;p&gt;Unfortunately there is no documentation that describes the path delay for events between peripherals.&lt;/p&gt;
[quote user="victor passe"]how does errata [156] play in to this?[/quote]
&lt;p&gt;It is very likely that this errata is effecting in your case as you are using TASK_CLR. Are you seeing any power consumption increase? if not, then this errata does not effect you.&lt;/p&gt;
[quote user="victor passe"]&lt;span&gt;i also tested this:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;*(volatile uint32_t *)(NRF_GPIOTE_BASE + 0x600 + (4 * GPIOTE_OC)) = 1;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;now it is one clock cycle faster (~330ns), is there any way i could get any documentation of these type of &amp;quot;hidden&amp;quot; registers?&lt;/span&gt;[/quote]
&lt;p&gt;I do not have access to hidden registers that are not published. Using them in any other way than the way published is very dangerous and can cause unpredictable behavior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote event -&gt; ppi -&gt; gpiote task latency</title><link>https://devzone.nordicsemi.com/thread/441544?ContentTypeID=1</link><pubDate>Wed, 16 Aug 2023 09:06:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ff276c6-a12e-4a49-bd47-eb86a2739807</guid><dc:creator>victor passe</dc:creator><description>&lt;p&gt;hi, thanks for your awnser, constant latency is the first line of my code.&lt;br /&gt;is there anything else i must to to enable constant latency?&lt;br /&gt;i can not get under 360-380ns&lt;br /&gt;&lt;br /&gt;&lt;span&gt;i also tested this:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;*(volatile uint32_t *)(NRF_GPIOTE_BASE + 0x600 + (4 * GPIOTE_OC)) = 1;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;now it is one clock cycle faster (~330ns), is there any way i could get any documentation of these type of &amp;quot;hidden&amp;quot; registers?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;how does errata [156] play in to this?&lt;/span&gt;&lt;br /&gt;&lt;span&gt;I tried to use only odd, only even and changed tasks_clr -&amp;gt; tasks_out but no change in latency.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;I can do not see any difference with constant latency or with low power. the fact that those are the same implies that i do not enter both, right? can i see what mode the nrf52805 is in?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote event -&gt; ppi -&gt; gpiote task latency</title><link>https://devzone.nordicsemi.com/thread/440327?ContentTypeID=1</link><pubDate>Tue, 08 Aug 2023 13:17:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:550ff2ba-cc4d-4252-b5e1-774a9bdc6e7b</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Yes, it is the path that the signal needs to take and to be sampled. The best case scenario is 1 clock cycle propagation of the event in interest thought a peripheral and worst case is 2 cycles.&lt;/p&gt;
&lt;p&gt;I think I have seen similar propagation/sampling delays similar to your configuration in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/19258/delay-from-gpiote-event-until-a-task-is-started-over-ppi-on-nrf52"&gt;this &lt;/a&gt;thread. Try to see if enabling the constant latency in the power have any better results in your case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: gpiote event -&gt; ppi -&gt; gpiote task latency</title><link>https://devzone.nordicsemi.com/thread/440267?ContentTypeID=1</link><pubDate>Tue, 08 Aug 2023 09:45:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba295b58-d6f9-4278-ac90-5777c37a45be</guid><dc:creator>victor passe</dc:creator><description>&lt;p&gt;or am i limited by gpio (1cycle)&lt;span&gt;&amp;nbsp;+ gpiote (1cycle)&lt;/span&gt;&lt;span&gt; + ppi (1cycle)&amp;nbsp;+ gpiote (1cycle)&amp;nbsp;&lt;/span&gt;&lt;span&gt;+ gpio (1cycle) = 5-6 cycles = 380ns?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>