Pendrive to sd card data transfer coding
Dependencies: FatFileSystem TextLCD mbed
Fork of MSCUsbHost by
main.cpp@1:77e50c06ea01, 2015-04-16 (annotated)
- Committer:
- sathguru
- Date:
- Thu Apr 16 05:12:20 2015 +0000
- Revision:
- 1:77e50c06ea01
- Parent:
- 0:e6a539e59b52
Pendrive to sd card data transfer coding
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gbeardall | 0:e6a539e59b52 | 1 | #include "mbed.h" |
gbeardall | 0:e6a539e59b52 | 2 | #include "MSCFileSystem.h" |
gbeardall | 0:e6a539e59b52 | 3 | //#include <stat.h> |
sathguru | 1:77e50c06ea01 | 4 | DigitalInOut button1(p11); |
gbeardall | 0:e6a539e59b52 | 5 | |
sathguru | 1:77e50c06ea01 | 6 | DigitalInOut button2(p12); |
sathguru | 1:77e50c06ea01 | 7 | |
sathguru | 1:77e50c06ea01 | 8 | #include "TextLCD.h" |
sathguru | 1:77e50c06ea01 | 9 | |
gbeardall | 0:e6a539e59b52 | 10 | #define FSNAME "msc" |
gbeardall | 0:e6a539e59b52 | 11 | MSCFileSystem msc(FSNAME); |
sathguru | 1:77e50c06ea01 | 12 | #include "SDFileSystem.h" |
sathguru | 1:77e50c06ea01 | 13 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
gbeardall | 0:e6a539e59b52 | 14 | |
sathguru | 1:77e50c06ea01 | 15 | TextLCD lcd(p26, p25, p24, p23, p22, p21); // rs, e, d4-d7 |
sathguru | 1:77e50c06ea01 | 16 | int k; |
gbeardall | 0:e6a539e59b52 | 17 | int main() |
gbeardall | 0:e6a539e59b52 | 18 | { |
sathguru | 1:77e50c06ea01 | 19 | while(1) |
sathguru | 1:77e50c06ea01 | 20 | { |
sathguru | 1:77e50c06ea01 | 21 | |
sathguru | 1:77e50c06ea01 | 22 | |
sathguru | 1:77e50c06ea01 | 23 | |
sathguru | 1:77e50c06ea01 | 24 | |
sathguru | 1:77e50c06ea01 | 25 | button1 = 1; |
sathguru | 1:77e50c06ea01 | 26 | button2 = 1; |
sathguru | 1:77e50c06ea01 | 27 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 28 | lcd.printf("1.Pendrv 2 SD"); |
sathguru | 1:77e50c06ea01 | 29 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 30 | lcd.printf("2.SD 2 Pendrv"); |
sathguru | 1:77e50c06ea01 | 31 | wait(0.5); |
sathguru | 1:77e50c06ea01 | 32 | if(button1==0) |
sathguru | 1:77e50c06ea01 | 33 | { |
sathguru | 1:77e50c06ea01 | 34 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 35 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 36 | lcd.printf("1.Pendrv 2 SD"); |
sathguru | 1:77e50c06ea01 | 37 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 38 | lcd.printf(" Reading Files.."); |
sathguru | 1:77e50c06ea01 | 39 | wait(5); |
sathguru | 1:77e50c06ea01 | 40 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 41 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 42 | lcd.printf("1.test.docx"); |
sathguru | 1:77e50c06ea01 | 43 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 44 | lcd.printf("2.demo.txt"); |
sathguru | 1:77e50c06ea01 | 45 | wait(2); |
sathguru | 1:77e50c06ea01 | 46 | k=1; |
sathguru | 1:77e50c06ea01 | 47 | while(k) |
sathguru | 1:77e50c06ea01 | 48 | { |
sathguru | 1:77e50c06ea01 | 49 | |
sathguru | 1:77e50c06ea01 | 50 | |
sathguru | 1:77e50c06ea01 | 51 | |
sathguru | 1:77e50c06ea01 | 52 | //////////////////////////////Pendrive to SD Card///////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 53 | |
sathguru | 1:77e50c06ea01 | 54 | if(button1==0) |
sathguru | 1:77e50c06ea01 | 55 | { |
sathguru | 1:77e50c06ea01 | 56 | |
sathguru | 1:77e50c06ea01 | 57 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 58 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 59 | lcd.printf("1.demo.txt"); |
sathguru | 1:77e50c06ea01 | 60 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 61 | lcd.printf("Transfer2SDCard"); |
sathguru | 1:77e50c06ea01 | 62 | wait(7); |
sathguru | 1:77e50c06ea01 | 63 | /////////////////// |
gbeardall | 0:e6a539e59b52 | 64 | DIR *d; |
gbeardall | 0:e6a539e59b52 | 65 | struct dirent *p; |
gbeardall | 0:e6a539e59b52 | 66 | //struct stat st; |
gbeardall | 0:e6a539e59b52 | 67 | //char path[PATH_MAX]; |
sathguru | 1:77e50c06ea01 | 68 | |
gbeardall | 0:e6a539e59b52 | 69 | |
sathguru | 1:77e50c06ea01 | 70 | d = opendir("/" FSNAME); |
sathguru | 1:77e50c06ea01 | 71 | |
sathguru | 1:77e50c06ea01 | 72 | printf("\nList of files on the flash drive:\n"); |
sathguru | 1:77e50c06ea01 | 73 | if ( d != NULL ) |
sathguru | 1:77e50c06ea01 | 74 | { |
sathguru | 1:77e50c06ea01 | 75 | while ( (p = readdir(d)) != NULL ) |
sathguru | 1:77e50c06ea01 | 76 | { |
sathguru | 1:77e50c06ea01 | 77 | printf(" - %s\n", p->d_name); |
sathguru | 1:77e50c06ea01 | 78 | |
sathguru | 1:77e50c06ea01 | 79 | } |
sathguru | 1:77e50c06ea01 | 80 | } |
sathguru | 1:77e50c06ea01 | 81 | else |
sathguru | 1:77e50c06ea01 | 82 | { |
sathguru | 1:77e50c06ea01 | 83 | error("Could not open directory!"); |
sathguru | 1:77e50c06ea01 | 84 | } |
sathguru | 1:77e50c06ea01 | 85 | /*printf("\nTesting file write:\n"); |
sathguru | 1:77e50c06ea01 | 86 | FILE *fp1 = fopen( "/" FSNAME "/demo.txt", "w"); |
sathguru | 1:77e50c06ea01 | 87 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 88 | { |
sathguru | 1:77e50c06ea01 | 89 | error("Could not open file for write\n"); |
sathguru | 1:77e50c06ea01 | 90 | } |
sathguru | 1:77e50c06ea01 | 91 | fprintf(fp1, "Hello mass storage sathguru!"); |
sathguru | 1:77e50c06ea01 | 92 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 93 | printf("\n - OK\n"); |
sathguru | 1:77e50c06ea01 | 94 | */ |
sathguru | 1:77e50c06ea01 | 95 | printf("\nTesting file read:\n"); |
sathguru | 1:77e50c06ea01 | 96 | FILE *fp1 =fopen( "/" FSNAME "/demo.txt", "r"); |
sathguru | 1:77e50c06ea01 | 97 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 98 | { |
sathguru | 1:77e50c06ea01 | 99 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 100 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 101 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 102 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 103 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 104 | wait(2); |
sathguru | 1:77e50c06ea01 | 105 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 106 | } |
sathguru | 1:77e50c06ea01 | 107 | char buf[256]; |
sathguru | 1:77e50c06ea01 | 108 | if ( NULL == fgets(buf, sizeof(buf), fp1) ) |
sathguru | 1:77e50c06ea01 | 109 | { |
sathguru | 1:77e50c06ea01 | 110 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 111 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 112 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 113 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 114 | lcd.printf("Reading File "); |
sathguru | 1:77e50c06ea01 | 115 | wait(2); |
sathguru | 1:77e50c06ea01 | 116 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 117 | } |
sathguru | 1:77e50c06ea01 | 118 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 119 | printf("\n - OK, read string: '%s'\n\n", buf); |
sathguru | 1:77e50c06ea01 | 120 | |
sathguru | 1:77e50c06ea01 | 121 | ///////////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 122 | wait(0.5); |
sathguru | 1:77e50c06ea01 | 123 | mkdir("/sd/mydir", 0777); |
sathguru | 1:77e50c06ea01 | 124 | |
sathguru | 1:77e50c06ea01 | 125 | |
sathguru | 1:77e50c06ea01 | 126 | FILE *fp = fopen("/sd/mydir/demo.txt", "w"); |
sathguru | 1:77e50c06ea01 | 127 | if(fp == NULL) { |
sathguru | 1:77e50c06ea01 | 128 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 129 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 130 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 131 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 132 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 133 | wait(2); |
sathguru | 1:77e50c06ea01 | 134 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 135 | } |
sathguru | 1:77e50c06ea01 | 136 | fprintf(fp, buf); |
sathguru | 1:77e50c06ea01 | 137 | fclose(fp); |
sathguru | 1:77e50c06ea01 | 138 | |
sathguru | 1:77e50c06ea01 | 139 | printf(buf); |
sathguru | 1:77e50c06ea01 | 140 | k=0; |
sathguru | 1:77e50c06ea01 | 141 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 142 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 143 | lcd.printf("File "); |
sathguru | 1:77e50c06ea01 | 144 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 145 | lcd.printf(" Transferred "); |
sathguru | 1:77e50c06ea01 | 146 | wait(5); |
sathguru | 1:77e50c06ea01 | 147 | } |
sathguru | 1:77e50c06ea01 | 148 | |
sathguru | 1:77e50c06ea01 | 149 | else if(button2==0) |
sathguru | 1:77e50c06ea01 | 150 | { |
sathguru | 1:77e50c06ea01 | 151 | |
sathguru | 1:77e50c06ea01 | 152 | |
sathguru | 1:77e50c06ea01 | 153 | |
sathguru | 1:77e50c06ea01 | 154 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 155 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 156 | lcd.printf("2.test.doc"); |
sathguru | 1:77e50c06ea01 | 157 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 158 | lcd.printf("Transfer2SDCard"); |
sathguru | 1:77e50c06ea01 | 159 | wait(7); |
sathguru | 1:77e50c06ea01 | 160 | /////////////////// |
sathguru | 1:77e50c06ea01 | 161 | DIR *d; |
sathguru | 1:77e50c06ea01 | 162 | struct dirent *p; |
sathguru | 1:77e50c06ea01 | 163 | //struct stat st; |
sathguru | 1:77e50c06ea01 | 164 | //char path[PATH_MAX]; |
sathguru | 1:77e50c06ea01 | 165 | |
gbeardall | 0:e6a539e59b52 | 166 | |
gbeardall | 0:e6a539e59b52 | 167 | d = opendir("/" FSNAME); |
gbeardall | 0:e6a539e59b52 | 168 | |
gbeardall | 0:e6a539e59b52 | 169 | printf("\nList of files on the flash drive:\n"); |
gbeardall | 0:e6a539e59b52 | 170 | if ( d != NULL ) |
gbeardall | 0:e6a539e59b52 | 171 | { |
gbeardall | 0:e6a539e59b52 | 172 | while ( (p = readdir(d)) != NULL ) |
gbeardall | 0:e6a539e59b52 | 173 | { |
gbeardall | 0:e6a539e59b52 | 174 | printf(" - %s\n", p->d_name); |
sathguru | 1:77e50c06ea01 | 175 | |
sathguru | 1:77e50c06ea01 | 176 | } |
sathguru | 1:77e50c06ea01 | 177 | } |
sathguru | 1:77e50c06ea01 | 178 | else |
sathguru | 1:77e50c06ea01 | 179 | { |
sathguru | 1:77e50c06ea01 | 180 | error("Could not open directory!"); |
sathguru | 1:77e50c06ea01 | 181 | } |
sathguru | 1:77e50c06ea01 | 182 | /*printf("\nTesting file write:\n"); |
sathguru | 1:77e50c06ea01 | 183 | FILE *fp1 = fopen( "/" FSNAME "/demo.txt", "w"); |
sathguru | 1:77e50c06ea01 | 184 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 185 | { |
sathguru | 1:77e50c06ea01 | 186 | error("Could not open file for write\n"); |
sathguru | 1:77e50c06ea01 | 187 | } |
sathguru | 1:77e50c06ea01 | 188 | fprintf(fp1, "Hello mass storage sathguru!"); |
sathguru | 1:77e50c06ea01 | 189 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 190 | printf("\n - OK\n"); |
sathguru | 1:77e50c06ea01 | 191 | */ |
sathguru | 1:77e50c06ea01 | 192 | printf("\nTesting file read:\n"); |
sathguru | 1:77e50c06ea01 | 193 | FILE *fp1 =fopen( "/" FSNAME "/test.doc", "r"); |
sathguru | 1:77e50c06ea01 | 194 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 195 | { |
sathguru | 1:77e50c06ea01 | 196 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 197 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 198 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 199 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 200 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 201 | wait(2); |
sathguru | 1:77e50c06ea01 | 202 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 203 | } |
sathguru | 1:77e50c06ea01 | 204 | char buf[256]; |
sathguru | 1:77e50c06ea01 | 205 | if ( NULL == fgets(buf, sizeof(buf), fp1) ) |
sathguru | 1:77e50c06ea01 | 206 | { |
sathguru | 1:77e50c06ea01 | 207 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 208 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 209 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 210 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 211 | lcd.printf("Reading File "); |
sathguru | 1:77e50c06ea01 | 212 | wait(2); |
sathguru | 1:77e50c06ea01 | 213 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 214 | } |
sathguru | 1:77e50c06ea01 | 215 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 216 | printf("\n - OK, read string: '%s'\n\n", buf); |
sathguru | 1:77e50c06ea01 | 217 | |
sathguru | 1:77e50c06ea01 | 218 | ///////////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 219 | |
sathguru | 1:77e50c06ea01 | 220 | |
sathguru | 1:77e50c06ea01 | 221 | wait(0.5); |
sathguru | 1:77e50c06ea01 | 222 | mkdir("/sd/mydir", 0777); |
sathguru | 1:77e50c06ea01 | 223 | |
sathguru | 1:77e50c06ea01 | 224 | FILE *fp = fopen("/sd/mydir/test.doc", "w"); |
sathguru | 1:77e50c06ea01 | 225 | if(fp == NULL) { |
sathguru | 1:77e50c06ea01 | 226 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 227 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 228 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 229 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 230 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 231 | wait(2); |
sathguru | 1:77e50c06ea01 | 232 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 233 | } |
sathguru | 1:77e50c06ea01 | 234 | fprintf(fp, buf); |
sathguru | 1:77e50c06ea01 | 235 | fclose(fp); |
sathguru | 1:77e50c06ea01 | 236 | |
sathguru | 1:77e50c06ea01 | 237 | printf(buf); |
sathguru | 1:77e50c06ea01 | 238 | k=0; |
sathguru | 1:77e50c06ea01 | 239 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 240 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 241 | lcd.printf("File "); |
sathguru | 1:77e50c06ea01 | 242 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 243 | lcd.printf(" Transferred "); |
sathguru | 1:77e50c06ea01 | 244 | wait(5); |
sathguru | 1:77e50c06ea01 | 245 | } |
sathguru | 1:77e50c06ea01 | 246 | } |
sathguru | 1:77e50c06ea01 | 247 | |
sathguru | 1:77e50c06ea01 | 248 | } |
sathguru | 1:77e50c06ea01 | 249 | |
sathguru | 1:77e50c06ea01 | 250 | |
sathguru | 1:77e50c06ea01 | 251 | //////////////////////////////////////// SD card to Pendrive ///////////////////////////////// |
sathguru | 1:77e50c06ea01 | 252 | |
sathguru | 1:77e50c06ea01 | 253 | |
sathguru | 1:77e50c06ea01 | 254 | |
sathguru | 1:77e50c06ea01 | 255 | else if(button2==0) |
sathguru | 1:77e50c06ea01 | 256 | { |
sathguru | 1:77e50c06ea01 | 257 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 258 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 259 | lcd.printf("1.Pendrv2Pendrv"); |
sathguru | 1:77e50c06ea01 | 260 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 261 | lcd.printf(" Reading Files.."); |
sathguru | 1:77e50c06ea01 | 262 | wait(5); |
sathguru | 1:77e50c06ea01 | 263 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 264 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 265 | lcd.printf("1.blue.txt"); |
sathguru | 1:77e50c06ea01 | 266 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 267 | lcd.printf("2.check.txt"); |
sathguru | 1:77e50c06ea01 | 268 | wait(2); |
sathguru | 1:77e50c06ea01 | 269 | k=1; |
sathguru | 1:77e50c06ea01 | 270 | while(k) |
sathguru | 1:77e50c06ea01 | 271 | { |
sathguru | 1:77e50c06ea01 | 272 | |
sathguru | 1:77e50c06ea01 | 273 | |
sathguru | 1:77e50c06ea01 | 274 | |
sathguru | 1:77e50c06ea01 | 275 | //////////////////////////////Pendrive to SD Card///////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 276 | |
sathguru | 1:77e50c06ea01 | 277 | if(button1==0) |
sathguru | 1:77e50c06ea01 | 278 | { |
sathguru | 1:77e50c06ea01 | 279 | |
sathguru | 1:77e50c06ea01 | 280 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 281 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 282 | lcd.printf("1.blue.txt"); |
sathguru | 1:77e50c06ea01 | 283 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 284 | lcd.printf("Transfer2Pendrv"); |
sathguru | 1:77e50c06ea01 | 285 | wait(7); |
sathguru | 1:77e50c06ea01 | 286 | /////////////////// |
sathguru | 1:77e50c06ea01 | 287 | DIR *d; |
sathguru | 1:77e50c06ea01 | 288 | struct dirent *p; |
sathguru | 1:77e50c06ea01 | 289 | //struct stat st; |
sathguru | 1:77e50c06ea01 | 290 | //char path[PATH_MAX]; |
sathguru | 1:77e50c06ea01 | 291 | |
sathguru | 1:77e50c06ea01 | 292 | |
sathguru | 1:77e50c06ea01 | 293 | d = opendir("/" FSNAME); |
sathguru | 1:77e50c06ea01 | 294 | |
sathguru | 1:77e50c06ea01 | 295 | printf("\nList of files on the flash drive:\n"); |
sathguru | 1:77e50c06ea01 | 296 | if ( d != NULL ) |
sathguru | 1:77e50c06ea01 | 297 | { |
sathguru | 1:77e50c06ea01 | 298 | while ( (p = readdir(d)) != NULL ) |
sathguru | 1:77e50c06ea01 | 299 | { |
sathguru | 1:77e50c06ea01 | 300 | printf(" - %s\n", p->d_name); |
sathguru | 1:77e50c06ea01 | 301 | |
gbeardall | 0:e6a539e59b52 | 302 | } |
gbeardall | 0:e6a539e59b52 | 303 | } |
gbeardall | 0:e6a539e59b52 | 304 | else |
gbeardall | 0:e6a539e59b52 | 305 | { |
gbeardall | 0:e6a539e59b52 | 306 | error("Could not open directory!"); |
gbeardall | 0:e6a539e59b52 | 307 | } |
sathguru | 1:77e50c06ea01 | 308 | |
sathguru | 1:77e50c06ea01 | 309 | mkdir("/sd/mydir", 0777); |
sathguru | 1:77e50c06ea01 | 310 | |
sathguru | 1:77e50c06ea01 | 311 | |
sathguru | 1:77e50c06ea01 | 312 | FILE *fp = fopen("/sd/mydir/blue.txt", "r"); |
sathguru | 1:77e50c06ea01 | 313 | if(fp == NULL) { |
sathguru | 1:77e50c06ea01 | 314 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 315 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 316 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 317 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 318 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 319 | wait(2); |
sathguru | 1:77e50c06ea01 | 320 | lcd.cls(); |
gbeardall | 0:e6a539e59b52 | 321 | } |
sathguru | 1:77e50c06ea01 | 322 | char buf[256]; |
gbeardall | 0:e6a539e59b52 | 323 | if ( NULL == fgets(buf, sizeof(buf), fp) ) |
gbeardall | 0:e6a539e59b52 | 324 | { |
sathguru | 1:77e50c06ea01 | 325 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 326 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 327 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 328 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 329 | lcd.printf("Reading File "); |
sathguru | 1:77e50c06ea01 | 330 | wait(2); |
sathguru | 1:77e50c06ea01 | 331 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 332 | } |
sathguru | 1:77e50c06ea01 | 333 | fprintf(fp, buf); |
gbeardall | 0:e6a539e59b52 | 334 | fclose(fp); |
sathguru | 1:77e50c06ea01 | 335 | |
sathguru | 1:77e50c06ea01 | 336 | printf(buf); |
sathguru | 1:77e50c06ea01 | 337 | |
sathguru | 1:77e50c06ea01 | 338 | |
sathguru | 1:77e50c06ea01 | 339 | |
sathguru | 1:77e50c06ea01 | 340 | printf("\nTesting file write:\n"); |
sathguru | 1:77e50c06ea01 | 341 | FILE *fp1 = fopen( "/" FSNAME "/blue.txt", "w"); |
sathguru | 1:77e50c06ea01 | 342 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 343 | { |
sathguru | 1:77e50c06ea01 | 344 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 345 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 346 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 347 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 348 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 349 | wait(2); |
sathguru | 1:77e50c06ea01 | 350 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 351 | } |
sathguru | 1:77e50c06ea01 | 352 | fprintf(fp1,buf); |
sathguru | 1:77e50c06ea01 | 353 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 354 | |
sathguru | 1:77e50c06ea01 | 355 | |
sathguru | 1:77e50c06ea01 | 356 | |
sathguru | 1:77e50c06ea01 | 357 | ///////////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 358 | wait(0.5); |
sathguru | 1:77e50c06ea01 | 359 | |
sathguru | 1:77e50c06ea01 | 360 | k=0; |
sathguru | 1:77e50c06ea01 | 361 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 362 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 363 | lcd.printf("File "); |
sathguru | 1:77e50c06ea01 | 364 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 365 | lcd.printf(" Transferred "); |
sathguru | 1:77e50c06ea01 | 366 | wait(5); |
sathguru | 1:77e50c06ea01 | 367 | } |
sathguru | 1:77e50c06ea01 | 368 | |
sathguru | 1:77e50c06ea01 | 369 | else if(button2==0) |
sathguru | 1:77e50c06ea01 | 370 | { |
sathguru | 1:77e50c06ea01 | 371 | |
sathguru | 1:77e50c06ea01 | 372 | |
sathguru | 1:77e50c06ea01 | 373 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 374 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 375 | lcd.printf("1.check.txt"); |
sathguru | 1:77e50c06ea01 | 376 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 377 | lcd.printf("Transfer2Pendrv"); |
sathguru | 1:77e50c06ea01 | 378 | wait(7); |
sathguru | 1:77e50c06ea01 | 379 | /////////////////// |
sathguru | 1:77e50c06ea01 | 380 | DIR *d; |
sathguru | 1:77e50c06ea01 | 381 | struct dirent *p; |
sathguru | 1:77e50c06ea01 | 382 | //struct stat st; |
sathguru | 1:77e50c06ea01 | 383 | //char path[PATH_MAX]; |
sathguru | 1:77e50c06ea01 | 384 | |
sathguru | 1:77e50c06ea01 | 385 | |
sathguru | 1:77e50c06ea01 | 386 | d = opendir("/" FSNAME); |
sathguru | 1:77e50c06ea01 | 387 | |
sathguru | 1:77e50c06ea01 | 388 | printf("\nList of files on the flash drive:\n"); |
sathguru | 1:77e50c06ea01 | 389 | if ( d != NULL ) |
sathguru | 1:77e50c06ea01 | 390 | { |
sathguru | 1:77e50c06ea01 | 391 | while ( (p = readdir(d)) != NULL ) |
sathguru | 1:77e50c06ea01 | 392 | { |
sathguru | 1:77e50c06ea01 | 393 | printf(" - %s\n", p->d_name); |
sathguru | 1:77e50c06ea01 | 394 | |
sathguru | 1:77e50c06ea01 | 395 | } |
sathguru | 1:77e50c06ea01 | 396 | } |
sathguru | 1:77e50c06ea01 | 397 | else |
sathguru | 1:77e50c06ea01 | 398 | { |
sathguru | 1:77e50c06ea01 | 399 | error("Could not open directory!"); |
sathguru | 1:77e50c06ea01 | 400 | } |
sathguru | 1:77e50c06ea01 | 401 | |
sathguru | 1:77e50c06ea01 | 402 | mkdir("/sd/mydir", 0777); |
sathguru | 1:77e50c06ea01 | 403 | |
sathguru | 1:77e50c06ea01 | 404 | |
sathguru | 1:77e50c06ea01 | 405 | FILE *fp = fopen("/sd/mydir/check.txt", "r"); |
sathguru | 1:77e50c06ea01 | 406 | if(fp == NULL) { |
sathguru | 1:77e50c06ea01 | 407 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 408 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 409 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 410 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 411 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 412 | wait(2); |
sathguru | 1:77e50c06ea01 | 413 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 414 | } |
sathguru | 1:77e50c06ea01 | 415 | char buf[256]; |
sathguru | 1:77e50c06ea01 | 416 | if ( NULL == fgets(buf, sizeof(buf), fp) ) |
sathguru | 1:77e50c06ea01 | 417 | { |
sathguru | 1:77e50c06ea01 | 418 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 419 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 420 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 421 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 422 | lcd.printf("Reading File "); |
sathguru | 1:77e50c06ea01 | 423 | wait(2); |
sathguru | 1:77e50c06ea01 | 424 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 425 | } |
sathguru | 1:77e50c06ea01 | 426 | fprintf(fp,buf); |
sathguru | 1:77e50c06ea01 | 427 | fclose(fp); |
sathguru | 1:77e50c06ea01 | 428 | |
sathguru | 1:77e50c06ea01 | 429 | printf(buf); |
sathguru | 1:77e50c06ea01 | 430 | |
sathguru | 1:77e50c06ea01 | 431 | |
sathguru | 1:77e50c06ea01 | 432 | |
sathguru | 1:77e50c06ea01 | 433 | printf("\nTesting file write:\n"); |
sathguru | 1:77e50c06ea01 | 434 | FILE *fp1 = fopen( "/" FSNAME "/check.txt", "w"); |
sathguru | 1:77e50c06ea01 | 435 | if ( fp1 == NULL ) |
sathguru | 1:77e50c06ea01 | 436 | { |
sathguru | 1:77e50c06ea01 | 437 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 438 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 439 | lcd.printf("Error in "); |
sathguru | 1:77e50c06ea01 | 440 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 441 | lcd.printf("Opening File "); |
sathguru | 1:77e50c06ea01 | 442 | wait(2); |
sathguru | 1:77e50c06ea01 | 443 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 444 | } |
sathguru | 1:77e50c06ea01 | 445 | fprintf(fp1,buf); |
sathguru | 1:77e50c06ea01 | 446 | fclose(fp1); |
sathguru | 1:77e50c06ea01 | 447 | |
sathguru | 1:77e50c06ea01 | 448 | |
sathguru | 1:77e50c06ea01 | 449 | |
sathguru | 1:77e50c06ea01 | 450 | ///////////////////////////////////////////////////////////// |
sathguru | 1:77e50c06ea01 | 451 | wait(0.5); |
sathguru | 1:77e50c06ea01 | 452 | |
sathguru | 1:77e50c06ea01 | 453 | k=0; |
sathguru | 1:77e50c06ea01 | 454 | lcd.cls(); |
sathguru | 1:77e50c06ea01 | 455 | lcd.locate(0,0); |
sathguru | 1:77e50c06ea01 | 456 | lcd.printf("File "); |
sathguru | 1:77e50c06ea01 | 457 | lcd.locate(0,1); |
sathguru | 1:77e50c06ea01 | 458 | lcd.printf(" Transferred "); |
sathguru | 1:77e50c06ea01 | 459 | wait(5); |
sathguru | 1:77e50c06ea01 | 460 | } |
sathguru | 1:77e50c06ea01 | 461 | |
sathguru | 1:77e50c06ea01 | 462 | } |
sathguru | 1:77e50c06ea01 | 463 | |
sathguru | 1:77e50c06ea01 | 464 | |
sathguru | 1:77e50c06ea01 | 465 | } |
sathguru | 1:77e50c06ea01 | 466 | } |
sathguru | 1:77e50c06ea01 | 467 | } |
sathguru | 1:77e50c06ea01 | 468 |