<?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>RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/305/rtc0-rtc1-and-the-app_timer-with-softdevice</link><description>Hi all, 
 I&amp;#39;m a bit confused. After going through available documentation, I thought I had understood that RTC0 was used by the SoftDevice, but that RTC1 was available to use how I liked.
After going through the ble_app_template example, it turns out</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Nov 2019 11:20:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/305/rtc0-rtc1-and-the-app_timer-with-softdevice" /><item><title>RE: RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/thread/222316?ContentTypeID=1</link><pubDate>Wed, 27 Nov 2019 11:20:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22003ffc-85b7-404b-9a92-fa52ef3b0d90</guid><dc:creator>mistert69</dc:creator><description>&lt;p&gt;I also have the same requirements as Cyril and Tim, I want to use the RTC1 manually for timing and not use app_timer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I made a workaround for conn_params and I can use RTC1 in a timeslot.&lt;/p&gt;
&lt;p&gt;But now I want to use RTC1 without softdevice, that works but if I want to re-enable the softdevice again I get an error that some device is already in use (RTC1)&lt;/p&gt;
&lt;p&gt;So this code at the startup in main fails when I enable RTC1:&lt;/p&gt;
&lt;p&gt;// startRTC();&lt;br /&gt; syncRadios();&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; ble_stack_init();&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I though the softdevice didn&amp;#39;t need RTC1 ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/thread/218400?ContentTypeID=1</link><pubDate>Tue, 05 Nov 2019 05:32:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00c97078-a1c3-430c-a8a8-4036502e0449</guid><dc:creator>Tim</dc:creator><description>&lt;p&gt;I have a similar requirement to Cyril. I&amp;#39;m developing for both&amp;nbsp;nRF51822 and nRF52810. For now I&amp;#39;m testing with an nRF52 dev kit (nRF52810 emulation) using SDK&amp;nbsp;nRF5_SDK_15.3.0_59ac345.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As Timor has asked, is there somewhere an explanation or example of how to manually handle the connection parameter module in order to eliminate dependence on app_timer?&lt;/p&gt;
&lt;p&gt;It seems like ble_conn_params.c uses app_timer (and hence, RTC1) during the BLE connection process and only under erroneous conditions (if (!p_instance-&amp;gt;params_ok)). I&amp;#39;ve found that once a BLE connection has been established, RTC1 is stopped and its counter value is 0, and remains so.&lt;/p&gt;
&lt;p&gt;I&amp;#39;d like to use RTC1 with prescaler 327, which would give me&amp;nbsp;100 Hz resolution and 46+ hours before overflow.&amp;nbsp;Can I access/use RTC1 with the nrfx_rtc driver after BLE connection is established? If yes, then I can set its prescaler to 327 and start (NRF_RTC1-&amp;gt;TASK_START), and then NRF_RTC1-&amp;gt;COUNTER to read the value to get the number of 10.009574 ms ticks since RTC1 started. After disconnecting BLE, I would stop RTC1 and set its prescaler back to 0. Reasonable?&lt;/p&gt;
&lt;p&gt;Advanced thanks for any guidance.&lt;/p&gt;
&lt;p&gt;-Tim&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/thread/158931?ContentTypeID=1</link><pubDate>Sun, 25 Nov 2018 14:36:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0e854495-405b-4ff8-be17-968a30c2f50a</guid><dc:creator>Timor</dc:creator><description>&lt;p&gt;I am also looking for a way to take control over RTC1.&lt;/p&gt;
&lt;p&gt;Is there somewhere an explanation or an example of how to manually handle the connection parameter module?&lt;/p&gt;
&lt;p&gt;I also notice that auth_status_stracker also uses the app_timer. How do I manually work with that?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/thread/1623?ContentTypeID=1</link><pubDate>Tue, 20 Aug 2013 06:01:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb5dec3c-0221-4535-ab5c-e4a85b53bec9</guid><dc:creator>Cyril Picard</dc:creator><description>&lt;p&gt;Thank you for this information.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: RTC0, RTC1 and the app_timer with SoftDevice</title><link>https://devzone.nordicsemi.com/thread/1622?ContentTypeID=1</link><pubDate>Mon, 19 Aug 2013 08:06:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8dbee4c6-6680-4df1-aa0f-e9c9f8021777</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;It is correct that the softdevice itself only requires RTC0, but as you&amp;#39;ve seen, some of the SDK modules use RTC1, most notably app_timer, which is again used by the connection parameters module.&lt;/p&gt;
&lt;p&gt;It is perfectly possible to build an application without app_timer, but it will require some modifications to the SDK modules that uses it. You should however note that the connection parameters module isn&amp;#39;t strictly required, since you can send connection parameter update requests manually by using the softdevice API directly. All modules using app_timer are optional, and you can just avoid using them. It is of course also an option to modify app_timer to cope with both your needs while still maintaining an API that the other modules can use. Exactly how to solve this is an application choice.&lt;/p&gt;
&lt;p&gt;There isn&amp;#39;t any way to run different timers with different priorities with the current app_timer implementation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>