<?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>Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/69610/adding-second-saadc-increases-sleep-current-to-go-greater-380ua</link><description>SDK 16.0 and SDK 17.0 (tried both versions) 
 nrf52832 
 Segger Embedded Studio 
 Windows 10 
 
 When Adding an additional ADC the sleep current increases to greater than 380uA (from one to two). When I comment out either of the two ADCs (see below) the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Dec 2020 13:38:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/69610/adding-second-saadc-increases-sleep-current-to-go-greater-380ua" /><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/286853?ContentTypeID=1</link><pubDate>Tue, 29 Dec 2020 13:38:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0765bed5-7655-4b6a-86ed-7b9524ca3521</guid><dc:creator>Carl Richard</dc:creator><description>&lt;p&gt;Hi again, Peter!&lt;br /&gt;&lt;br /&gt;Apologies for the delay. Due to the holidays we are understaffed until the 4th of January. I will look into the issues with the code and see if I can figure anything out. Happy holidays!&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Carl Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/286167?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2020 19:17:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:336a9a66-74cb-4b38-99c5-326ed1e65ebe</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;Thank you - I may have solved it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now that I effectively have only one ADC I had forgotten to change the&amp;nbsp;SAADC_SAMPLES_IN_BUFFER from 2 to 1.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It now appears to be working (fingers are crossed and I want to let it run awhile before I claim victory)&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll keep you posted.&lt;/p&gt;
&lt;p&gt;Peter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/286137?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2020 18:01:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25505ef3-c15e-48b8-925e-5ffae38964c0</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;This is simple polled code, maybe it will help; this function is called a few dozen times a second and monitors an external voltage divider&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define ADC12_COUNTS_PER_VOLT 4829

uint16_t GetBatteryVoltage(void)
{
    uint16_t result = 9999; // 9999 means no reading
    uint32_t timeout = 10000;
    volatile int16_t buffer[8];
    // Enable command
    nrf_saadc_enable();
    NRF_SAADC-&amp;gt;RESULT.PTR = (uint32_t)buffer;
    NRF_SAADC-&amp;gt;RESULT.MAXCNT = 1;
    //NRF_SAADC-&amp;gt;RESULT.AMOUNT
    nrf_saadc_event_clear(NRF_SAADC_EVENT_END);
    nrf_saadc_task_trigger(NRF_SAADC_TASK_START);
    nrf_saadc_task_trigger(NRF_SAADC_TASK_SAMPLE);
    while (0 == nrf_saadc_event_check(NRF_SAADC_EVENT_END) &amp;amp;&amp;amp; timeout &amp;gt; 0)
    {
        timeout--;
    }
    nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_STARTED);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_END);
    // Disable command
    nrf_saadc_disable();
    if (timeout != 0)
    {
        result = ((buffer[0] * 1000L)+(ADC12_COUNTS_PER_VOLT/2)) / ADC12_COUNTS_PER_VOLT;
    }
    return result;
}
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/286117?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2020 16:06:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3a56a5f0-ad2d-47a7-b9c1-fcbade3fd696</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;For Carl Richard -&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I attempted to work through the&amp;nbsp; code you provided.&amp;nbsp; Unfortunately, the code:&lt;/p&gt;
&lt;div style="background-color:#ffffff;color:#000000;font-family:&amp;#39;Consolas&amp;#39;;font-size:10.0pt;font-style:normal;font-weight:normal;text-decoration:none;"&gt;
&lt;pre&gt;                
        &lt;span&gt;nrf_drv_saadc_uninit&lt;/span&gt;();                                                                   &lt;span&gt;//Unintialize SAADC to disable EasyDMA and save power&lt;/span&gt;
        NRF_SAADC-&amp;gt;INTENCLR = (SAADC_INTENCLR_END_Clear &amp;lt;&amp;lt; SAADC_INTENCLR_END_Pos);               &lt;span&gt;//Disable the SAADC interrupt&lt;/span&gt;
        &lt;span&gt;NVIC_ClearPendingIRQ&lt;/span&gt;(SAADC_IRQn);                                                         &lt;span&gt;//Clear the SAADC interrupt if set&lt;/span&gt;
        m_saadc_initialized = &lt;span&gt;false&lt;/span&gt;;                                                              &lt;span&gt;//Set SAADC as uninitialized&lt;/span&gt;
    &lt;span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;at the end of the callback causes the micro to reset (I noticed this in other samples as well)&lt;br /&gt;&lt;br /&gt;Peter&lt;br /&gt;&lt;br /&gt;BTW - I was not able to reply directly to your response - thank you for any additional information you&lt;br /&gt;&lt;br /&gt;could provide.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/286112?ContentTypeID=1</link><pubDate>Mon, 21 Dec 2020 15:52:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be63c1e2-468e-4713-ac4c-3a45c46981e8</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;Well... Turns out the power drops as desired but I&amp;#39;m not able to get the SAADC back up and running.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;No more interrupts / callbacks&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="internal-link view-user-profile" href="https://devzone.nordicsemi.com/members/hmolesworth"&gt;hmolesworth&lt;/a&gt;&amp;nbsp;- Would you be able to provide code to re-enable the ADC after it has been disabled by:&lt;/p&gt;
