MDX-20用の改造

Dependencies:   FatFileSystemCpp

Revision:
4:dc14f62cb09f
Child:
5:0ee37dbafd9a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbMemory.cpp	Wed Nov 23 09:12:30 2016 +0000
@@ -0,0 +1,104 @@
+#include "mbed.h"
+#include "MSCFileSystem.h"
+//#include <stat.h>
+#include "string.h"
+
+/*
+**************************************************************************************************************
+*                                        PRINT CONFIGURATION
+**************************************************************************************************************
+*/
+
+//#define DEBUG
+#ifdef DEBUG
+#define DEBUG_PRINT(...) printf(__VA_ARGS__)
+#else
+#define DEBUG_PRINT(...)
+#endif // DEBUG
+
+
+#define FSNAME "msc"
+MSCFileSystem msc(FSNAME);
+FILE *fp;
+
+
+
+char fileName[20];
+char buffer[50];
+
+int32_t fileDetect(char *fileName, uint32_t *numberLine)
+{
+    static uint32_t numMax = 0;
+    int32_t ans = false;
+
+    DIR *d;
+    struct dirent *p;
+
+    d = opendir("/" FSNAME);
+
+    // directory check
+    if ( d != NULL ) {
+        while ( (p = readdir(d)) != NULL ) {
+            if(NULL != strstr(p->d_name, ".prn")) {
+                strcpy(fileName, p->d_name);
+                DEBUG_PRINT("detect = %s\n",fileName);
+                ans = true;
+                continue;
+            }
+        }
+        // file check
+        if (ans == true) {
+            sprintf(buffer,"/msc/%s",fileName);
+            fp = fopen( buffer, "r");
+            if ( fp != NULL ) {
+                char buf[256];
+                while ( NULL != fgets(buf, sizeof(buf), fp) ) {
+                    DEBUG_PRINT("%s", buf);
+                    numMax++;
+                }
+                *numberLine = numMax;
+                fclose(fp);
+
+            } else {
+                // Don't file open 
+                // nothing
+            }
+        } else {
+            // nothing Directory
+        }
+    }
+        return ans;
+
+}
+
+uint32_t fileOneLineRead(char *fileName, char *data, uint32_t dataNumber, uint32_t numberLine)
+{
+//    static FILE *fp;
+    int32_t ans = false;
+    #define bufferNumber 100
+    char buffer[bufferNumber];
+    
+                sprintf(buffer,"/msc/%s",fileName);
+
+            fp = fopen( buffer, "r");
+            if ( fp != NULL ) {
+                for(uint32_t i = 0; i < numberLine; i++){
+                fgets(buffer, sizeof(buffer), fp);
+                }
+                                    
+                if(NULL != fgets(data, dataNumber, fp)){
+                    DEBUG_PRINT("line = %s\r\n", data);
+                fclose(fp);
+                ans = true;
+                }
+                else{
+                    // nothing
+                    }
+            } else {
+                // Don't file open 
+                // nothing
+            }
+
+    return ans;
+}
+