From f3f1c01d5712ff6dc7a8f1a99a28ebbca3589ce6 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Wed, 13 Jul 2011 00:22:18 +0200 Subject: [PATCH] Add f_get_rc_string to get result code strings. Probably only use for debugging --- firmware/filesystem/Makefile | 1 + firmware/filesystem/ff.h | 3 +++ firmware/filesystem/util.c | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 firmware/filesystem/util.c diff --git a/firmware/filesystem/Makefile b/firmware/filesystem/Makefile index d35cdb3..75506ca 100644 --- a/firmware/filesystem/Makefile +++ b/firmware/filesystem/Makefile @@ -9,6 +9,7 @@ OBJS += diskio.o OBJS += iobase.o OBJS += mmc.o OBJS += at45db041d.o +OBJS += util.o LIBNAME=fat diff --git a/firmware/filesystem/ff.h b/firmware/filesystem/ff.h index 251d261..9a5eb20 100644 --- a/firmware/filesystem/ff.h +++ b/firmware/filesystem/ff.h @@ -328,6 +328,9 @@ int ff_del_syncobj (_SYNC_t); /* Delete a sync object */ #define ST_DWORD(ptr,val) *(BYTE*)(ptr)=(BYTE)(val); *((BYTE*)(ptr)+1)=(BYTE)((WORD)(val)>>8); *((BYTE*)(ptr)+2)=(BYTE)((DWORD)(val)>>16); *((BYTE*)(ptr)+3)=(BYTE)((DWORD)(val)>>24) #endif +/* Utility functions */ +const char* f_get_rc_string (FRESULT rc); + #ifdef __cplusplus } #endif diff --git a/firmware/filesystem/util.c b/firmware/filesystem/util.c new file mode 100644 index 0000000..f183b1a --- /dev/null +++ b/firmware/filesystem/util.c @@ -0,0 +1,18 @@ +#include + +const TCHAR *rcstrings = + _T("OK\0DISK_ERR\0INT_ERR\0NOT_READY\0NO_FILE\0NO_PATH\0INVALID_NAME\0") + _T("DENIED\0EXIST\0INVALID_OBJECT\0WRITE_PROTECTED\0INVALID_DRIVE\0") + _T("NOT_ENABLED\0NO_FILE_SYSTEM\0MKFS_ABORTED\0TIMEOUT\0LOCKED\0") + _T("NOT_ENOUGH_CORE\0TOO_MANY_OPEN_FILES\0"); + +const char* f_get_rc_string (FRESULT rc) { + FRESULT i; + const char *p=rcstrings; + + for (i = 0; i != rc && *p; i++) { + while(*p++) ; + } + return p; +} +