aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/releases.txt1
-rw-r--r--src/gfile/gfile_fatfs_diskio_chibios.c4
-rw-r--r--src/gfile/gfile_fatfs_wrapper.c4
-rw-r--r--src/gfile/gfile_options.h25
-rw-r--r--src/gfile/gfile_petitfs_diskio_chibios.c4
-rw-r--r--src/gfile/gfile_petitfs_wrapper.c4
6 files changed, 34 insertions, 8 deletions
diff --git a/docs/releases.txt b/docs/releases.txt
index ad94b60c..9468d73c 100644
--- a/docs/releases.txt
+++ b/docs/releases.txt
@@ -4,6 +4,7 @@
*** Changes after 2.5 ***
FIX: Fixing bug where the list item count wasn't decremented when an item was removed
+FEATURE: Add options GFILE_FATFS_EXTERNAL_LIB and GFILE_PETITFSFS_EXTERNAL_LIB
*** Release 2.5 ***
diff --git a/src/gfile/gfile_fatfs_diskio_chibios.c b/src/gfile/gfile_fatfs_diskio_chibios.c
index a2e5fbaf..f9a19264 100644
--- a/src/gfile/gfile_fatfs_diskio_chibios.c
+++ b/src/gfile/gfile_fatfs_diskio_chibios.c
@@ -7,7 +7,7 @@
#include "../../gfx.h"
-#if GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS
+#if GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS && !GFILE_FATFS_EXTERNAL_LIB
#include "gfile_fatfs_wrapper.h"
@@ -249,6 +249,6 @@ DWORD get_fattime(void) {
#endif
}
-#endif // GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS
+#endif // GFX_USE_GFILE && GFILE_NEED_FATFS && GFX_USE_OS_CHIBIOS && !GFILE_FATFS_EXTERNAL_LIB
diff --git a/src/gfile/gfile_fatfs_wrapper.c b/src/gfile/gfile_fatfs_wrapper.c
index 01f5d26b..ede644d6 100644
--- a/src/gfile/gfile_fatfs_wrapper.c
+++ b/src/gfile/gfile_fatfs_wrapper.c
@@ -7,7 +7,7 @@
#include "../../gfx.h"
-#if GFX_USE_GFILE && GFILE_NEED_FATFS
+#if GFX_USE_GFILE && GFILE_NEED_FATFS && !GFILE_FATFS_EXTERNAL_LIB
#include "gfile_fatfs_wrapper.h"
@@ -80,4 +80,4 @@
}
#endif /* _USE_LFN == 3 */
-#endif // GFX_USE_GFILE && GFILE_NEED_FATFS
+#endif // GFX_USE_GFILE && GFILE_NEED_FATFS && !GFILE_FATFS_EXTERNAL_LIB
diff --git a/src/gfile/gfile_options.h b/src/gfile/gfile_options.h
index 06781f38..ab23a1cb 100644
--- a/src/gfile/gfile_options.h
+++ b/src/gfile/gfile_options.h
@@ -201,6 +201,31 @@
#ifndef GFILE_MAX_GFILES
#define GFILE_MAX_GFILES 3
#endif
+ /**
+ * @brief TUse an external FATFS library instead of the uGFX inbuilt one
+ * @note This is applicable when GFILE_NEED_FATFS is specified. It allows
+ * the programmer to use their own FATFS implementation provided the
+ * api matches the fatfs-0.10b API.
+ * @note The users ffconf.h file still needs to be reachable when compiling uGFX.
+ * @note If ffconf.h contains _FS_REENTRANT as true then the user provided simpleton
+ * routines must be compatible with uGFX threading.
+ * @note If ffconf.h contains _USE_LFN == 3 then the user provided simpleton routines must
+ * be compatible with uGFX memory management.
+ */
+ #ifndef GFILE_FATFS_EXTERNAL_LIB
+ #define GFILE_FATFS_EXTERNAL_LIB FALSE
+ #endif
+ /**
+ * @brief TUse an external PETITFS library instead of the uGFX inbuilt one
+ * @note This is applicable when GFILE_NEED_PETITFS is specified. It allows
+ * the programmer to use their own FATFS implementation provided the
+ * api matches the petitfs-0.03 API.
+ * @note The users pffconf.h file still needs to be reachable when compiling uGFX.
+ */
+ #ifndef GFILE_PETITFS_EXTERNAL_LIB
+ #define GFILE_PETITFS_EXTERNAL_LIB FALSE
+ #endif
+
/** @} */
#endif /* _GFILE_OPTIONS_H */
diff --git a/src/gfile/gfile_petitfs_diskio_chibios.c b/src/gfile/gfile_petitfs_diskio_chibios.c
index 7708ac20..d313e695 100644
--- a/src/gfile/gfile_petitfs_diskio_chibios.c
+++ b/src/gfile/gfile_petitfs_diskio_chibios.c
@@ -7,7 +7,7 @@
#include "../../gfx.h"
-#if GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS
+#if GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS && !GFILE_PETITFS_EXTERNAL_LIB
#include "gfile_petitfs_wrapper.h"
@@ -77,6 +77,6 @@ DRESULT disk_readp (
return RES_OK;
}
-#endif // GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS
+#endif // GFX_USE_GFILE && GFILE_NEED_PETITFS && GFX_USE_OS_CHIBIOS && !GFILE_PETITFS_EXTERNAL_LIB
diff --git a/src/gfile/gfile_petitfs_wrapper.c b/src/gfile/gfile_petitfs_wrapper.c
index 2536a180..ea39d9f2 100644
--- a/src/gfile/gfile_petitfs_wrapper.c
+++ b/src/gfile/gfile_petitfs_wrapper.c
@@ -7,11 +7,11 @@
#include "../../gfx.h"
-#if GFX_USE_GFILE && GFILE_NEED_PETITFS
+#if GFX_USE_GFILE && GFILE_NEED_PETITFS && !GFILE_PETITFS_EXTERNAL_LIB
#include "gfile_petitfs_wrapper.h"
// Include the source we want
#include "../../3rdparty/petitfs-0.03/src/pff.c"
-#endif // GFX_USE_GFILE && GFILE_NEED_PETITFS
+#endif // GFX_USE_GFILE && GFILE_NEED_PETITFS && !GFILE_PETITFS_EXTERNAL_LIB