diff --git a/src/omv/ff_wrapper.c b/src/omv/ff_wrapper.c index f37b4cfcc..5eb480f68 100644 --- a/src/omv/ff_wrapper.c +++ b/src/omv/ff_wrapper.c @@ -102,6 +102,14 @@ static uint8_t *file_buffer_pointer = 0; static uint32_t file_buffer_size = 0; static uint32_t file_buffer_index = 0; +void file_buffer_init0() +{ + file_buffer_offset = 0; + file_buffer_pointer = 0; + file_buffer_size = 0; + file_buffer_index = 0; +} + ALWAYS_INLINE static void file_fill(FIL *fp) { if (file_buffer_index == file_buffer_size) { diff --git a/src/omv/ff_wrapper.h b/src/omv/ff_wrapper.h index 129d9d42f..0521f5721 100644 --- a/src/omv/ff_wrapper.h +++ b/src/omv/ff_wrapper.h @@ -18,6 +18,8 @@ void file_read_open(FIL *fp, const char *path); void file_write_open(FIL *fp, const char *path); void file_close(FIL *fp); void file_seek(FIL *fp, UINT offset); +// File buffer functions. +void file_buffer_init0(); void file_buffer_on(FIL *fp); // does fb_alloc_all uint32_t file_tell_w_buf(FIL *fp); // valid between on and off uint32_t file_size_w_buf(FIL *fp); // valid between on and off diff --git a/src/omv/main.c b/src/omv/main.c index 1edec6eee..843c9388a 100644 --- a/src/omv/main.c +++ b/src/omv/main.c @@ -49,6 +49,7 @@ #include "usbdbg.h" #include "sdram.h" #include "fb_alloc.h" +#include "ff_wrapper.h" #include "irqs.h" #include "usbd_core.h" @@ -318,6 +319,7 @@ soft_reset: pyb_usb_init0(); sensor_init0(); fb_alloc_init0(); + file_buffer_init0(); py_lcd_init0(); py_fir_init0();