summaryrefslogtreecommitdiffstats
path: root/firmware/export/fat.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/fat.h')
-rw-r--r--firmware/export/fat.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/firmware/export/fat.h b/firmware/export/fat.h
index 2680fdf751..93b60e6dc0 100644
--- a/firmware/export/fat.h
+++ b/firmware/export/fat.h
@@ -73,13 +73,19 @@ struct fat_file
#endif
};
+#define FAT_DIR_BUFSECTORS 2 /* Needs to be an even number, at least 2 */
+#define FAT_DIR_BUFSIZE (SECTOR_SIZE*FAT_DIR_BUFSECTORS)
+
struct fat_dir
{
unsigned int entry;
unsigned int entrycount;
long sector;
struct fat_file file;
- unsigned char sectorcache[3][SECTOR_SIZE];
+ /* The buffer needs to be at least 3 sectors, so we make it 2*2 and
+ alternate between them */
+ unsigned char sectorcache[2][FAT_DIR_BUFSIZE];
+ unsigned int bufindex; /* Which buffer to be loaded next */
};