Add support for a user provided file system.

release/v2.9
inmarket 2017-01-09 10:25:30 +10:00
parent 9216504ce3
commit c7cce84274
3 changed files with 24 additions and 0 deletions

View File

@ -4,6 +4,9 @@
*** Changes after 2.7 *** *** Changes after 2.7 ***
FEATURE: Added support for 128x32 SSD1306 based displays FEATURE: Added support for 128x32 SSD1306 based displays
FIX: Fixed recursion bug in console history
FIX: Multithreading issue with slow window redraws and large images
FIX: Ensure valid thread stack sizes on platforms where it matters
*** Release 2.7 *** *** Release 2.7 ***

View File

@ -16,6 +16,9 @@
* Virtual file-systems that have special open() calls do not need to * Virtual file-systems that have special open() calls do not need to
* be in this list. * be in this list.
*/ */
#if GFILE_NEED_USERFS
extern const GFILEVMT FsUSERVMT;
#endif
#if GFILE_NEED_ROMFS #if GFILE_NEED_ROMFS
extern const GFILEVMT FsROMVMT; extern const GFILEVMT FsROMVMT;
#endif #endif
@ -35,6 +38,9 @@
* that they are searched to find a file. * that they are searched to find a file.
*/ */
static const GFILEVMT const * FsArray[] = { static const GFILEVMT const * FsArray[] = {
#if GFILE_NEED_USERFS
&FsUSERVMT,
#endif
#if GFILE_NEED_ROMFS #if GFILE_NEED_ROMFS
&FsROMVMT, &FsROMVMT,
#endif #endif

View File

@ -75,6 +75,21 @@
#ifndef GFILE_NEED_STDIO #ifndef GFILE_NEED_STDIO
#define GFILE_NEED_STDIO FALSE #define GFILE_NEED_STDIO FALSE
#endif #endif
/**
* @brief Include the USER file system
* @details Defaults to FALSE
* @note The User FS vmt strcture 'FsUSERVMT' must be defined and implemented in the user's project.
* @note If GFILE_ALLOW_DEVICESPECIFIC is on then you can ensure that you are
* opening a file on the USER file system by prefixing
* its name with "U|" (the letter 'U', followed by a vertical bar).
* The letter 'U' as described above should be replaced by the actual
* device specifier letter in the user's FsUSERVMT structure. It is suggested
* that it is actually the letter 'U' that is used and it is important that the letter
* used is not one used by the other file systems.
*/
#ifndef GFILE_NEED_USERFS
#define GFILE_NEED_USERFS FALSE
#endif
/** /**
* @brief Include the ROM file system * @brief Include the ROM file system
* @details Defaults to FALSE * @details Defaults to FALSE