MDX-20用の改造
Dependencies: FatFileSystemCpp
usbMemory.cpp
- Committer:
- suupen
- Date:
- 2016-12-03
- Revision:
- 5:0ee37dbafd9a
- Parent:
- 4:dc14f62cb09f
- Child:
- 6:d407fe3e0c97
File content as of revision 5:0ee37dbafd9a:
#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]; void usbMemoryInitialize(void) { msc.disk_initialize(); } int32_t fileDetect(char *fileName, uint32_t *numberLine) { 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; }