
MemFilesystem_test
Dependencies: SDFileSystem mbed
main.cpp@0:f1015c4245f6, 2015-04-01 (annotated)
- Committer:
- mzta
- Date:
- Wed Apr 01 16:33:30 2015 +0000
- Revision:
- 0:f1015c4245f6
- Child:
- 1:48383762a1ff
MemFileSystem test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mzta | 0:f1015c4245f6 | 1 | #include "mbed.h" |
mzta | 0:f1015c4245f6 | 2 | #include "MemFileSystem.h" |
mzta | 0:f1015c4245f6 | 3 | #include "SDFileSystem.h" |
mzta | 0:f1015c4245f6 | 4 | |
mzta | 0:f1015c4245f6 | 5 | SDFileSystem sd(P8_5, P8_6, P8_3, P8_4, "sd"); |
mzta | 0:f1015c4245f6 | 6 | |
mzta | 0:f1015c4245f6 | 7 | namespace { |
mzta | 0:f1015c4245f6 | 8 | const char *mem_file_path = "/ram/out.txt"; |
mzta | 0:f1015c4245f6 | 9 | const char *sd_file_path = "/sd/fatdump"; |
mzta | 0:f1015c4245f6 | 10 | const int DATA_SIZE = 10 * 1024; |
mzta | 0:f1015c4245f6 | 11 | } |
mzta | 0:f1015c4245f6 | 12 | |
mzta | 0:f1015c4245f6 | 13 | int main() |
mzta | 0:f1015c4245f6 | 14 | { |
mzta | 0:f1015c4245f6 | 15 | uint8_t data_written[DATA_SIZE] = { 0 }; |
mzta | 0:f1015c4245f6 | 16 | bool result = true; |
mzta | 0:f1015c4245f6 | 17 | |
mzta | 0:f1015c4245f6 | 18 | MemFileSystem *ramfs1 = new MemFileSystem("ram"); |
mzta | 0:f1015c4245f6 | 19 | ramfs1->format(); |
mzta | 0:f1015c4245f6 | 20 | { |
mzta | 0:f1015c4245f6 | 21 | FILE *f = fopen(mem_file_path, "w"); |
mzta | 0:f1015c4245f6 | 22 | |
mzta | 0:f1015c4245f6 | 23 | printf("Mem: Writing ... "); |
mzta | 0:f1015c4245f6 | 24 | for (int i = 0; i < DATA_SIZE; i++) { |
mzta | 0:f1015c4245f6 | 25 | data_written[i] = rand() % 0XFF; |
mzta | 0:f1015c4245f6 | 26 | fprintf(f, "%c", data_written[i]); |
mzta | 0:f1015c4245f6 | 27 | } |
mzta | 0:f1015c4245f6 | 28 | printf("[OK]\r\n"); |
mzta | 0:f1015c4245f6 | 29 | fclose(f); |
mzta | 0:f1015c4245f6 | 30 | } |
mzta | 0:f1015c4245f6 | 31 | |
mzta | 0:f1015c4245f6 | 32 | { |
mzta | 0:f1015c4245f6 | 33 | FILE *f = fopen(mem_file_path, "r"); |
mzta | 0:f1015c4245f6 | 34 | printf("Mem: Reading data ... "); |
mzta | 0:f1015c4245f6 | 35 | for (int i = 0; i < DATA_SIZE; i++) { |
mzta | 0:f1015c4245f6 | 36 | uint8_t data = fgetc(f); |
mzta | 0:f1015c4245f6 | 37 | if (data != data_written[i]) { |
mzta | 0:f1015c4245f6 | 38 | result = false; |
mzta | 0:f1015c4245f6 | 39 | break; |
mzta | 0:f1015c4245f6 | 40 | } |
mzta | 0:f1015c4245f6 | 41 | } |
mzta | 0:f1015c4245f6 | 42 | printf("[%s]\r\n", result ? "OK" : "FAIL"); |
mzta | 0:f1015c4245f6 | 43 | fclose(f); |
mzta | 0:f1015c4245f6 | 44 | } |
mzta | 0:f1015c4245f6 | 45 | |
mzta | 0:f1015c4245f6 | 46 | { |
mzta | 0:f1015c4245f6 | 47 | FILE *f = fopen(sd_file_path, "w"); |
mzta | 0:f1015c4245f6 | 48 | printf("Dump from MemFs to SDFs ... "); |
mzta | 0:f1015c4245f6 | 49 | ramfs1->dump(f); |
mzta | 0:f1015c4245f6 | 50 | printf("[OK]\r\n"); |
mzta | 0:f1015c4245f6 | 51 | fclose(f); |
mzta | 0:f1015c4245f6 | 52 | } |
mzta | 0:f1015c4245f6 | 53 | |
mzta | 0:f1015c4245f6 | 54 | delete ramfs1; |
mzta | 0:f1015c4245f6 | 55 | MemFileSystem *ramfs2 = new MemFileSystem("ram"); |
mzta | 0:f1015c4245f6 | 56 | |
mzta | 0:f1015c4245f6 | 57 | { |
mzta | 0:f1015c4245f6 | 58 | FILE *f = fopen(sd_file_path, "r"); |
mzta | 0:f1015c4245f6 | 59 | printf("Load from SDFs to MemFs ... "); |
mzta | 0:f1015c4245f6 | 60 | ramfs2->load(f); |
mzta | 0:f1015c4245f6 | 61 | printf("[OK]\r\n"); |
mzta | 0:f1015c4245f6 | 62 | fclose(f); |
mzta | 0:f1015c4245f6 | 63 | } |
mzta | 0:f1015c4245f6 | 64 | |
mzta | 0:f1015c4245f6 | 65 | { |
mzta | 0:f1015c4245f6 | 66 | FILE *f = fopen(mem_file_path, "r"); |
mzta | 0:f1015c4245f6 | 67 | printf("Mem: Reading data ... "); |
mzta | 0:f1015c4245f6 | 68 | for (int i = 0; i < DATA_SIZE; i++) { |
mzta | 0:f1015c4245f6 | 69 | uint8_t data = fgetc(f); |
mzta | 0:f1015c4245f6 | 70 | if (data != data_written[i]) { |
mzta | 0:f1015c4245f6 | 71 | result = false; |
mzta | 0:f1015c4245f6 | 72 | break; |
mzta | 0:f1015c4245f6 | 73 | } |
mzta | 0:f1015c4245f6 | 74 | } |
mzta | 0:f1015c4245f6 | 75 | printf("[%s]\r\n", result ? "OK" : "FAIL"); |
mzta | 0:f1015c4245f6 | 76 | fclose(f); |
mzta | 0:f1015c4245f6 | 77 | } |
mzta | 0:f1015c4245f6 | 78 | } |