<?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>Power management with nRF Connect SDK v2.6.1</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/111622/power-management-with-nrf-connect-sdk-v2-6-1</link><description>Hello, I want to make periodically wake up nRF52840, performing some work (connecting to MQTT broker, sending some data) and after that going to low power mode. Then the nRF52840 have to be waken up after some time expires [1 - 300] seconds or by an interrupt</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 29 May 2024 11:16:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/111622/power-management-with-nrf-connect-sdk-v2-6-1" /><item><title>RE: Power management with nRF Connect SDK v2.6.1</title><link>https://devzone.nordicsemi.com/thread/486397?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 11:16:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58486af6-65c4-47f2-99c1-46e2ff6e7c8c</guid><dc:creator>JWalker</dc:creator><description>&lt;p&gt;Thank you for your comments and for the link about scheduling.&lt;br /&gt;Have a nice day.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power management with nRF Connect SDK v2.6.1</title><link>https://devzone.nordicsemi.com/thread/486385?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 10:46:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f716f602-fc42-49ff-bba9-cdf72c561a15</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;See &lt;a href="https://docs.zephyrproject.org/latest/kernel/services/scheduling/index.html#scheduling"&gt;https://docs.zephyrproject.org/latest/kernel/services/scheduling/index.html#scheduling&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;Calling &lt;a title="k_sleep" href="https://docs.zephyrproject.org/latest/kernel/services/threads/index.html#c.k_sleep"&gt;&lt;code&gt;&lt;span&gt;k_sleep()&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; makes the thread unready for a specified time period. Ready threads of &lt;em&gt;all&lt;/em&gt; priorities are then allowed to execute; however, there is no guarantee that threads whose priority is lower than that of the sleeping thread will actually be scheduled before the sleeping thread becomes ready once again.&amp;quot;&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;&amp;quot;Although normally reserved for the idle thread, in certain special applications, a thread might want to make the CPU idle.&amp;quot;&lt;/p&gt;
&lt;p&gt;So k_sleep() is for your app.&lt;/p&gt;
[quote user="JWalker"]There is no specific reason to use the power management API. I just want to be sure that the device will consume less current when in idle state. If[/quote]
&lt;p&gt;The main exception is always-on peripherals with RX modes, such as UART. These will have to be disabled manually to save power, and the power management APIs suspend functionality is used for that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power management with nRF Connect SDK v2.6.1</title><link>https://devzone.nordicsemi.com/thread/486379?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 10:29:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40940dd5-8ed0-4089-be89-b19deb640466</guid><dc:creator>JWalker</dc:creator><description>&lt;p&gt;Thank you for your answer.&lt;br /&gt;&lt;br /&gt;There is no specific reason to use the power management API. I just want to be sure that the device will consume less current when in idle state. If k_sleep does the work it is fine. From other hand, there is k_cpu_idle() function (I saw an example from chatGPT). Taking in regards your answer, it seems k_sleep is natural way. However, how these functions are related - k_sleep() and k_cpu_idle() ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power management with nRF Connect SDK v2.6.1</title><link>https://devzone.nordicsemi.com/thread/486348?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 09:13:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:370a3bb0-acff-4808-a058-7eb23c7bebc5</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Generally, you do not need to use power management directly to achieve low power. (with some exceptions)&lt;/p&gt;
&lt;p&gt;Just do k_sleep() and the device should consume low power already.&lt;/p&gt;
&lt;p&gt;Is there any specific reason to why you try to use the power management API?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>