Example of using file interfaces for mDot

Dependencies:   libmDot-mbed5

Fork of BackupRegisterExample by Jason Reiss

Revision:
27:0bc6554f0bad
Parent:
26:99458ed6fd31
diff -r 99458ed6fd31 -r 0bc6554f0bad main.cpp
--- a/main.cpp	Sun Feb 04 01:12:04 2018 +0000
+++ b/main.cpp	Wed Feb 07 19:44:15 2018 +0000
@@ -45,36 +45,42 @@
     assert(dot);
 
     
-    printf("\r\nenter loop*****\r\n");
+    printf("\r\nCreate a file\r\n");
+    
+    uint8_t buffer[20];
+    
+    memset(buffer, 0x23, 20);
+    
+    dot->saveUserFile("Test", buffer, 20);
+    
+    uint8_t new_buffer[20];
+    
+    memset(new_buffer, 0, 20);
+    
+    dot->readUserFile("Test", new_buffer, 20);
+        
+    printf("Read from file: %02x %02x %02x\r\n", new_buffer[0], new_buffer[1], new_buffer[2]);
+    
+    
+    memset(buffer, 0x78, 20);
+    
+    
+    // Similar to C open interface
+    // see http://codewiki.wikidot.com/c:system-calls:open
+    mDot::mdot_file my_file = dot->openUserFile("Test2", mDot::FM_CREAT | mDot::FM_WRONLY | mDot::FM_APPEND);
+   
+    dot->writeUserFile(my_file, buffer, 20);
+    
+    dot->closeUserFile(my_file);
+    
+    memset(new_buffer, 0, 20);
+    
+    dot->readUserFile("Test2", new_buffer, 20);
+        
+    printf("Read from file: %02x %02x %02x\r\n", new_buffer[0], new_buffer[1], new_buffer[2]);
     
     while (true) {
-        int8_t bk_reg = 1; // 0, 1, mDot::UBR0, or mDot::UBR1
-        uint32_t value;
-        
-        dot->readUserBackupRegister(bk_reg, value);
-        
-        printf("initial read value %lu from reg UBR%d\r\n", value, bk_reg);
-        
-        value = rand();
-        
-        printf("save value %lu to reg UBR%d\r\n", value, bk_reg);
-        
-        dot->writeUserBackupRegister(bk_reg, value);
-        
-        dot->readUserBackupRegister(bk_reg, value);
-        
-        printf("after write read value %lu from reg UBR%d\r\n", value, bk_reg);
-    
-        // ONLY ONE of the three functions below should be uncommented depending on the desired wakeup method
-        //sleep_wake_rtc_only(deep_sleep);
-        //sleep_wake_interrupt_only(deep_sleep);
-        printf("sleep 5 seconds\r\n");
-        dot->sleep(5, mDot::RTC_ALARM, deep_sleep);
-        
-        dot->readUserBackupRegister(bk_reg, value);
-        
-        printf("\r\n********after sleep read value %lu from reg UBR%d\r\n\r\n", value, bk_reg);
-            
+        osDelay(5000);            
     }
  
     return 0;