<?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>SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/77749/saadc-oversample-with-burst-configuration</link><description>Dear DevZone, 
 
 I am trying to configure the SAADC on my custom nRF52840 board. 
 I would like to use it in blocking mode together with oversample 16x and burst enabled. 
 I started from the example provided in the SDK, and I firstly removed all the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 29 Jul 2021 10:28:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/77749/saadc-oversample-with-burst-configuration" /><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322415?ContentTypeID=1</link><pubDate>Thu, 29 Jul 2021 10:28:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a0dd186-d2dc-42df-bfb7-937653423f12</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Thank you very much Jared, now I understood!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322204?ContentTypeID=1</link><pubDate>Wed, 28 Jul 2021 11:32:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fdcaa23-80c6-4a8b-b1de-202cf6b0fae3</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Sorry, I should have been more specific.&lt;/p&gt;
&lt;p&gt;I see that you use both&amp;nbsp;nrfx_saadc_sample() and&amp;nbsp;nrf_drv_saadc_buffer_convert(). We usually prefer that you use either the legacy(nrf_drv) API or use the nrfx API directly. &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc.html"&gt;Usually there is just a macro forwarding between the legacy API and the nrfx api,&lt;/a&gt; but it&amp;#39;s either way a bad habit. The APIs shouldn&amp;#39;t really be mixed in a project. So, instead of calling&amp;nbsp;nrfx_saadc_sample(), you should call&amp;nbsp;nrf_drv_saadc_sample(). In this case, it doesn&amp;#39;t really do anything, but I was thinking for future projects where it could matter. &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;best 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: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322192?ContentTypeID=1</link><pubDate>Wed, 28 Jul 2021 10:30:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:355d0320-fe55-4764-b128-c2c6ab450b65</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Thank you very much Jared,&lt;/p&gt;
&lt;p&gt;you were correct in understanding my point.&lt;/p&gt;
&lt;p&gt;only one thing: what do you mean with:&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/77749/saadc-oversample-with-burst-configuration/322177#322177"]you should not mix between the legacy nrfx and nrf API. Use&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc.html#gaf16a16c9de60276dd73cf1811c03ae73"&gt;nrf_drv_saadc_sample&lt;/a&gt;()[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Do I have to avoid to use:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrf_drv_saadc_buffer_convert(m_buffer_pool, SAMPLES_IN_BUFFER);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;and use only&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc.html#gaf16a16c9de60276dd73cf1811c03ae73"&gt;nrf_drv_saadc_sample&lt;/a&gt;&lt;span&gt;()&amp;nbsp;&lt;/span&gt;?&lt;/p&gt;
&lt;p&gt;In that case, how can I understand which is the buffer I filled? Where is the sample saved?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Gianluca&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322177?ContentTypeID=1</link><pubDate>Wed, 28 Jul 2021 09:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e45aa94-ad6e-4866-b492-3682a4864740</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;My understanding is that you want to take the sample that has been oversampled 16 times and multiply/divide it with&amp;nbsp;2.8/2*6*0.6/4095? In that case you have to wait for the data to be ready after it has been oversampled and averaged. The data is ready when the callback handler is called with the&amp;nbsp;NRF_DRV_SAADC_EVT_DONE, which is where this multiplication should take place.&lt;/p&gt;
&lt;p&gt;Don&amp;#39;t hesitate to correct me if I misunderstood you on this point.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And you should not mix between the legacy nrfx and nrf API. Use&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.0.2/group__nrf__drv__saadc.html#gaf16a16c9de60276dd73cf1811c03ae73"&gt;nrf_drv_saadc_sample&lt;/a&gt;()&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;Other than that, the code looks correct it will sample in non-blocking mode.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;On a second thought,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;An easier but less elegant way is to count the number of times you have to call the sample task before the&amp;nbsp;NRF_DRV_SAADC_EVT_DONE is generated when&amp;nbsp;&lt;/span&gt;&lt;strong&gt;burst mode is disabled.&amp;nbsp;&lt;/strong&gt;When burst mode is disabled, you have to call the sample task manually the number of times the oversample is set to, the callback handler will not generate the&amp;nbsp;&lt;span&gt;NRF_DRV_SAADC_EVT_DONE event before the sample task has been triggered the set amount of times. Which means that you can try to call the sample task in a loop until the&amp;nbsp;NRF_DRV_SAADC_EVT_DONE is generated. If you count the number of times you have iterated the loop then you can&amp;nbsp;ensure that sample has been oversampled.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;best regards&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Jared&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322058?ContentTypeID=1</link><pubDate>Tue, 27 Jul 2021 13:03:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59df8dcc-54a5-4337-ab56-29011cdf7f4d</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Dear Jared,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;don&amp;#39;t worry at all, thanks for the answer.&lt;/p&gt;
&lt;p&gt;My only intention was&amp;nbsp;to check if I was actually performing the oversample correctly, but if you can confirm me that with the code I showed you before the oversampling is implemented, I can also avoid to perform this verification.&lt;/p&gt;
&lt;p&gt;P.S.: As you suggested here:&lt;/p&gt;
[quote userid="73165" url="~/f/nordic-q-a/77749/saadc-oversample-with-burst-configuration/321733#321733"]I don&amp;#39;t see any reason to use blocking in the first place as I don&amp;#39;t see any benefit from it. It will just cause a higher power consumption.[/quote]
&lt;p&gt;I tried to use the non-blocking one-shot mode. I did it following following the basic instruction from Infocenter:&lt;/p&gt;
&lt;div class="fragment"&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1627390882248v1.png" alt=" " /&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;Here my code instructions for periodically triggering the reading:&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;pre class="ui-code" data-mode="text"&gt;    for(int n=1; n=1000; n++){
      
    err_code = nrf_drv_saadc_buffer_convert(m_buffer_pool, SAMPLES_IN_BUFFER);
    APP_ERROR_CHECK(err_code);
    err_code = nrfx_saadc_sample();
    APP_ERROR_CHECK(err_code);
    float bat_vol = m_buffer_pool[0]*2.8/2*6*0.6/4095;

    nrf_delay_ms(1000);

    }&lt;/pre&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;Do you thing I am doing it correctly?&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;Thanks,&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;
