<?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>[nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71035/nrf52811-apply-calibrated-data-to-thread-chip</link><description>Hi, 
 From previous case , I still not fully understand how chip to retrieve the calibrated data from flash(already implemented read/write data for the interface by FDS), and its behavior in detail, 
 for &amp;quot;-r A0 -t 11,3,1100/14,11,1000/25,2,1100 -b 11</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Feb 2021 08:25:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71035/nrf52811-apply-calibrated-data-to-thread-chip" /><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/293034?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 08:25:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3198e2d-f48e-4801-868f-1e93bfc717d9</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Sorry for the confusion. West is a command tool from NCS/Zephyr.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/293014?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 03:17:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26813e27-c17d-4500-ac9c-767b915fb816</guid><dc:creator>Webber</dc:creator><description>&lt;p&gt;Hi Charlie,&lt;/p&gt;
&lt;p&gt;Right , that is for&amp;nbsp;&lt;span&gt;erase all, and&amp;nbsp; where can I find option to&amp;nbsp;&amp;quot;west flash --erase &amp;quot;, I cannot find it with SES V5.32 as attached picture.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/west_5F00_flash.png" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;thanks&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/292770?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 20:47:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ead81d9-31d0-467f-9ef7-dfa2bda1e51a</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;I did not quite often use this segger link tool and I guess it should mean &amp;quot;erase all&amp;quot;. I normally use SES Target-&amp;gt;Erase ALL or &amp;quot;west flash --erase &amp;quot;&lt;/p&gt;
&lt;p&gt;You can verify from the printout of the example program.&amp;nbsp;If the program finds no record after &amp;quot;Erase chip&amp;quot;, it means the &amp;quot;erase all chip&amp;quot; operation is done.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/292679?ContentTypeID=1</link><pubDate>Wed, 03 Feb 2021 13:09:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8b5ecd9-957f-4b94-9f8d-51f15f182951</guid><dc:creator>Webber</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Charlie,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Got it, and from screenshot with&amp;nbsp;Segger JLink tool, does the button &amp;quot;Erase Chip&amp;quot;&amp;nbsp; mean &amp;quot;erase all&amp;quot; as you mentioned?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;thanks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Webber&lt;img class="align-right" style="float:right;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/6471.Erase.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/292407?ContentTypeID=1</link><pubDate>Tue, 02 Feb 2021 09:33:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7174a52f-f651-4ad9-981b-de8f00126080</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Webber,&lt;/p&gt;
&lt;p&gt;The read/write data operation depends on your application program design. My understanding of the general calibration&amp;nbsp;process is: power on-&amp;gt; read calibration value-&amp;gt; calibrate data and reclibrate data-&amp;gt; write calibration&amp;nbsp;value to flash.&lt;/p&gt;
&lt;p&gt;You mentioned two conditions. For the power on/off, the data in flash survive from power toggles, this is the normal reason for using flash. When you burn a new hex, if you do &amp;quot;erase all&amp;quot;first, the data in flash will be erased, otherwise, the data in flash be kept.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/291983?ContentTypeID=1</link><pubDate>Fri, 29 Jan 2021 12:27:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6b547bd7-8877-4608-b6c9-4458bdf19d77</guid><dc:creator>Webber</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Charlie,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Many thanks for clear description, I&amp;#39;m trying to add some function from example you provided to my code with openthread, as you know, whether we have to read/write data each time after burn new hex file or power on/off?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;thanks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Webber&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF52811]Apply calibrated data to thread chip</title><link>https://devzone.nordicsemi.com/thread/291861?ContentTypeID=1</link><pubDate>Thu, 28 Jan 2021 17:52:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:864a0225-9b2e-4693-afae-a451239320b0</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi Webber,&lt;/p&gt;
&lt;p&gt;I modified a simple example for your calibration data&amp;nbsp; &lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/flash_5F00_fds_5F00_calibdata.zip"&gt;devzone.nordicsemi.com/.../flash_5F00_fds_5F00_calibdata.zip&lt;/a&gt;&amp;nbsp;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New record structure and data:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//fds_example.h
/* A dummy structure to save in flash. */
typedef struct
{
    uint32_t boot_count;
    char     data_name[16];
    char     data[300];
} configuration_t;


//main.c
/* Dummy configuration data. */
static configuration_t m_dummy_cfg =
{
    .boot_count  = 0x0,
    .data_name = &amp;quot;calibration&amp;quot;,
    .data=&amp;quot;-r A0 -t 11,3,1100/14,11,1000/25,2,1100 -b 11,3,4 -s 1050,-4,300/970,-4,240/630,-8,320/580,-8,120 -b 14,11,4 -s 1020,-4,320/980,-4,260/620,-8,280/600,-8,220 -b 25,2,4 -s 1010,0,280/950,0,260/610,-4,300/590,-4,200&amp;quot;,
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Simple explanation about the example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Remember to run Erase All before programming, this will clear up flash memory. Press the reset button to restart the programe to reboot the program.&lt;/p&gt;
&lt;p&gt;Run the program there times, the program demo flash operation in three different ways. You will see different printouts from the serial port.&lt;/p&gt;
&lt;p&gt;1. First time, the program &lt;strong&gt;writes&lt;/strong&gt; calibration data to flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. Second time, the program &lt;strong&gt;read&lt;/strong&gt; the calibration data from flash.&lt;/p&gt;
&lt;p&gt;3. Third time, the program &lt;strong&gt;update&lt;/strong&gt; new calibration data to flash.&lt;/p&gt;
&lt;p&gt;4. After the third-time&amp;nbsp;boot, the program only loads the last-updated data during reboot.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You need to write your own function to load and parser the calibration data.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Charlie&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>