<?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>Watchdog timer unexpected Reset in nrf52810</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/56715/watchdog-timer-unexpected-reset-in-nrf52810</link><description>Hello, 
 I have enabled the watchdog timer in nrf52810 with below code 
 NRF_WDT-&amp;gt;CONFIG = (WDT_CONFIG_HALT_Pause &amp;lt;&amp;lt; WDT_CONFIG_HALT_Pos) | ( WDT_CONFIG_SLEEP_Pause &amp;lt;&amp;lt; WDT_CONFIG_SLEEP_Pos); NRF_WDT-&amp;gt;CRV = 1*32768; // 1 sec. timout NRF_WDT-&amp;gt;TASKS_START</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 Jan 2020 08:02:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/56715/watchdog-timer-unexpected-reset-in-nrf52810" /><item><title>RE: Watchdog timer unexpected Reset in nrf52810</title><link>https://devzone.nordicsemi.com/thread/229995?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2020 08:02:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d4725bb-4a06-4b44-93ad-f405b0f674ac</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I suspect your main loop never runs after the first to sd_app_evt_wait(). This is because SoftDevice will check if the interrupt was for itself or for the application, and only forward it to the application if it appropriate. So my theory from yesterday still holds based on this code (though I do not see your whole application).&amp;nbsp;You can easily verify this by setting a breakpoint in the main loop.&amp;nbsp;The watchdog itself behaves as it should (in the way you have configured it).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer unexpected Reset in nrf52810</title><link>https://devzone.nordicsemi.com/thread/229987?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2020 07:20:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a939fac6-ee0b-4138-acaf-7b8bb21d42ac</guid><dc:creator>Dilip.n</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am feeding the watchdog in main loop &amp;nbsp;&lt;/p&gt;
&lt;p&gt;main()&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; NRF_WDT-&amp;gt;CONFIG = (WDT_CONFIG_HALT_Pause &amp;lt;&amp;lt; WDT_CONFIG_HALT_Pos) | ( WDT_CONFIG_SLEEP_Pause &amp;lt;&amp;lt; WDT_CONFIG_SLEEP_Pos);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_WDT-&amp;gt;CRV = 1*32768; // 1 sec. timeout&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NRF_WDT-&amp;gt;TASKS_START = 1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;br /&gt;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NRF_WDT-&amp;gt;RR[0] = WDT_RR_RR_Reload; //Reload watchdog register 0.&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_functions();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uarte_functions();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sd_app_evt_wait();&lt;br /&gt;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Unless there are any interrupts from BLE or UART the device stays in sleep mode and also there in no unexpected reset from watchdog as the watchdog is configured to pause in sleep mode.&lt;/p&gt;
&lt;p&gt;Suppose there is an idle connection then there is a reset due to watchdog after 3.5 minutes.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there a difference in &amp;quot;sleep mode&amp;quot; for ble active and ble inactive? does watchdog run if there is a idle BLE connection?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer unexpected Reset in nrf52810</title><link>https://devzone.nordicsemi.com/thread/229831?ContentTypeID=1</link><pubDate>Mon, 20 Jan 2020 12:29:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa67eb2d-6a71-40fa-aede-140e4fb2a765</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There has to be something with the flow of your application that prevents&amp;nbsp;you from feeding/reloading the WDT often enough.&lt;/p&gt;
&lt;p&gt;Observations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You pause the WDT when in sleep.&lt;/li&gt;
&lt;li&gt;Reset after 3.5 min when timeout is set to 1 second, and double to 7 minutes when timeout is set to 2 seconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I suspect that the WDT is never reloaded. If this is the case, you should see it reset after 1 or 2 seconds respectively if you replace&amp;nbsp;WDT_CONFIG_SLEEP_Pause with&amp;nbsp;WDT_CONFIG_SLEEP_Run. So to fix this, make sure you feed the watchdog regularly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>