<?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>confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44628/confusing-about-nrfx-how-should-i-use-it-without-legacy-with-old-and-do-i-need-it</link><description>I read somewhere for new project we should use nrfx driver because in future old nrf_drivers will not be support and improve. All examples in sdk15.3 as I understand used old nrf_drv..... Can I guess I used new abilities of new nrfx driver just replace</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 Jul 2020 19:39:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44628/confusing-about-nrfx-how-should-i-use-it-without-legacy-with-old-and-do-i-need-it" /><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/261079?ContentTypeID=1</link><pubDate>Tue, 21 Jul 2020 19:39:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3cf200db-e069-4dc6-8924-d36c68109b00</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I have updated my earlier answer. Please check it out.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/260682?ContentTypeID=1</link><pubDate>Sat, 18 Jul 2020 06:41:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ce0adba-e8d6-4bed-b18f-dd5d0d187f09</guid><dc:creator>robwasab</dc:creator><description>&lt;p&gt;Here&amp;#39;s an idea,&lt;/p&gt;
&lt;p&gt;This is coming from my current predicament where I was using the nrfx_clock driver, but found that it didn&amp;#39;t implement the request and release API I need to share the resource between different modules of code, however, the nrf_drv_clock did implement it.&lt;/p&gt;
&lt;p&gt;The thing is, is that the nrf_drv_clock driver is implemented as actual C code and calls the nrfx functions. The &amp;quot;deprecated&amp;quot; drivers, where you should use nrfx, are the ones where the distinction is simply a macro.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/178678?ContentTypeID=1</link><pubDate>Wed, 27 Mar 2019 13:16:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8c3553a-34c3-48a1-a1c3-945200a04d4d</guid><dc:creator>Patrick</dc:creator><description>&lt;p&gt;There is a nrfx_config.h located in &amp;lt;sdkdir&amp;gt;/modules/nrfx/templates/&amp;lt;board&amp;gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/178521?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 21:36:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cc1a6f0-eeeb-48af-ad0d-ca6beebc882b</guid><dc:creator>Jake</dc:creator><description>&lt;p&gt;Are there peripheral examples using purely nrfx drivers with the legacy defines already cleaned up?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/175734?ContentTypeID=1</link><pubDate>Tue, 12 Mar 2019 15:34:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:745edbde-8cc3-4ad5-9f01-a653bf8c2f4e</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;UPDATE 7/21/2020:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration:underline;"&gt;&lt;/span&gt;There have been some discussions internally and it seems like the answer provided below is not correct. There are no strong recommendations to use the NRFX drivers.&lt;/p&gt;
&lt;p&gt;Earlier in the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.2.0%2Fnrfx_migration_user_guide.html"&gt;SDK 15.2.0 NRFX migration guide&lt;/a&gt;, it said the following:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="font-size:16px;"&gt;&lt;em&gt;&lt;span style="background-color:#ffffff;color:#474747;float:none;font-family:Open Sans,Calibri,Arial,Sans-Serif;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&amp;quot;The legacy layer will no longer be supported in the future SDK releases.&amp;quot;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;However, in the SDK 17.0.0 NRFX migration guide, this is updated to the following:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span style="font-size:16px;"&gt;&lt;em&gt;&lt;span style="background-color:#ffffff;color:#474747;float:none;font-family:Open Sans,Calibri,Arial,Sans-Serif;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;"&gt;&amp;quot;The migration process is not required and often results in exactly the same functionality. Consider migration only if you want to take advantage of the new features offered by nrfx.&amp;quot;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;You are right Patrick, the&amp;nbsp;answers&amp;nbsp;regarding the use of the NRFX vs. the legacy drivers are not consistent. However, the &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-0-0/migration?102#migration_drivers"&gt;SDK 15.0.0 migration guide&lt;/a&gt;&amp;nbsp;strongly recommends to use the NRFX API for new applications. The justification is that the legacy layer will be deprecated and removed in future SDK releases.&lt;/p&gt;
&lt;p&gt;My recommendation is that one should use pick the drivers that fits their specific product and future plans. If you are planning to update your solution as new SDK&amp;#39;s are released and want to decrease the amount of future work, you should use the NRFX drivers. If not, just use the SDK as it is, with the legacy &amp;quot;glue&amp;quot; layer.&lt;/p&gt;
&lt;p&gt;Regarding Einar&amp;#39;s answer, you should take a look at the&amp;nbsp;&lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-0-0/migration?102#migration_drivers"&gt;SDK 15.0.0 migration guide&lt;/a&gt;, where all the nrf_drv&amp;nbsp;drivers&amp;nbsp;which can&amp;#39;t be easily swapped with NRFX functions, are listed. E.g. the nrf_drv_clock driver contains SoftDevice dependent code.&lt;/p&gt;
&lt;p&gt;The migration to NRFX drivers shouldn&amp;#39;t be too difficult, if you follow the appropriate migration guide correctly you should be good, since you will be warned about the drivers that is difficult/can&amp;#39;t be easily switched out, and the corresponding legacy&amp;nbsp;drivers should be used.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-0-0/migration?102#migration_drivers"&gt;SDK 15.0.0 migration guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devzone.nordicsemi.com/support-private/support/225017/SDK%2015.2.0%20NRFX%20migration%20guide"&gt;SDK 15.2.0 NRFX migration guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-3-0/nrfx_migration_user_guide"&gt;SDK 15.3.0 NRFX migration guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/175467?ContentTypeID=1</link><pubDate>Mon, 11 Mar 2019 17:37:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac0fac97-18db-45d5-9b44-6d626601bb77</guid><dc:creator>Patrick</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;Here is the &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/39121/sdk15-missing-functions-in-nrfx_rng-c/151330#151330"&gt;thread&lt;/a&gt; I was referring to. My reply may have been overly general as I made the comment without going back to look at the linked thread. A more accurate statement on my part would have been that not all of the nrfx drivers play nicely with the SoftDevice. I think Einar also implies that there is really no reason to switch from nrf_drv_* to nrfx_*, and I have seen this point of view in other threads that I do not have time to find. This has not stopped me from using nrfx_* in some of my libraries but it does create confusion.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/175445?ContentTypeID=1</link><pubDate>Mon, 11 Mar 2019 16:00:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:daaf4a43-8403-4a3b-afc2-922561a0deb8</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I could not find the answer you referred to (about nrfx not being SoftDevice safe). Could you provide a link?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/175444?ContentTypeID=1</link><pubDate>Mon, 11 Mar 2019 15:57:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94413db3-5344-40bb-b317-4e14c96e493e</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;The approach seems correct. Remember to remove/comment all legacy defines in sdk_config.h (as explained &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/34317/undefined-reference-to-nrfx_twi_tx"&gt;here&lt;/a&gt;), if not it will override the NRFX defines.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: confusing about nrfx. How should I use it without legacy with old and do I need it?</title><link>https://devzone.nordicsemi.com/thread/175188?ContentTypeID=1</link><pubDate>Sat, 09 Mar 2019 18:14:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddc056d1-705f-4f9d-afe4-7fa8badf0c48</guid><dc:creator>Patrick</dc:creator><description>&lt;p&gt;Depending on who responds from Nordic you&amp;rsquo;ll get a number of different answers. The last answer I saw a few weeks ago suggested that nrfx shouldn&amp;rsquo;t be used because it isn&amp;rsquo;t SoftDevice safe. Apparently nrfx is lower level than nrf_drv and nrf_drv uses nrfx behind the scenes. It&amp;rsquo;s confusing as hell because apparently nrf_drv being &amp;ldquo;depreciated&amp;rdquo; doesn&amp;rsquo;t really mean it shouldn&amp;rsquo;t be used according to Nordic.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>