MDX-20用の改造
Dependencies: FatFileSystemCpp
Diff: usbMemory.cpp
- 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; +} +