#include <storage_task.h>
Definition at line 6 of file storage_task.h.
◆ example()
Definition at line 21 of file storage_task.cpp.
23 display->
log((uint8_t *)
"Mounting the filesystem...");
25 int err =
fs.mount(
bd);
26 printf(
"%s\n", (err ?
"Fail :(" :
"OK"));
28 display->
log((uint8_t *)
"Could not mount SD card");
32 display->
log((uint8_t *)
"SD Card mounted successfully");
35 printf(
"Opening \"/fs/numbers.txt\"... ");
37 FILE *f = fopen(
"/fs/numbers.txt",
"r+");
38 printf(
"%s\n", (!f ?
"Fail :(" :
"OK"));
41 printf(
"No file found, creating a new file... ");
43 f = fopen(
"/fs/numbers.txt",
"w+");
44 printf(
"%s\n", (!f ?
"Fail :(" :
"OK"));
46 error(
"error: %s (%d)\n", strerror(errno), -errno);
49 for (
int i = 0; i < 10; i++) {
50 printf(
"\rWriting numbers (%d/%d)... ", i, 10);
52 err = fprintf(f,
" %d\n", i);
55 error(
"error: %s (%d)\n", strerror(errno), -errno);
58 printf(
"\rWriting numbers (%d/%d)... OK\n", 10, 10);
60 printf(
"Seeking file... ");
62 err = fseek(f, 0, SEEK_SET);
63 printf(
"%s\n", (err < 0 ?
"Fail :(" :
"OK"));
65 error(
"error: %s (%d)\n", strerror(errno), -errno);
70 for (
int i = 0; i < 10; i++) {
71 printf(
"\rIncrementing numbers (%d/%d)... ", i, 10);
80 error(
"error: %s (%d)\n", strerror(errno), -errno);
83 int32_t number = strtol(buf, &endptr, 10);
84 if ((errno == ERANGE) ||
86 (*endptr && *endptr !=
'\n')
93 fseek(f, pos, SEEK_SET);
96 fprintf(f,
" %d\n", number);
101 printf(
"\rIncrementing numbers (%d/%d)... OK\n", 10, 10);
104 printf(
"Closing \"/fs/numbers.txt\"... ");
107 printf(
"%s\n", (err < 0 ?
"Fail :(" :
"OK"));
109 error(
"error: %s (%d)\n", strerror(errno), -errno);
113 printf(
"Opening the root directory... ");
115 DIR *d = opendir(
"/fs/");
116 printf(
"%s\n", (!d ?
"Fail :(" :
"OK"));
118 error(
"error: %s (%d)\n", strerror(errno), -errno);
121 printf(
"Path: / \n");
124 struct dirent *e = readdir(d);
129 printf(
" %s\n", e->d_name);
131 std::string file_name = std::string(
" ");
132 file_name.append(e->d_name);
133 file_name.append(
"\n");
137 display->
log((uint8_t *)
"Closing the root directory");
140 printf(
"%s\n", (err < 0 ?
"Fail :(" :
"OK"));
142 error(
"error: %s (%d)\n", strerror(errno), -errno);
146 display->
log((uint8_t *)
"Opening /fs/numbers.txt");
148 f = fopen(
"/fs/numbers.txt",
"r");
152 error(
"error: %s (%d)\n", strerror(errno), -errno);
161 printf(
"\rClosing \"/fs/numbers.txt\"... ");
164 printf(
"%s\n", (err < 0 ?
"Fail :(" :
"OK"));
166 error(
"error: %s (%d)\n", strerror(errno), -errno);
170 printf(
"Unmounting... ");
173 printf(
"%s\n", (err < 0 ?
"Fail :(" :
"OK"));
175 error(
"error: %s (%d)\n", strerror(-err), err);
References bd, BUFFER_MAX_LEN, display, fs(), and UI::Display::log().
Referenced by main().
The documentation for this class was generated from the following files: