<?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>Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76149/problem-while-updating-app-timer</link><description>Hello, For our nrf52832 custom board developed using nrf SDK 14.2, I need to turn OFF and ON LED accurately in terms of ms, hence after going through this page, I used Single shot timer to trigger ON and OFF and serve the purpose. 
 Firstly, I use a r</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 14 Jun 2021 07:36:30 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76149/problem-while-updating-app-timer" /><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/315036?ContentTypeID=1</link><pubDate>Mon, 14 Jun 2021 07:36:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ff76ab37-63b6-40d0-b274-65fb442e8bde</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I suggest to continue the debugging and see if you can find anything impacting the issue. E.g. does not go to sleep help in any way, look at the duration of the app_timers, e.g. make sure none take a long time to execute and/or check that no other higher priority interrupt take long time (and may be blocking the app_timer). Look at the varibles you are using, try to set them static or volatile in case the compiler is trying to optimize them.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314766?ContentTypeID=1</link><pubDate>Thu, 10 Jun 2021 14:29:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46b262d0-9e96-4c46-ac84-d719c7a1377f</guid><dc:creator>Nagarjun</dc:creator><description>&lt;p&gt;I hadn&amp;#39;t tried before, just tried it now, increasing&amp;nbsp;Stack_Size from 8192 bytes to 16384 in /toolchain/gcc/gcc_startup_nrf52.S. Still the time behavior was same.&lt;/p&gt;
&lt;p&gt;Mpu Handler is one more repeated timer in my application running every 10ms. Green indicates regular format for a period of 20ms. Red is the unusual one which happens at very repeated interval which I have no track of.&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;color:#000000;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;color:#000000;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;color:#000000;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;color:#000000;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;color:#000000;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="background-color:#ff6600;color:#000000;"&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ff6600;color:#000000;"&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ff6600;color:#000000;"&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: ON&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#ff6600;color:#000000;"&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: OFF&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Switch_on&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: Mpu Handler&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: ON&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color:#99cc00;"&gt;&amp;lt;info&amp;gt; app: OFF&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314719?ContentTypeID=1</link><pubDate>Thu, 10 Jun 2021 13:21:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48a2666b-5fee-4cbe-bc05-483a3c3fb3be</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Long shot, but have you tried to &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/37349/memory-allocation-limitations-on-the-nrf52840/143670#143670"&gt;increase the stack size&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314625?ContentTypeID=1</link><pubDate>Thu, 10 Jun 2021 08:28:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2c29926-f3b8-458b-859f-49c6cc360a96</guid><dc:creator>Nagarjun</dc:creator><description>&lt;p&gt;I am afraid not. I directly started working on Custom board and&amp;nbsp;do not have nRF52 DK. The&amp;nbsp;best&amp;nbsp;way to recreate this scenario is to run a Repeated timer with a interval 20ms and in the callback, trigger one or two single shot timer and stop within 20ms using SDK 14.2.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And also, i tried&amp;nbsp;increasing APP_TIMER_CONFIG_OP_QUEUE_SIZE from 10 to 50, i found that duration of working was increased before irregularity. And than when increased to 100, it disturbed functionality of other things in the application.&lt;/p&gt;
&lt;p&gt;Nagarjun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314613?ContentTypeID=1</link><pubDate>Thu, 10 Jun 2021 07:44:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d2ff27bd-3acd-42a2-9ef3-3763c4894e6c</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Are you able to make some simple project I can run on an nRF52-DK to recreate the issue?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314515?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 14:06:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:393e4c35-dc1b-45df-9839-7cd6fa9ab284</guid><dc:creator>Nagarjun</dc:creator><description>&lt;p&gt;I had one more timer called Turn OFF LED&amp;nbsp;single shot timer as well similar to Turn_On_LED(uint8_t time_ms) , I removed it above in the callback sample.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;In my code it looked like this&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void switch_on_off_IRLED()
{
	nrf_gpio_pin_write(BSP_LED_3,1);
	Turn_On_LED(4);
	nrf_gpio_pin_write(BSP_LED_3,0);
	Turn_Off_LED(16)
}  

void Test_on()
{
	//nrf_gpio_pin_write(BSP_LED_3,0);
	NRF_LOG_INFO( &amp;quot;ON&amp;quot;);
}

void Test_off()
{
	//nrf_gpio_pin_write(BSP_LED_3,1);
	NRF_LOG_INFO( &amp;quot;OFF&amp;quot;);
}&lt;/pre&gt;&lt;br /&gt;I removed turn off timer, since I read multiple timers with too many start and stops makes up to above behavior. But removing turn off timer did not help, since I&amp;nbsp;was observing same behavior again.&lt;br /&gt;&lt;br /&gt;Nagarjun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314507?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 13:46:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1c9f165-be17-4d07-8c15-d3d7cfd11018</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Your app_timer callback handler are not calling any NRF_LOG function, how do you output the log info here?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314502?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 13:34:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ee73053-0d52-46bc-81ed-df82a401e3e2</guid><dc:creator>Nagarjun</dc:creator><description>&lt;p&gt;Yes, very much unusual, nothing else has been changed. Prescalar is set&amp;nbsp;APP_TIMER_CONFIG_RTC_FREQUENCY of 0 corresponding to 32768hz. And&amp;nbsp;&lt;span&gt;SWI_IRQ_PRI,&amp;nbsp;RTC1_IRQ_PRI are set to&amp;nbsp;APP_TIMER_CONFIG_IRQ_PRIORIT of 7.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314497?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 13:26:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:025cd0d2-44c1-441c-8797-b78c5e422ba9</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;It is weired, I assume you have not done any changes to the prescaler of the RTC and/or not change the&amp;nbsp;SWI_IRQ_PRI and&amp;nbsp;RTC1_IRQ_PRI priorities.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314491?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 13:19:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:526a14b7-b24c-4e47-b1ae-fab28c5a7127</guid><dc:creator>Nagarjun</dc:creator><description>[quote userid="2111" url="~/f/nordic-q-a/76149/problem-while-updating-app-timer/314466#314466"]If you are using app_timer.c in nRF5 SDK v14.2 I recommend to increase&amp;nbsp;MAX_RTC_TASKS_DELAY 100 (instead of 47). Also, make sure you always have a repeated timer running if you are starting and stopping other timers.[/quote]
&lt;p&gt;Updating MAX_RTC_TASKS_DELAY TO 100 did not seem to solve the problem. And also yes, I am making sure&amp;nbsp;that I run a repeated timer and inside the callback I start and stop the single shot timer.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote userid="2111" url="~/f/nordic-q-a/76149/problem-while-updating-app-timer/314466#314466"]If that doesn&amp;#39;t solve the problem, then I suggest (as you are already doing) to move to a newer nRF5 SDK, though I don&amp;#39;t have a step by step guide on how to backport app_timer2.c to an older nRF5 SDK.[/quote]
&lt;p&gt;It&amp;#39;s not in the plan to move new nRF SDK yet. Is there anything else, is there anything else which I can try before actually migrating to higher SDK version?&lt;br /&gt;&lt;br /&gt;Nagarjun&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem while updating App Timer</title><link>https://devzone.nordicsemi.com/thread/314466?ContentTypeID=1</link><pubDate>Wed, 09 Jun 2021 12:38:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:846ef83b-694e-4b49-9dfd-13221312c6bd</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;If you are using app_timer.c in nRF5 SDK v14.2 I recommend to increase&amp;nbsp;MAX_RTC_TASKS_DELAY 100 (instead of 47). Also, make sure you always have a repeated timer running if you are starting and stopping other timers.&lt;/p&gt;
&lt;p&gt;If that doesn&amp;#39;t solve the problem, then I suggest (as you are already doing) to move to a newer nRF5 SDK, though I don&amp;#39;t have a step by step guide on how to backport app_timer2.c to an older nRF5 SDK.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>