MDX-20用の改造
Dependencies: FatFileSystemCpp
Diff: usbMemory.cpp
- Revision:
- 6:d407fe3e0c97
- Parent:
- 5:0ee37dbafd9a
- Child:
- 7:a6b950d25e29
--- a/usbMemory.cpp Sat Dec 03 10:54:57 2016 +0000 +++ b/usbMemory.cpp Sat Dec 03 13:21:35 2016 +0000 @@ -30,9 +30,44 @@ void usbMemoryInitialize(void) { msc.disk_initialize(); - } +} + +/** File check + * @para fileNumber : This number get filename 0,1:first 2: second ... + * @para *fileName : get filename + * @para *fileNumberMax : .prn file number + * @return + * false: non file true: file exists + */ +int32_t fileDetect(int32_t fileNumber, char *fileName, int32_t *fileNumberMax) +{ + uint32_t numMax = 0; + int32_t ans = false; + + DIR *d; + struct dirent *p; + + d = opendir("/" FSNAME); -int32_t fileDetect(char *fileName, uint32_t *numberLine) + // directory check + if ( d != NULL ) { + while ( (p = readdir(d)) != NULL ) { + if(NULL != strstr(p->d_name, ".prn")) { + numMax++; + if(numMax == fileNumber) { + strcpy(fileName, p->d_name); + } + DEBUG_PRINT("detect = %s\n",fileName); + ans = true; + } + } + *fileNumberMax = numMax; + } + return ans; +} + + +int32_t fileSelect( char *fileName, uint32_t *numberLine) { uint32_t numMax = 0; int32_t ans = false; @@ -66,14 +101,14 @@ fclose(fp); } else { - // Don't file open + // Don't file open // nothing } } else { // nothing Directory } } - return ans; + return ans; } @@ -81,29 +116,28 @@ { // static FILE *fp; int32_t ans = false; - #define bufferNumber 100 +#define bufferNumber 100 char buffer[bufferNumber]; - - sprintf(buffer,"/msc/%s",fileName); + + 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); + } - 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 - } + 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; }