microSD Card control function for DISCO-F469NI based on BD_SD_DISCO_F746NG library by Roy Krikke

Dependencies:   BSP_DISCO_F469NI_modified BD_SD_DISCO_F469NI

Fork of DISCO-F769NI_BD_SD_Card_Control by Kenji Arai

Please refer following my Notebook page.
/users/kenjiArai/notebook/sd-card-control-new/

Revision:
9:b819be925e97
Parent:
8:3c5373ba612a
Child:
10:b5665028f662
--- a/1_main.cpp	Sat Dec 07 03:26:31 2019 +0000
+++ b/1_main.cpp	Fri Dec 27 02:59:09 2019 +0000
@@ -6,7 +6,7 @@
  *  http://www.page.sannet.ne.jp/kenjia/index.html
  *  https://os.mbed.com/users/kenjiArai/
  *      Created:    April      7th, 2018
- *      Revised:    December   7th, 2019
+ *      Revised:    December  27th, 2019
  */
 
 //  Select ---------------------------------------------------------------------
@@ -77,12 +77,13 @@
     FILE* fp = fopen("/fs/mydata.txt", "a");
     errno_error(fp);
     if (fp != 0) {
+        DBG("line:%d\r\n", __LINE__);
         pc.printf("%s%s",  opening_msg0, opening_msg1);
         fprintf(fp,"%s%s", opening_msg0, opening_msg1);
+        fclose(fp);
     } else {
         pc.printf("ERROR\r\n");
     }
-    fclose(fp);
     while (pc.readable()) {
         char c = pc.getc(); // dummy read
     }
@@ -90,8 +91,9 @@
         DBG("line:%d\r\n", __LINE__);
         tmr.reset();
         tmr.start();
-        uint32_t size = get_disk_freespace();
-        pc.printf("free %u  ", size);
+        uint32_t size_disk = get_disk_freespace();
+        uint32_t size_file = get_data_file_size("mydata.txt");
+        pc.printf("free disk:%10u, file:%8u  ", size_disk, size_file);
         fp = fopen("/fs/mydata.txt", "a");
         if(fp != 0) {
             char tmp[64];
@@ -104,12 +106,13 @@
                       ++data0, ++data1, ++data2, ++data3, ++data4, ++data5);
             fprintf(fp, "%08d;%08d;%08d;%08d;%08d;%08d\r\n",
                         data0,   data1,   data2,   data3,   data4,   data5);
+            fclose(fp);
         } else {
             pc.printf("ERROR\r\n");
         }
-        fclose(fp);
         uint32_t time_sd = tmr.read_us();
-        pc.printf("time:%6d ", time_sd);
+        pc.printf("time[uS]:%6d ", time_sd);
+        time_sd /= 1000;    // change uS to ms
         if (time_sd < LOOP_TIME -2){
             ThisThread::sleep_for(LOOP_TIME - time_sd);
         }