&lt;p&gt;while (0 == nrf_saadc_event_check(NRF_SAADC_EVENT_END) &amp;amp;&amp;amp; timeout &amp;gt; 0)&lt;br /&gt; {&lt;br /&gt; timeout--;&lt;br /&gt; }&lt;br /&gt; nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);&lt;br /&gt; nrf_saadc_event_clear(NRF_SAADC_EVENT_STARTED);&lt;br /&gt; nrf_saadc_event_clear(NRF_SAADC_EVENT_END);&lt;br /&gt; // Disable command&lt;br /&gt; nrf_saadc_disable();&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Again, Thank you in advance!&lt;/p&gt;
&lt;p&gt;Peter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285654?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2020 13:57:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4990648f-2f7f-444f-83df-a5ddf029771f</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;I was able to lower the current draw by using one ADC&amp;nbsp; (two ADC&amp;#39;s):&lt;/p&gt;
&lt;p&gt;// ***********************************************************************************&lt;/p&gt;
&lt;div style="background-color:#ffffff;color:#000000;font-family:&amp;#39;Consolas&amp;#39;;font-size:10.0pt;font-style:normal;font-weight:normal;text-decoration:none;"&gt;
&lt;pre&gt;&lt;span&gt;void&lt;/span&gt; &lt;span&gt;UnintSAADC&lt;/span&gt;(&lt;span&gt;void&lt;/span&gt;)&lt;span&gt;{&lt;/span&gt;

    uint32_t timeout = &lt;span&gt;10000&lt;/span&gt;;

    &lt;span&gt;while&lt;/span&gt; (&lt;span&gt;0&lt;/span&gt; == &lt;span&gt;nrf_saadc_event_check&lt;/span&gt;(NRF_SAADC_EVENT_END) &amp;amp;&amp;amp; timeout &amp;gt; &lt;span&gt;0&lt;/span&gt;)
    &lt;span&gt;{&lt;/span&gt;
        timeout--;
    &lt;span&gt;}&lt;/span&gt;
    &lt;span&gt;nrf_saadc_task_trigger&lt;/span&gt;(NRF_SAADC_TASK_STOP);
    &lt;span&gt;nrf_saadc_event_clear&lt;/span&gt;(NRF_SAADC_EVENT_STARTED);
    &lt;span&gt;nrf_saadc_event_clear&lt;/span&gt;(NRF_SAADC_EVENT_END);
    &lt;span&gt;// Disable command&lt;/span&gt;
    &lt;span&gt;nrf_saadc_disable&lt;/span&gt;();

    &lt;span&gt;nrf_drv_saadc_uninit&lt;/span&gt;();

    NRF_SAADC-&amp;gt;INTENCLR = (SAADC_INTENCLR_END_Clear &amp;lt;&amp;lt; SAADC_INTENCLR_END_Pos);
    &lt;span&gt;NVIC_ClearPendingIRQ&lt;/span&gt;(SAADC_IRQn);&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;// **************************************************************************************&lt;/p&gt;
&lt;div style="background-color:#ffffff;color:#000000;font-family:&amp;#39;Consolas&amp;#39;;font-size:10.0pt;font-style:normal;font-weight:normal;text-decoration:none;"&gt;
&lt;pre&gt;&lt;span&gt;void&lt;/span&gt; &lt;span&gt;ConfigADCToVDD&lt;/span&gt;(&lt;span&gt;void&lt;/span&gt;)&lt;span&gt;{&lt;/span&gt;

nrf_saadc_channel_config_t channel_config = &lt;span&gt;NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE&lt;/span&gt;(NRF_SAADC_INPUT_VDD);
    ret_code_t err_code;

    &lt;span&gt;if&lt;/span&gt; (s_ssadcActive_b) &lt;span&gt;{&lt;/span&gt;
        &lt;span&gt;UnintSAADC&lt;/span&gt;();
    &lt;span&gt;}&lt;/span&gt;
    channel_config.resistor_p = NRF_SAADC_RESISTOR_DISABLED;   &lt;span&gt;//Disable pullup resistor on the input pin&lt;/span&gt;
    channel_config.resistor_n = NRF_SAADC_RESISTOR_DISABLED;   &lt;span&gt;//Disable pulldown resistor on the input pin&lt;/span&gt;
    channel_config.gain       = NRF_SAADC_GAIN1_6;             &lt;span&gt;//Set input gain to 1/6. The maximum SAADC input voltage is then 0.6V/(1/6)=3.6V. The single ended input range is then 0V-3.6V&lt;/span&gt;
    channel_config.&lt;span&gt;reference&lt;/span&gt;  = NRF_SAADC_REFERENCE_INTERNAL;  &lt;span&gt;//Set internal reference of fixed 0.6 volts&lt;/span&gt;
    channel_config.acq_time   = NRF_SAADC_ACQTIME_10US ;        &lt;span&gt;//Set acquisition time. Set low acquisition time to enable maximum sampling frequency of 200kHz. Set high acquisition time to allow maximum source resistance up to 800 kohm, see the SAADC electrical specification in the PS.&lt;/span&gt;
    channel_config.mode       = NRF_SAADC_MODE_SINGLE_ENDED;   &lt;span&gt;//Set SAADC as single ended. This means it will only have the positive pin as input, and the negative pin is shorted to ground (0V) internally.&lt;/span&gt;
    channel_config.burst      = NRF_SAADC_BURST_ENABLED;
    &lt;span&gt;//channel_config.burst      = NRF_SAADC_BURST_DISABLED;&lt;/span&gt;
    channel_config.pin_p      = NRF_SAADC_INPUT_VDD;&lt;span&gt;//NRF_SAADC_INPUT_AIN0;          //Select the input pin for the channel. AIN0 pin maps to physical pin P0.02.&lt;/span&gt;
    channel_config.pin_n      = NRF_SAADC_INPUT_DISABLED;      &lt;span&gt;//Since the SAADC is single ended, the negative pin is disabled. The negative pin is shorted to ground internally.&lt;/span&gt;

    saadc_config.resolution = NRF_SAADC_RESOLUTION_12BIT;
    saadc_config.low_power_mode         = &lt;span&gt;true&lt;/span&gt;;                                                   &lt;span&gt;//Enable low power mode.&lt;/span&gt;

    err_code = &lt;span&gt;nrf_drv_saadc_init&lt;/span&gt;(&amp;amp;saadc_config, saadc_callback);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);

    err_code = &lt;span&gt;nrf_drv_saadc_channel_init&lt;/span&gt;(&lt;span&gt;0&lt;/span&gt;, &amp;amp;channel_config);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);

    err_code = &lt;span&gt;nrf_drv_saadc_buffer_convert&lt;/span&gt;(m_buffer_pool&lt;span&gt;[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;,SAADC_SAMPLES_IN_BUFFER);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);   
    err_code = &lt;span&gt;nrf_drv_saadc_buffer_convert&lt;/span&gt;(m_buffer_pool&lt;span&gt;[&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;,SAADC_SAMPLES_IN_BUFFER);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);   

    s_ssadcActive_b = &lt;span&gt;true&lt;/span&gt;;     &lt;span&gt;// to disable SSADC next time around&lt;/span&gt;

&lt;span&gt;}&lt;/span&gt;
&lt;br /&gt;// *******************************************************************&lt;br /&gt;
&lt;span&gt;void&lt;/span&gt; &lt;span&gt;ConfigADCToAIN1&lt;/span&gt;(&lt;span&gt;void&lt;/span&gt;)&lt;span&gt;{&lt;/span&gt;

nrf_saadc_channel_config_t channel_config = &lt;span&gt;NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE&lt;/span&gt;(NRF_SAADC_INPUT_AIN5);

    ret_code_t err_code;

    &lt;span&gt;if&lt;/span&gt; (s_ssadcActive_b) &lt;span&gt;{&lt;/span&gt;
        &lt;span&gt;UnintSAADC&lt;/span&gt;();
    &lt;span&gt;}&lt;/span&gt;


    channel_config.resistor_p = NRF_SAADC_RESISTOR_DISABLED;   &lt;span&gt;//Disable pullup resistor on the input pin&lt;/span&gt;
    channel_config.resistor_n = NRF_SAADC_RESISTOR_DISABLED;   &lt;span&gt;//Disable pulldown resistor on the input pin&lt;/span&gt;
    channel_config.gain       = NRF_SAADC_GAIN1_6;             &lt;span&gt;//Set input gain to 1/6. The maximum SAADC input voltage is then 0.6V/(1/6)=3.6V. The single ended input range is then 0V-3.6V&lt;/span&gt;
    channel_config.&lt;span&gt;reference&lt;/span&gt;  = NRF_SAADC_REFERENCE_VDD4;      &lt;span&gt;//Set internal reference of fixed 0.6 volts&lt;/span&gt;
    channel_config.acq_time   = NRF_SAADC_ACQTIME_10US ;        &lt;span&gt;//Set acquisition time. Set low acquisition time to enable maximum sampling frequency of 200kHz. Set high acquisition time to allow maximum source resistance up to 800 kohm, see the SAADC electrical specification in the PS.&lt;/span&gt;
    channel_config.mode       = NRF_SAADC_MODE_SINGLE_ENDED;   &lt;span&gt;//Set SAADC as single ended. This means it will only have the positive pin as input, and the negative pin is shorted to ground (0V) internally.&lt;/span&gt;
    &lt;span&gt;//channel_config.burst      = NRF_SAADC_BURST_ENABLED;&lt;/span&gt;
    channel_config.burst      = NRF_SAADC_BURST_DISABLED;
    &lt;span&gt;//&lt;/span&gt;
    channel_config.pin_p      = NRF_SAADC_INPUT_AIN1;          &lt;span&gt;//Select the input pin for the channel. AIN0 pin maps to physical pin P0.02.&lt;/span&gt;
    channel_config.pin_n      = NRF_SAADC_INPUT_DISABLED;      &lt;span&gt;//Since the SAADC is single ended, the negative pin is disabled. The negative pin is shorted to ground internally.&lt;/span&gt;

    saadc_config.resolution = NRF_SAADC_RESOLUTION_12BIT;
    saadc_config.low_power_mode         = &lt;span&gt;true&lt;/span&gt;;                                                   &lt;span&gt;//Enable low power mode.&lt;/span&gt;

    err_code = &lt;span&gt;nrf_drv_saadc_init&lt;/span&gt;(&amp;amp;saadc_config, saadc_callback);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);

    err_code = &lt;span&gt;nrf_drv_saadc_channel_init&lt;/span&gt;(&lt;span&gt;0&lt;/span&gt;, &amp;amp;channel_config);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);

    err_code = &lt;span&gt;nrf_drv_saadc_buffer_convert&lt;/span&gt;(m_buffer_pool&lt;span&gt;[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;,SAADC_SAMPLES_IN_BUFFER);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);   
    err_code = &lt;span&gt;nrf_drv_saadc_buffer_convert&lt;/span&gt;(m_buffer_pool&lt;span&gt;[&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;,SAADC_SAMPLES_IN_BUFFER);
    &lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;(err_code);   

    s_ssadcActive_b = &lt;span&gt;true&lt;/span&gt;;     &lt;span&gt;// to disable SSADC next time around&lt;/span&gt;

&lt;span&gt;}&lt;/span&gt;

