43 char fullFilePath[256];
44 strncpy(fullFilePath, DRIVE,
sizeof(fullFilePath));
45 strncat(fullFilePath, filePath,
_MIN(strlen(fullFilePath),
sizeof(fullFilePath)));
47 if (strncmp(mode,
"r", MAX_MODE_LEN) == 0)
51 else if (strncmp(mode,
"r+", MAX_MODE_LEN) == 0)
55 else if (strncmp(mode,
"w", MAX_MODE_LEN) == 0 ||
56 strncmp(mode,
"wb", MAX_MODE_LEN) == 0)
60 else if (strncmp(mode,
"w+", MAX_MODE_LEN) == 0 ||
61 (strncmp(mode,
"wb+", MAX_MODE_LEN) == 0))
65 else if (strncmp(mode,
"a", MAX_MODE_LEN) == 0)
74 else if (strncmp(mode,
"a+", MAX_MODE_LEN) == 0)
83 else if (strncmp(mode,
"wx", MAX_MODE_LEN) == 0)
87 else if (strncmp(mode,
"w+x", MAX_MODE_LEN) == 0)
157 return static_cast<int>(ch);
169 std::size_t bytes_written = 0;
174 g_indicateFsWriteMs = 50;
182 return bytes_written;
189 va_start(args, format);
190 result =
vprintf(format, args);
206 if (
f_read(&
m_file, buffer, bytesToRead, &bytesRead) ==
FR_OK && bytesRead == bytesToRead)
208 return static_cast<int>(buffer[0]);
215 std::size_t bytes_read = 0;
FRESULT f_write(FIL *fp, const void *buff, UINT btw, UINT *bw)
bool open(const char *filePath, const char *mode) OVERRIDE
FRESULT f_read(FIL *fp, void *buff, UINT btr, UINT *br)
int f_vprintf(FIL *, const TCHAR *, va_list arp)
int putch(char ch) OVERRIDE
std::size_t read(void *bytes, std::size_t len) OVERRIDE
FRESULT f_lseek(FIL *fp, DWORD ofs)
std::size_t write(const void *bytes, std::size_t len) OVERRIDE
int f_puts(const TCHAR *, FIL *)
CONST_EXPRESSION std::uint32_t SYNC_FREQ_MS
int puts(const char *str) OVERRIDE
FRESULT f_open(FIL *fp, const TCHAR *path, BYTE mode)
ROSCPP_DECL std::string append(const std::string &left, const std::string &right)
int vprintf(const char *format, va_list args) OVERRIDE
int lprintf(const char *format,...) OVERRIDE