<?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>flashwrite persistence</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41293/flashwrite-persistence</link><description>Using sdk12.3 on pca10040. 
 I wanted to test persistence so I modified the example from the SDK as follows: log what&amp;#39;s already there. don&amp;#39;t erase. enter new data. log it again. 
 Using the provided example /peripheral/flashwrite to get the starting address</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 13 Dec 2018 13:56:33 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41293/flashwrite-persistence" /><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161698?ContentTypeID=1</link><pubDate>Thu, 13 Dec 2018 13:56:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60be19bd-cd78-40e4-b027-cd1682670925</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Check out the attached project.&lt;/p&gt;
&lt;p&gt;It is a project that uses the softdevice. I recommend that you start directly with this if you intend to use the softdevice in the end. Also because the fstorage_nosd.c is blank in SDK12.3.0. You can probably downport it from a newer SDK version, but if you intend to use the softdevice in the end anyway, I don&amp;#39;t see any reason why to not use it from the start.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that this example is just initializing the fds. It doesn&amp;#39;t write or read anything. It only initializes the FDS module.&lt;/p&gt;
&lt;p&gt;Note that I also added the lines:&lt;/p&gt;
&lt;p&gt;err_code = softdevice_sys_evt_handler_set(sys_evt_dispatch);&lt;br /&gt; APP_ERROR_CHECK(err_code);&lt;/p&gt;
&lt;p&gt;in ble_stack_init() and the sys_evt_dispatch() in order to register the fstorage events.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-0a98bfbf66214377ace3c44727aa67cb/ble_5F00_app_5F00_uart_5F00_fds.zip"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_uart_5F00_fds.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Are you able to compile this using armgcc? I tested this makefile, and it worked here. If not, what version of armgcc do you use?&lt;/p&gt;
&lt;p&gt;Note that when you initialize, write or delete a record, wait for the corresponding events before you countinue.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;example:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;volatile bool m_init = false;
volatile bool m_write = false;
volatile bool m_delete = false;

static void fds_evt_handler(fds_evt_t const * p_fds_evt)
{
    switch(p_fds_evt-&amp;gt;id)
    {
        case FDS_EVT_INIT:
            if(p_fds_evt-&amp;gt;result != FDS_SUCCESS)
            {
                // initialization failed.
            }
            else
            {
                m_init = 1;
            }
            break;
            
        // Add the events for write and delete and set the corresponding m_write m_delete to true in these events.
        
        default:
            break;
    }
}

