<?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>In NCS v2.6.0, how many hardware TIMER and PPI channels does OpenThread occupy</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113802/in-ncs-v2-6-0-how-many-hardware-timer-and-ppi-channels-does-openthread-occupy</link><description>hello， 
 I need microsecond timer interrupts in my program, so I thought of using the TIMER of the hal library. 
 When I enable CONFIG_NRFX_TIMER0=y in prj.conf, the system starts up with an error. 
 When I enable CONFIG_NRFX_TIMER1=y, the system starts</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 19 Aug 2024 14:17:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113802/in-ncs-v2-6-0-how-many-hardware-timer-and-ppi-channels-does-openthread-occupy" /><item><title>RE: In NCS v2.6.0, how many hardware TIMER and PPI channels does OpenThread occupy</title><link>https://devzone.nordicsemi.com/thread/498885?ContentTypeID=1</link><pubDate>Mon, 19 Aug 2024 14:17:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5f027c9-58b3-425d-ae9c-369ac94d2c03</guid><dc:creator>Quay</dc:creator><description>&lt;p&gt;Hi Maria,&lt;/p&gt;
&lt;p&gt;Thank you for your reply.&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/113802/in-ncs-v2-6-0-how-many-hardware-timer-and-ppi-channels-does-openthread-occupy/498874"]Please write your questions in english.[/quote]
&lt;p&gt;This might be caused by the browser, I didn&amp;#39;t notice it.&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/113802/in-ncs-v2-6-0-how-many-hardware-timer-and-ppi-channels-does-openthread-occupy/498874"]See the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html"&gt;GPIOTE driver&lt;/a&gt; and the functions &lt;span&gt;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_set"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nrfx_gpiote_out_set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt; and &lt;span&gt;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_clear"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nrfx_gpiote_out_clear&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;[/quote]
&lt;p&gt;I&amp;#39;ve solved the problem.I have used&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_task_force"&gt;nrfx_gpiote_out_task_force&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_set"&gt;&lt;span&gt;nrfx_gpiote_out_set&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_clear"&gt;&lt;span&gt;nrfx_gpiote_out_clear&lt;/span&gt;&lt;/a&gt;&amp;nbsp;cannot change the pin status.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: In NCS v2.6.0, how many hardware TIMER and PPI channels does OpenThread occupy</title><link>https://devzone.nordicsemi.com/thread/498874?ContentTypeID=1</link><pubDate>Mon, 19 Aug 2024 13:38:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:890bcce9-662c-445a-8af9-f762f0e4ee2f</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Please write your questions in english.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span&gt;TIMER0 is used by MPSL, so who uses TIMER1?&lt;/span&gt;&lt;/span&gt; &lt;span&gt;&lt;span&gt;Is it 802154?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;TIMER1 is used by the 802.15.4 radio driver, yes. See the dependency for &lt;span&gt;CONFIG_NRF_802154_RADIO_DRIVER &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/main/modules/hal_nordic/Kconfig#L26"&gt;here&lt;/a&gt;. &lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/kconfig/index.html#CONFIG_NRF_802154_RADIO_DRIVER"&gt;&lt;/a&gt;&lt;/p&gt;
[quote user="Glory"]NRF52840, after setting the GPIOTE output TOGGLE task for the pin, how to implement GPIO set or clear[/quote]
&lt;p&gt;See the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html"&gt;GPIOTE driver&lt;/a&gt; and the functions &lt;span&gt;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_set"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nrfx_gpiote_out_set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt; and &lt;span&gt;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfx/drivers/gpiote/driver.html#c.nrfx_gpiote_out_clear"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;nrfx_gpiote_out_clear&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Maria&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: In NCS v2.6.0, how many hardware TIMER and PPI channels does OpenThread occupy</title><link>https://devzone.nordicsemi.com/thread/497750?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2024 08:36:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20d4200b-6b13-448b-a437-1ca247cfc8e2</guid><dc:creator>Quay</dc:creator><description>&lt;p&gt;&lt;span style="vertical-align:inherit;"&gt;&lt;span style="vertical-align:inherit;"&gt;你好，&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="vertical-align:inherit;"&gt;&lt;span style="vertical-align:inherit;"&gt;玛丽亚，&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="vertical-align:inherit;"&gt;&lt;span style="vertical-align:inherit;"&gt;&amp;nbsp;&amp;nbsp;谢谢你的回答。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="vertical-align:inherit;"&gt;&lt;span style="vertical-align:inherit;"&gt;&amp;nbsp;&amp;nbsp;TIMER0 由 MPSL 使用，那么谁使用 TIMER1？是 802154 吗？&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
[quote userid="116814" url="~/f/nordic-q-a/113802/in-ncs-v2-6-0-how-many-hardware-timer-and-ppi-channels-does-openthread-occupy/497642"]Regarding your timer. Have you considered using the Zephyr kernel timers? If not I suggest that you read on them in the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/zephyr/kernel/services/timing/timers.html"&gt;Timers&lt;/a&gt; and &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/zephyr/kernel/services/timing/clocks.html"&gt;Kernel Timing&lt;/a&gt; sections of the Zephyr documentation. From what I can see, the Zephyr timers can be used for the functionality you need.&amp;nbsp;[/quote]
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;I need a very precise time interval, so I think the only way is to use the timer irq.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I have another urgent problem.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NRF52840, after setting the GPIOTE output TOGGLE task for the pin, how to implement GPIO set or clear&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: In NCS v2.6.0, how many hardware TIMER and PPI channels does OpenThread occupy</title><link>https://devzone.nordicsemi.com/thread/497642?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2024 13:28:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a09d094b-012b-4440-a140-67eda296adde</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have done some investigation about the ownership of peripherals for OpenThread application in NCS. &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/nrfxlib/mpsl/doc/mpsl.html"&gt;Multiprotocol Service Layer (MPSL)&lt;/a&gt; is required for OpenThread on nRF5x devices in NCS and owns the following peripherals for nRF52 series:&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/pastedimage1723206703175v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;The screenshot is from the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/nrfxlib/mpsl/doc/mpsl.html"&gt;Integration notes for MPSL&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Regarding your timer. Have you considered using the Zephyr kernel timers? If not I suggest that you read on them in the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/zephyr/kernel/services/timing/timers.html"&gt;Timers&lt;/a&gt; and &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/zephyr/kernel/services/timing/clocks.html"&gt;Kernel Timing&lt;/a&gt; sections of the Zephyr documentation. From what I can see, the Zephyr timers can be used for the functionality you need.&amp;nbsp;&lt;/p&gt;
[quote user=""]When I enable CONFIG_NRFX_TIMER0=y in prj.conf, the system starts up with an error.[/quote]
&lt;p&gt;This is expected because MPSL owns TIMER0. &lt;/p&gt;
[quote user=""]When I add timer1-okay in the .overlay file, Cmake compilation fails[/quote]
&lt;p&gt;Does your .overlay file meet one of the requirements from the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/zephyr/build/dts/howtos.html#set_devicetree_overlays"&gt;Set Devicetree overlays&lt;/a&gt; section of Devicetree HOWTOs? &lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>