&lt;div class="fragment"&gt;Gianluca&lt;/div&gt;
&lt;div class="fragment"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322045?ContentTypeID=1</link><pubDate>Tue, 27 Jul 2021 12:17:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33e33e50-5ff3-4c0f-ae7f-edb4060d630b</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;&amp;nbsp;Hi,&lt;/p&gt;
&lt;p&gt;You&amp;#39;re actually 100% correct, and I managed to mix up the SW and HW events myself. I&amp;#39;m so sorry for this. The driver doesn&amp;#39;t really support monitoring the DONE event. You can use a PPI + a Timer in counter mode that increments every time the &lt;span&gt;EVENTS_DONE&amp;nbsp;&lt;/span&gt;event is produced. It&amp;#39;s a bit more complex than just waiting for the DONE event to be produced by the driver. What&amp;#39;s your intention of implementing this?&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: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/322016?ContentTypeID=1</link><pubDate>Tue, 27 Jul 2021 10:42:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f75c4915-57aa-49c8-a453-9df62dbb0da6</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Thanks Jared,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I saw in this post &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/67552/what-is-the-eventdone-of-saadc-oversampling"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/67552/what-is-the-eventdone-of-saadc-oversampling&lt;/a&gt; the differences between the EVENTS_DONE event of the oversample and the one for the buffer which is filled (SAADC_EVT_DONE).&lt;/p&gt;
&lt;p&gt;I cannot understand how to handle the generation of the event EVENTS_DONE in the callback function . can I do as the case with&amp;nbsp;&lt;span&gt;SAADC_EVT_DONE putting the address of the register? something like this?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void saadc_callback_handler(nrf_drv_saadc_evt_t const * p_event)
{
//Empty
static int a;
if (p_event-&amp;gt;type == 0x108)
{


a++;
}
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Gianluca&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321856?ContentTypeID=1</link><pubDate>Mon, 26 Jul 2021 13:49:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a76ee128-f03d-48f4-a15d-b2fd3c86c4d9</guid><dc:creator>Jared</dc:creator><description>[quote user="Gianlucamilani"]&lt;p&gt;do you know if there is a suggested way to verify the actual realization of the 16 events related to the readings with an oscilloscope? Or via code? Thanks,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;[/quote]
&lt;p&gt;&amp;nbsp;&amp;quot;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/saadc.html?cp=4_0_0_5_22_8_6#register.EVENTS_DONE"&gt;DONE event&lt;/a&gt;&amp;nbsp;is generated for every input sample taken&amp;quot; from &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/saadc.html?cp=4_0_0_5_22_5#saadc_operationmodes_oversample"&gt;product spec&lt;/a&gt;, which means that you can use the callback handler to see that the samples are taken during the oversampling.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321745?ContentTypeID=1</link><pubDate>Mon, 26 Jul 2021 09:19:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf1d0ebf-47b3-47a5-9207-1ea0f54f9dd0</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Thank you very much Jared,&lt;/p&gt;
&lt;p&gt;do you know if there is a suggested way to verify the actual realization of the 16 events related to the readings with an oscilloscope? Or via code? Thanks,&lt;/p&gt;
&lt;p&gt;best regards,&lt;/p&gt;
&lt;p&gt;Gianluca&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321733?ContentTypeID=1</link><pubDate>Mon, 26 Jul 2021 08:52:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dca7995-220c-40de-99ad-12f9575d42e0</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;This should be correct.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;I don&amp;#39;t see any reason to use blocking in the first place as I don&amp;#39;t see any benefit from it. It will just cause a higher power consumption.&lt;/li&gt;
&lt;li&gt;Yes, that should be fine as in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/47694/saadc-in-blocking-mode-doesn-t-return-a-value/189013#189013"&gt;this case&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&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: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321542?ContentTypeID=1</link><pubDate>Fri, 23 Jul 2021 11:08:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5da36d84-25f5-4285-975e-9fb81e13df84</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;In other words, what I understood from the documentation is that the relationship between the ADC modalities can be described as follows:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/960x720/__key/communityserver-discussions-components-files/4/pastedimage1627038246854v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1) Am I correct?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In that case, I would use the one-shot - blocking since I need to leave free the timers.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2) Do you think is a good idea or I should go with one of the others?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;3) To have the oversample with burst feature is it ok to use the blocking- one shot modality as I showed you in the code?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks, I hope I was clear enough,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Gianluca&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321525?ContentTypeID=1</link><pubDate>Fri, 23 Jul 2021 09:37:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:410c9a42-3bff-456c-9dbc-7f50ac9bca45</guid><dc:creator>Gianlucamilani</dc:creator><description>&lt;p&gt;Dear Jared,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;thank you very much for your answer.&lt;/p&gt;
&lt;p&gt;I would use it without any PPI, I am initializing the saadc without any instructions in the callback handler:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void saadc_callback_handler(nrf_drv_saadc_evt_t const * p_event)
{
  //Empty
}


void saadc_init(void)
{

  ret_code_t err_code;

  // Create a config struct and assign it default values along with Pin number for ADC input
  //
  // Chosen paramters:
  //
  //    - Internal reference
  //    - Gain 1/6
  //    - Acquisition time 3us
  //    - Single ended
  //
  // The reasons for the choice of these parameters values can be found at the following link:
  //
  // https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/measuring-lithium-battery-voltage-with-nrf52

  // Configure the input as Single Ended (One Pin reading)


  nrf_saadc_channel_config_t  channel_config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN5);


  // Initialize the saadc

  err_code = nrf_drv_saadc_init(NULL, saadc_callback_handler);
  APP_ERROR_CHECK(err_code);

  // Initialize the channel which will be connected to that specific Pin
  // The selected channel is 0

  err_code = nrf_drv_saadc_channel_init(0, &amp;amp;channel_config);
  APP_ERROR_CHECK(err_code);




}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and I am triggering the saadc conversion only when I need it, using:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;nrfx_saadc_sample_convert(0, &amp;amp;adc_val);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Am I doing the wrong steps if I want to implement oversampling?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Gianluca&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC oversample with burst configuration</title><link>https://devzone.nordicsemi.com/thread/321490?ContentTypeID=1</link><pubDate>Fri, 23 Jul 2021 07:39:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b93418b-b9c4-488e-bfab-37f85cb00ac5</guid><dc:creator>Jared</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It seems correct for blocking mode. However, what is your intention of using blocking mode instead of non-blocking? Are you using PPI to connect the SAMPLE task with the COMPARE event as in the example? That could be a bit problematic as it could lead to the &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/20291/offset-in-saadc-samples-with-easy-dma-and-ble/79053#79053"&gt;buffer swap issue&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></channel></rss>