// *************************************************************

&lt;span&gt;void&lt;/span&gt; &lt;span&gt;nrf_config_adc&lt;/span&gt;(&lt;span&gt;void&lt;/span&gt;)&lt;span&gt;{&lt;/span&gt;
    &lt;span&gt;ConfigADCToVDD&lt;/span&gt;();
&lt;span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Set &lt;/span&gt;s_ssadcActive_b = false&lt;/pre&gt;
&lt;pre&gt;&lt;span&gt;2) Call &lt;/span&gt;&lt;span&gt;nrf_config_adc&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span&gt;3) Call either &lt;/span&gt;&lt;span&gt;ConfigADCToVDD or &lt;/span&gt;&lt;span&gt;ConfigADCToVDD as needed.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span&gt;&lt;br /&gt;I have not yet tested if the ADC is working but suspect it is.   I will update&lt;br /&gt;after testing ADC operation.  For now I&amp;#39;m happy with the low current.&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Thanks Again.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285642?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2020 13:18:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fc6d055-a919-4d4e-9174-76729cf87830</guid><dc:creator>Carl Richard</dc:creator><description>&lt;p&gt;Hi, Peter!&lt;/p&gt;
&lt;p&gt;I also want to add there is a known bug in the driver caused by easyDMA being enabled and staying on when sampling for multiple channels. Jørgen has provided a more thorough explanation as well as a workaround demonstrating low power multichannel sampling in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/23867/nrf52-best-practise-for-ultra-low-power-saadc-4-channel-conversion/177265#177265"&gt;this thread&lt;/a&gt;. I also attached the his demo below.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/2625.saadc_5F00_low_5F00_power_5F00_multichannel_5F00_sdk15_5F00_3_5F00_0.zip"&gt;3343.saadc_low_power_multichannel_sdk15_3_0.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Carl Richard&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285485?ContentTypeID=1</link><pubDate>Thu, 17 Dec 2020 03:01:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b5053f9-b3bc-41d3-93cb-2f615205a744</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;I suspected as such - but asked as several of the examples I&amp;#39;ve seen have put&amp;nbsp;&lt;span&gt;nrf_drv_saadc_uninit();&amp;nbsp;&lt;/span&gt;in the call back.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285471?ContentTypeID=1</link><pubDate>Wed, 16 Dec 2020 23:33:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cce0226-0f8a-4f66-925d-1ba19c4fa9b8</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Ah, no; in fact as a general guide there should be as little as possible in the callbacks as the callbacks are run from within the interrupt handlers.&lt;/p&gt;
&lt;p&gt;This code would just be used after ADC sampling was completed before going to sleep. It can be used will polled sampling or interrupt-driven sampling. The timeout depends on sampling details, just make it longer than the normal completion time; it isn&amp;#39;t (shouldn&amp;#39;t be) needed, I use it as a fail-safe.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285470?ContentTypeID=1</link><pubDate>Wed, 16 Dec 2020 23:10:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38a79555-aa2c-4cbb-b64e-e2762c2dbe1e</guid><dc:creator>PeterInStillwater</dc:creator><description>&lt;p&gt;Thank you for the fast response.&amp;nbsp; No, I have not yet tried your suggestion, nor have I run across it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Two obvious questions:&lt;/p&gt;
&lt;p&gt;Is this code placed in the saadc_callback? (I assume so) and what is the timeout value initiated to?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll give this a shot tomorrow.&lt;/p&gt;
&lt;p&gt;Thanks again!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding Second SAADC increases sleep current to go greater 380uA</title><link>https://devzone.nordicsemi.com/thread/285467?ContentTypeID=1</link><pubDate>Wed, 16 Dec 2020 22:25:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f7e402c-ff2c-4524-930f-2afc3d270049</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;One minor issue is the internal reference consumes power when enabled, but there is no spec for the SAADC. The COMP&amp;nbsp; spec for that internal bandgap is only 13uA, so may be the same, don&amp;#39;t know.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;INT_REF Current used by the internal bandgap reference when selected&amp;nbsp;as source for VREF = 13 &amp;mu;A&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is the code I use, you may already have tried this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    while (0 == nrf_saadc_event_check(NRF_SAADC_EVENT_END) &amp;amp;&amp;amp; timeout &amp;gt; 0)
    {
        timeout--;
    }
    nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_STARTED);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_END);
    // Disable command
    nrf_saadc_disable();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Errata 178 could be an issue if trying to disable before the SAADC has finished&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>