main()
{
    ...
    //init all other things
    my_fds_init_function();
    while(!m_init){};
    
    my_fds_write_function();
    while(!m_fds_write){};
    m_fds_write = false;
    
    my_fds_delete_function();
    while(!m_delete){};
    m_delete = false;
    // Enter main loop.
    
    for (;;)
    {
        //if (NRF_LOG_PROCESS() == false)
        {
            power_manage();
        }
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161658?ContentTypeID=1</link><pubDate>Thu, 13 Dec 2018 12:26:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f3323b9-68de-4e04-9f92-3fbba24cef00</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;I used the code from the FDS document you suggested above.&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;You can check out the guide in or documentation on how to use the&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.nordicsemi.com/en/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/lib_fds_usage"&gt;FDS module&lt;/a&gt;&lt;span&gt;.&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In main()&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span&gt;&lt;/span&gt;..&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;fds_record_t&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; record;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;..&lt;/p&gt;
&lt;p&gt;BR. Paul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161644?ContentTypeID=1</link><pubDate>Thu, 13 Dec 2018 11:35:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2a3e75e3-76bc-42ed-87b4-e5f2b8f5e0f9</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Where do you declare &amp;quot;record&amp;quot;? and what does it look like?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161639?ContentTypeID=1</link><pubDate>Thu, 13 Dec 2018 10:53:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4337467-26b3-4bb6-97cf-7213e5cfd24a</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;Thx Edvin,&lt;/p&gt;
&lt;p&gt;Initially without softdevice.&amp;nbsp; Will add that later.&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;Compiling file: main.c&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:&lt;/b&gt; In function &amp;#39;&lt;b&gt;main&lt;/b&gt;&amp;#39;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:100:13:&lt;/b&gt; &lt;/span&gt;&lt;span class="s2"&gt;&lt;b&gt;error: &lt;/b&gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;b&gt;struct &amp;lt;anonymous&amp;gt;&lt;/b&gt;&amp;#39; has no member named &amp;#39;&lt;b&gt;p_data&lt;/b&gt;&amp;#39;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &lt;/span&gt;record.data.p_data &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;= &amp;amp;m_deadbeef;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;^&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:101:13:&lt;/b&gt; &lt;/span&gt;&lt;span class="s2"&gt;&lt;b&gt;error: &lt;/b&gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;b&gt;struct &amp;lt;anonymous&amp;gt;&lt;/b&gt;&amp;#39; has no member named &amp;#39;&lt;b&gt;length_words&lt;/b&gt;&amp;#39;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &lt;/span&gt;record.data.length_words = 1; &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &lt;/span&gt;/* one word is four bytes. */&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;^&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:110:13:&lt;/b&gt; &lt;/span&gt;&lt;span class="s2"&gt;&lt;b&gt;error: &lt;/b&gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;b&gt;struct &amp;lt;anonymous&amp;gt;&lt;/b&gt;&amp;#39; has no member named &amp;#39;&lt;b&gt;p_data&lt;/b&gt;&amp;#39;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &lt;/span&gt;record.data.p_data &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;= &amp;amp;m_hello;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;^&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:112:13:&lt;/b&gt; &lt;/span&gt;&lt;span class="s2"&gt;&lt;b&gt;error: &lt;/b&gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;b&gt;struct &amp;lt;anonymous&amp;gt;&lt;/b&gt;&amp;#39; has no member named &amp;#39;&lt;b&gt;length_words&lt;/b&gt;&amp;#39;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &lt;/span&gt;record.data.length_words = (sizeof(m_hello) + 3) / 4;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;^&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;make: *** [_build/nrf52832_xxaa_main.c.o] Error 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;I may have misinterpreted the above?&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;&lt;span class="s1"&gt;Thx. Paul&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161625?ContentTypeID=1</link><pubDate>Thu, 13 Dec 2018 09:55:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4feb48d9-8e96-42dc-8d6c-a3e49970ab11</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Paul,&lt;/p&gt;
&lt;p&gt;Yes. This is possible in SDK12.3.0&lt;/p&gt;
&lt;p&gt;fds_record_t is defined in fds.h, so you must add the folder including this in your INC_FOLDERS in your makefile.&lt;/p&gt;
&lt;p&gt;$(SDK_ROOT)/components/libraries/fds \&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I see that you have included it in your makefile, but there must be something wrong with it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you intend to use the softdevice in your final appliaction?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Can you please paste the compiler output log?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/161550?ContentTypeID=1</link><pubDate>Wed, 12 Dec 2018 20:59:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71286894-bc66-4a82-9446-aa9e27674831</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;Thx Edvin and apologies for forgetting the main()&lt;/p&gt;
&lt;p&gt;Now when I try to build this as above I find that&amp;nbsp;&lt;span&gt; &lt;/span&gt;fds_record_t&amp;nbsp; is undefined.&lt;/p&gt;
&lt;p&gt;I think I have the right stuff in the attached Makefile.&lt;/p&gt;
&lt;p&gt;Again, I&amp;#39;m wondering if I can do this on SDK 12.3?&lt;/p&gt;
&lt;p&gt;Thx. Paul&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/8308.Makefile.txt"&gt;devzone.nordicsemi.com/.../8308.Makefile.txt&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160952?ContentTypeID=1</link><pubDate>Mon, 10 Dec 2018 11:49:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c6e2a11-6190-478b-8cf5-caf6d706136a</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The fds module should work without the softdevice as well. Just make sure to include the correct fstorage files (that are used by the fds files).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are two fstorage.c files. One called fstorage.c, and one called fstorage_nosd.c (no softdevice). Use the last one.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Your compiler error, &amp;quot;initializer element is not constant&amp;quot; is probably because you are trying to add&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ret_code_t ret = fds_register(fds_evt_handler);&lt;/p&gt;
&lt;p&gt;outside a function.&lt;/p&gt;
&lt;p&gt;These instructions can&amp;#39;t be copy-pasted into a main.c file. You must have all function calls inside a function, e.g. your main() function, or another function that you create. Something like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void fds_evt_handler(fds_evt_t const * p_fds_evt)
{
    switch(p_fds_evt-&amp;gt;id)
    {
        case FDS_EVT_INIT:
            if(p_fds_evt-&amp;gt;result != FDS_SUCCESS)
            {
                // initialization failed.
            }
            break;
        
        default:
            break;
    }
}

void my_fds_init_function(void)
{
    ret_code_t ret = fds_register(fds_evt_handler);
    if(ret != FDS_SUCCESS)
    {
        //registering failed. 
    }
    ret = fds_init();
    if(ret != FDS_SUCCESS)
    {
        // Handle error.
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160783?ContentTypeID=1</link><pubDate>Fri, 07 Dec 2018 15:15:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d80ccdae-c51b-47ec-9f28-eb31731cae81</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;straight armgcc&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160779?ContentTypeID=1</link><pubDate>Fri, 07 Dec 2018 15:04:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5acdc8d2-c9aa-4dab-9afc-daa880a5c889</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;What IDE are you using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160692?ContentTypeID=1</link><pubDate>Fri, 07 Dec 2018 09:43:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7628cb9-2042-41f1-bbf0-0f2a87b59032</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;OK Thx Edvin.&amp;nbsp; I guess I saw flashwrite and not&amp;nbsp;fds in the 12.3 examples and jumped to a conclusion. :-(&lt;/p&gt;
&lt;p&gt;I see that 12.3 does include the fds library so I made an example using the document you mention.&lt;/p&gt;
&lt;p&gt;The example talks about softdevice but I assume it should work without one.&lt;/p&gt;
&lt;p&gt;The first error I get is&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;../../../main.c:77:18:&lt;/b&gt; &lt;/span&gt;&lt;span class="s2"&gt;&lt;b&gt;error: &lt;/b&gt;&lt;/span&gt;&lt;span class="s1"&gt;initializer element is not constant&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1" style="padding-left:30px;"&gt;&lt;span class="s1"&gt; ret_code_t ret = fds_register(fds_evt_handler);&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2" style="padding-left:30px;"&gt;&lt;span class="s1"&gt;&lt;b&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;^&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;span class="s1"&gt;.. which seems odd.&amp;nbsp; Is this code viable in 12.3 with the 12.3 fds library?&lt;/span&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;span class="s1"&gt;Thx.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160607?ContentTypeID=1</link><pubDate>Thu, 06 Dec 2018 14:32:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f9d7230-429a-4613-a190-55762f35fd23</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The flash works in the way that you can only flip bits from 1 to 0. In order to flip them back to 1, you need to delete the entire flash page, unfortunately. This means that you need to somehow work around this, by figuring out where your latest data is written.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;One way to work around this is to use the FDS module, which stores records with record IDs, which you can use to update a record, delete records, or write new records.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can check out the guide in or documentation on how to use the &lt;a href="https://www.nordicsemi.com/en/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/lib_fds_usage"&gt;FDS module&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So there you would typically use functions like fds_record_write(), fds_record_delete(), fds_record_update(), and so on. The FDS module will also evenly distribute the flash tear, so it will ensure maximum durance for the flash.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: flashwrite persistence</title><link>https://devzone.nordicsemi.com/thread/160571?ContentTypeID=1</link><pubDate>Thu, 06 Dec 2018 12:38:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c741ae8-1353-4e45-a90d-2a06a2d0da20</guid><dc:creator>paul_tanner</dc:creator><description>&lt;p&gt;Sorry, something I did not try was to re-instate the call to&amp;nbsp;flash_page_erase(addr);&lt;/p&gt;
&lt;p&gt;That makes the sketch work but of course this prevents it from persisting across a reset.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>