MDX-20用の改造

Dependencies:   FatFileSystemCpp

Committer:
suupen
Date:
Wed Nov 23 09:12:30 2016 +0000
Revision:
4:dc14f62cb09f
Child:
5:0ee37dbafd9a
usbmemory???prn?????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 4:dc14f62cb09f 1 #include "mbed.h"
suupen 4:dc14f62cb09f 2 #include "MSCFileSystem.h"
suupen 4:dc14f62cb09f 3 //#include <stat.h>
suupen 4:dc14f62cb09f 4 #include "string.h"
suupen 4:dc14f62cb09f 5
suupen 4:dc14f62cb09f 6 /*
suupen 4:dc14f62cb09f 7 **************************************************************************************************************
suupen 4:dc14f62cb09f 8 * PRINT CONFIGURATION
suupen 4:dc14f62cb09f 9 **************************************************************************************************************
suupen 4:dc14f62cb09f 10 */
suupen 4:dc14f62cb09f 11
suupen 4:dc14f62cb09f 12 //#define DEBUG
suupen 4:dc14f62cb09f 13 #ifdef DEBUG
suupen 4:dc14f62cb09f 14 #define DEBUG_PRINT(...) printf(__VA_ARGS__)
suupen 4:dc14f62cb09f 15 #else
suupen 4:dc14f62cb09f 16 #define DEBUG_PRINT(...)
suupen 4:dc14f62cb09f 17 #endif // DEBUG
suupen 4:dc14f62cb09f 18
suupen 4:dc14f62cb09f 19
suupen 4:dc14f62cb09f 20 #define FSNAME "msc"
suupen 4:dc14f62cb09f 21 MSCFileSystem msc(FSNAME);
suupen 4:dc14f62cb09f 22 FILE *fp;
suupen 4:dc14f62cb09f 23
suupen 4:dc14f62cb09f 24
suupen 4:dc14f62cb09f 25
suupen 4:dc14f62cb09f 26 char fileName[20];
suupen 4:dc14f62cb09f 27 char buffer[50];
suupen 4:dc14f62cb09f 28
suupen 4:dc14f62cb09f 29 int32_t fileDetect(char *fileName, uint32_t *numberLine)
suupen 4:dc14f62cb09f 30 {
suupen 4:dc14f62cb09f 31 static uint32_t numMax = 0;
suupen 4:dc14f62cb09f 32 int32_t ans = false;
suupen 4:dc14f62cb09f 33
suupen 4:dc14f62cb09f 34 DIR *d;
suupen 4:dc14f62cb09f 35 struct dirent *p;
suupen 4:dc14f62cb09f 36
suupen 4:dc14f62cb09f 37 d = opendir("/" FSNAME);
suupen 4:dc14f62cb09f 38
suupen 4:dc14f62cb09f 39 // directory check
suupen 4:dc14f62cb09f 40 if ( d != NULL ) {
suupen 4:dc14f62cb09f 41 while ( (p = readdir(d)) != NULL ) {
suupen 4:dc14f62cb09f 42 if(NULL != strstr(p->d_name, ".prn")) {
suupen 4:dc14f62cb09f 43 strcpy(fileName, p->d_name);
suupen 4:dc14f62cb09f 44 DEBUG_PRINT("detect = %s\n",fileName);
suupen 4:dc14f62cb09f 45 ans = true;
suupen 4:dc14f62cb09f 46 continue;
suupen 4:dc14f62cb09f 47 }
suupen 4:dc14f62cb09f 48 }
suupen 4:dc14f62cb09f 49 // file check
suupen 4:dc14f62cb09f 50 if (ans == true) {
suupen 4:dc14f62cb09f 51 sprintf(buffer,"/msc/%s",fileName);
suupen 4:dc14f62cb09f 52 fp = fopen( buffer, "r");
suupen 4:dc14f62cb09f 53 if ( fp != NULL ) {
suupen 4:dc14f62cb09f 54 char buf[256];
suupen 4:dc14f62cb09f 55 while ( NULL != fgets(buf, sizeof(buf), fp) ) {
suupen 4:dc14f62cb09f 56 DEBUG_PRINT("%s", buf);
suupen 4:dc14f62cb09f 57 numMax++;
suupen 4:dc14f62cb09f 58 }
suupen 4:dc14f62cb09f 59 *numberLine = numMax;
suupen 4:dc14f62cb09f 60 fclose(fp);
suupen 4:dc14f62cb09f 61
suupen 4:dc14f62cb09f 62 } else {
suupen 4:dc14f62cb09f 63 // Don't file open
suupen 4:dc14f62cb09f 64 // nothing
suupen 4:dc14f62cb09f 65 }
suupen 4:dc14f62cb09f 66 } else {
suupen 4:dc14f62cb09f 67 // nothing Directory
suupen 4:dc14f62cb09f 68 }
suupen 4:dc14f62cb09f 69 }
suupen 4:dc14f62cb09f 70 return ans;
suupen 4:dc14f62cb09f 71
suupen 4:dc14f62cb09f 72 }
suupen 4:dc14f62cb09f 73
suupen 4:dc14f62cb09f 74 uint32_t fileOneLineRead(char *fileName, char *data, uint32_t dataNumber, uint32_t numberLine)
suupen 4:dc14f62cb09f 75 {
suupen 4:dc14f62cb09f 76 // static FILE *fp;
suupen 4:dc14f62cb09f 77 int32_t ans = false;
suupen 4:dc14f62cb09f 78 #define bufferNumber 100
suupen 4:dc14f62cb09f 79 char buffer[bufferNumber];
suupen 4:dc14f62cb09f 80
suupen 4:dc14f62cb09f 81 sprintf(buffer,"/msc/%s",fileName);
suupen 4:dc14f62cb09f 82
suupen 4:dc14f62cb09f 83 fp = fopen( buffer, "r");
suupen 4:dc14f62cb09f 84 if ( fp != NULL ) {
suupen 4:dc14f62cb09f 85 for(uint32_t i = 0; i < numberLine; i++){
suupen 4:dc14f62cb09f 86 fgets(buffer, sizeof(buffer), fp);
suupen 4:dc14f62cb09f 87 }
suupen 4:dc14f62cb09f 88
suupen 4:dc14f62cb09f 89 if(NULL != fgets(data, dataNumber, fp)){
suupen 4:dc14f62cb09f 90 DEBUG_PRINT("line = %s\r\n", data);
suupen 4:dc14f62cb09f 91 fclose(fp);
suupen 4:dc14f62cb09f 92 ans = true;
suupen 4:dc14f62cb09f 93 }
suupen 4:dc14f62cb09f 94 else{
suupen 4:dc14f62cb09f 95 // nothing
suupen 4:dc14f62cb09f 96 }
suupen 4:dc14f62cb09f 97 } else {
suupen 4:dc14f62cb09f 98 // Don't file open
suupen 4:dc14f62cb09f 99 // nothing
suupen 4:dc14f62cb09f 100 }
suupen 4:dc14f62cb09f 101
suupen 4:dc14f62cb09f 102 return ans;
suupen 4:dc14f62cb09f 103 }
suupen 4:dc14f62cb09f 104