<?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>Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/101922/using-the-adc-with-the-sdk</link><description>Good morning.. 
 I need to use the ADC for sampling 3 channels. Reading the RM I think I understand how to architect the sequence. It seems to me the following sequence: 
 1. The ram pointer is initialized in RESULT.PTR and RESULT.MAXCNT. The meaningful</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 19 Jul 2023 11:01:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/101922/using-the-adc-with-the-sdk" /><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/437211?ContentTypeID=1</link><pubDate>Wed, 19 Jul 2023 11:01:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0fb2996b-2786-4b44-860d-407a983ae491</guid><dc:creator>pietrodcs</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Thank You. I will try to get the possible with what I have.&lt;br /&gt;Pietro&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/437150?ContentTypeID=1</link><pubDate>Wed, 19 Jul 2023 07:48:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:994830fe-53b9-4b7d-9264-9e265d32daca</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="pietrodcs"]I am grateful for the suggestion. I will test as soon as possible.&amp;nbsp;&lt;br /&gt;Just to be sure I understand what You mean by &amp;quot;drivers&amp;quot;. I suppose the drivers are the SDK set of functions to facilitate the access to the registers, or to init without taking care of the registers themselves.&lt;br /&gt;That&amp;#39;s what I am trying to do, but simply the drivers, the SDK, do not offer an implementation for the scanning sequence. At least for what I see. Maybe the Zephir implementation is much more mature but I do not want to use it.&amp;nbsp;&lt;br /&gt;Just offer me an evaluation of this point.[/quote]
&lt;p&gt;By drivers I mean our nrfx drivers as used in the SAADC example in the SDK. The reason behind using drivers is that it both makes it easier for the developer to use our peripherals but also ensure that the peripheral is used correctly. Scan mode is only defined for the nRF52832, for the nRF52840 we have continues sampling, where the SAADC will automatically sample each channel that is enabled when you start the sampling.&amp;nbsp;&lt;/p&gt;
[quote user="pietrodcs"]I add an additional question. The acquisition time tACQ does it need to be added if the oversampling is enabled?&lt;br /&gt;I mean if I average over 64 samples the time engaged is 64*(tACQ+tCONV) or tACQ+(tCONV*64)&amp;nbsp; ?[/quote]
&lt;p&gt;It should be (tCONV*64) tACQ,&lt;/p&gt;
[quote user="pietrodcs"]&lt;p&gt;I have found the SDK has another set of functions enabled if the&amp;nbsp;&lt;/p&gt;
&lt;p&gt;NRFX_SAADC_API_V2 is assigned.&lt;br /&gt;That&amp;#39;s not in use in the example. Is it possible to use ?&lt;/p&gt;[/quote]
&lt;p&gt;Yes, follow the migration guide &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/migration.html"&gt;here&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/437095?ContentTypeID=1</link><pubDate>Tue, 18 Jul 2023 20:15:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:491573dd-de4e-4ab3-826a-91f0148d139c</guid><dc:creator>pietrodcs</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I have found the SDK has another set of functions enabled if the&amp;nbsp;&lt;/p&gt;
&lt;p&gt;NRFX_SAADC_API_V2 is assigned.&lt;br /&gt;That&amp;#39;s not in use in the example. Is it possible to use ?&lt;br /&gt;Thank You&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Pietro&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/437061?ContentTypeID=1</link><pubDate>Tue, 18 Jul 2023 14:23:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:662546e7-4684-4829-8a7b-c5b5c48dd480</guid><dc:creator>pietrodcs</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I am grateful for the suggestion. I will test as soon as possible.&amp;nbsp;&lt;br /&gt;Just to be sure I understand what You mean by &amp;quot;drivers&amp;quot;. I suppose the drivers are the SDK set of functions to facilitate the access to the registers, or to init without taking care of the registers themselves.&lt;br /&gt;That&amp;#39;s what I am trying to do, but simply the drivers, the SDK, do not offer an implementation for the scanning sequence. At least for what I see. Maybe the Zephir implementation is much more mature but I do not want to use it.&amp;nbsp;&lt;br /&gt;Just offer me an evaluation of this point.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I add an additional question. The acquisition time tACQ does it need to be added if the oversampling is enabled?&lt;br /&gt;I mean if I average over 64 samples the time engaged is 64*(tACQ+tCONV) or tACQ+(tCONV*64)&amp;nbsp; ?&lt;/p&gt;
&lt;p&gt;One another. May I connect with the PPI the END event to the START or the SAMPLE?&lt;/p&gt;
&lt;p&gt;Thank You&lt;/p&gt;
&lt;p&gt;Pietro&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/436989?ContentTypeID=1</link><pubDate>Tue, 18 Jul 2023 11:50:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2dd20c8-5195-4218-9a4b-942698d20036</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;All of our official samples use the nrfx drivers, but we do have unofficial bare metal example &lt;a href="https://github.com/andenore/NordicSnippets/blob/master/examples/saadc/main.c"&gt;here&lt;/a&gt;, you just repeat what is done from line 13 to line 23 to add multiple channels. Again, we strongly recommend using our drivers though,&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/436938?ContentTypeID=1</link><pubDate>Tue, 18 Jul 2023 09:04:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:09bcddb7-09d4-4631-a2dc-2ba67ebbe427</guid><dc:creator>pietrodcs</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I want to use the SDK for bare metal. The problem is I do not find how to implement the ADC sequence with it. I need suggestion how to use for what I need.&lt;br /&gt;The way I read the source code, it seems to me it wants to work with one channel at a time. The interrupt effectively process the END event, then it calls a user callback. Here I should restart another channel of the sequence. It is not what I need. I want to produce the scan of all the inputs, then restart the sequence with the timer. How to?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Thank You&lt;/p&gt;
&lt;p&gt;Pietro&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/436928?ContentTypeID=1</link><pubDate>Tue, 18 Jul 2023 08:55:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e26cfe14-35a5-49ab-8ed3-2cc326f68f0a</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Is there any specific reason for why don&amp;#39;t want to use our drivers which we strongly recommend to use?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/436845?ContentTypeID=1</link><pubDate>Mon, 17 Jul 2023 19:32:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb9982f1-ce92-4958-ae7d-9996088e5956</guid><dc:creator>pietrodcs</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Thank You for coming to me.&lt;br /&gt;I am using the bare metal SDK, the zip file downloaded is&amp;nbsp;nRF5_SDK_17.1.0_ddde560.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank You&lt;/p&gt;
&lt;p&gt;Pietro&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the ADC with the SDK</title><link>https://devzone.nordicsemi.com/thread/436753?ContentTypeID=1</link><pubDate>Mon, 17 Jul 2023 12:49:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8597d84d-209f-49e3-8114-464002a51337</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;Are you using nRF Connect SDK or nRF5SDK?&lt;/p&gt;
&lt;p&gt;regards&lt;/p&gt;
&lt;p&gt;Jared&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>