From 68f25fa999de515695b2475f4fb14b0a986c5273 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Thu, 31 Jan 2019 13:24:02 +0100 Subject: [PATCH] add_lv_fs_is_ready() --- lv_misc/lv_fs.c | 14 ++++++++++++++ lv_misc/lv_fs.h | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/lv_misc/lv_fs.c b/lv_misc/lv_fs.c index 4a1832d0d..64edc1032 100644 --- a/lv_misc/lv_fs.c +++ b/lv_misc/lv_fs.c @@ -52,7 +52,21 @@ void lv_fs_init(void) lv_ll_init(&LV_GC_ROOT(_lv_drv_ll), sizeof(lv_fs_drv_t)); } +/** + * Test if a drive is rady or not. If the `ready` function was not initialized `true` will be returned. + * @param letter letter of the drive + * @return true: drive is ready; false: drive is not ready + */ +bool lv_fs_is_ready(char letter) +{ + lv_fs_drv_t * drv = lv_fs_get_drv(letter); + if(drv == NULL) return false; /*An unknown driver in not ready*/ + + if(drv->ready == NULL) return true; /*Assume the driver is always ready if no handler provided*/ + + return drv->ready(); +} /** * Open a file diff --git a/lv_misc/lv_fs.h b/lv_misc/lv_fs.h index 213cfaa45..d4e4e6a7b 100644 --- a/lv_misc/lv_fs.h +++ b/lv_misc/lv_fs.h @@ -113,6 +113,13 @@ void lv_fs_init(void); */ void lv_fs_add_drv(lv_fs_drv_t * drv_p); +/** + * Test if a drive is rady or not. If the `ready` function was not initialized `true` will be returned. + * @param letter letter of the drive + * @return true: drive is ready; false: drive is not ready + */ +bool lv_fs_is_ready(char letter); + /** * Open a file * @param file_p pointer to a lv_fs_file_t variable