diff options
author | Andrew Hannam <Andrew Hannam> | 2016-05-27 10:29:49 +1000 |
---|---|---|
committer | Andrew Hannam <Andrew Hannam> | 2016-05-27 10:29:49 +1000 |
commit | f8dac95e93127685ca2d1031ddcda28250fe0bd0 (patch) | |
tree | 6c0130d1b69d5fc69b4aa2eaa5d1824043d385b7 | |
parent | 08c639ecf6e1726748ccc9c34b84c68e778ce0ac (diff) | |
download | uGFX-f8dac95e93127685ca2d1031ddcda28250fe0bd0.tar.gz uGFX-f8dac95e93127685ca2d1031ddcda28250fe0bd0.tar.bz2 uGFX-f8dac95e93127685ca2d1031ddcda28250fe0bd0.zip |
Add support for GFILE_PETITFS_EXTERNAL_LIB and GFILE_FATFS_EXTERNAL_LIB
-rw-r--r-- | docs/releases.txt | 1 | ||||
-rw-r--r-- | src/gfile/gfile_fatfs_diskio_chibios.c | 4 | ||||
-rw-r--r-- | src/gfile/gfile_fatfs_wrapper.c | 4 | ||||
-rw-r--r-- | src/gfile/gfile_options.h | 25 | ||||
-rw-r--r-- | src/gfile/gfile_petitfs_diskio_chibios.c | 4 | ||||
-rw-r--r-- | src/gfile/gfile_petitfs_wrapper.c | 4 |
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 |