lv_fs.h
Typedefs
- 
typedef _lv_fs_res_t lv_fs_res_t
- 
typedef _lv_fs_mode_t lv_fs_mode_t
- 
typedef struct _lv_fs_drv_t lv_fs_drv_t
Enums
- 
enum _lv_fs_res_t
- Errors in the file system module. - Values: - 
enumerator LV_FS_RES_OK
 - 
enumerator LV_FS_RES_HW_ERR
 - 
enumerator LV_FS_RES_FS_ERR
 - 
enumerator LV_FS_RES_NOT_EX
 - 
enumerator LV_FS_RES_FULL
 - 
enumerator LV_FS_RES_LOCKED
 - 
enumerator LV_FS_RES_DENIED
 - 
enumerator LV_FS_RES_BUSY
 - 
enumerator LV_FS_RES_TOUT
 - 
enumerator LV_FS_RES_NOT_IMP
 - 
enumerator LV_FS_RES_OUT_OF_MEM
 - 
enumerator LV_FS_RES_INV_PARAM
 - 
enumerator LV_FS_RES_UNKNOWN
 
- 
enumerator LV_FS_RES_OK
Functions
- 
void _lv_fs_init(void)
- Initialize the File system interface 
- 
void lv_fs_drv_init(lv_fs_drv_t *drv)
- Initialize a file system driver with default values. It is used to ensure all fields have known values and not memory junk. After it you can set the fields. - Parameters:
- drv -- pointer to driver variable to initialize 
 
- 
void lv_fs_drv_register(lv_fs_drv_t *drv)
- Add a new drive - Parameters:
- drv -- pointer to an lv_fs_drv_t structure which is inited with the corresponding function pointers. Only pointer is saved, so the driver should be static or dynamically allocated. 
 
- 
lv_fs_drv_t *lv_fs_get_drv(char letter)
- Give a pointer to a driver from its letter - Parameters:
- letter -- the driver letter 
- Returns:
- pointer to a driver or NULL if not found 
 
- 
bool lv_fs_is_ready(char letter)
- Test if a drive is ready or not. If the - readyfunction was not initialized- truewill be returned.- Parameters:
- letter -- letter of the drive 
- Returns:
- true: drive is ready; false: drive is not ready 
 
- 
lv_fs_res_t lv_fs_open(lv_fs_file_t *file_p, const char *path, lv_fs_mode_t mode)
- Open a file - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- path -- path to the file beginning with the driver letter (e.g. S:/folder/file.txt) 
- mode -- read: FS_MODE_RD, write: FS_MODE_WR, both: FS_MODE_RD | FS_MODE_WR 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
void lv_fs_make_path_from_buffer(lv_fs_path_ex_t *path, char letter, const void *buf, uint32_t size)
- Make a path object for the memory-mapped file compatible with the file system interface - Parameters:
- path -- path to a lv_fs_path_ex object 
- letter -- the letter of the driver. E.g. - LV_FS_MEMFS_LETTER
- buf -- address of the memory buffer 
- size -- size of the memory buffer in bytes 
 
 
- 
lv_fs_res_t lv_fs_close(lv_fs_file_t *file_p)
- Close an already opened file - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_read(lv_fs_file_t *file_p, void *buf, uint32_t btr, uint32_t *br)
- Read from a file - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- buf -- pointer to a buffer where the read bytes are stored 
- btr -- Bytes To Read 
- br -- the number of real read bytes (Bytes Read). NULL if unused. 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_write(lv_fs_file_t *file_p, const void *buf, uint32_t btw, uint32_t *bw)
- Write into a file - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- buf -- pointer to a buffer with the bytes to write 
- btw -- Bytes To Write 
- bw -- the number of real written bytes (Bytes Written). NULL if unused. 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_seek(lv_fs_file_t *file_p, uint32_t pos, lv_fs_whence_t whence)
- Set the position of the 'cursor' (read write pointer) in a file - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- pos -- the new position expressed in bytes index (0: start of file) 
- whence -- tells from where set the position. See @lv_fs_whence_t 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_tell(lv_fs_file_t *file_p, uint32_t *pos)
- Give the position of the read write pointer - Parameters:
- file_p -- pointer to a lv_fs_file_t variable 
- pos -- pointer to store the position of the read write pointer 
 
- Returns:
- LV_FS_RES_OK or any error from 'fs_res_t' 
 
- 
lv_fs_res_t lv_fs_dir_open(lv_fs_dir_t *rddir_p, const char *path)
- Initialize a 'fs_dir_t' variable for directory reading - Parameters:
- rddir_p -- pointer to a 'lv_fs_dir_t' variable 
- path -- path to a directory 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_dir_read(lv_fs_dir_t *rddir_p, char *fn)
- Read the next filename form a directory. The name of the directories will begin with '/' - Parameters:
- rddir_p -- pointer to an initialized 'fs_dir_t' variable 
- fn -- pointer to a buffer to store the filename 
 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
lv_fs_res_t lv_fs_dir_close(lv_fs_dir_t *rddir_p)
- Close the directory reading - Parameters:
- rddir_p -- pointer to an initialized 'fs_dir_t' variable 
- Returns:
- LV_FS_RES_OK or any error from lv_fs_res_t enum 
 
- 
char *lv_fs_get_letters(char *buf)
- Fill a buffer with the letters of existing drivers - Parameters:
- buf -- buffer to store the letters ('\0' added after the last letter) 
- Returns:
- the buffer 
 
- 
const char *lv_fs_get_ext(const char *fn)
- Return with the extension of the filename - Parameters:
- fn -- string with a filename 
- Returns:
- pointer to the beginning extension or empty string if no extension 
 
- 
char *lv_fs_up(char *path)
- Step up one level - Parameters:
- path -- pointer to a file name 
- Returns:
- the truncated file name 
 
- 
const char *lv_fs_get_last(const char *path)
- Get the last element of a path (e.g. U:/folder/file -> file) - Parameters:
- path -- pointer to a file name 
- Returns:
- pointer to the beginning of the last element in the path 
 
- 
struct _lv_fs_drv_t
- Public Members - 
char letter
 - 
uint32_t cache_size
 - 
bool (*ready_cb)(struct _lv_fs_drv_t *drv)
 - 
void *(*open_cb)(struct _lv_fs_drv_t *drv, const char *path, lv_fs_mode_t mode)
 - 
lv_fs_res_t (*close_cb)(struct _lv_fs_drv_t *drv, void *file_p)
 - 
lv_fs_res_t (*read_cb)(struct _lv_fs_drv_t *drv, void *file_p, void *buf, uint32_t btr, uint32_t *br)
 - 
lv_fs_res_t (*write_cb)(struct _lv_fs_drv_t *drv, void *file_p, const void *buf, uint32_t btw, uint32_t *bw)
 - 
lv_fs_res_t (*seek_cb)(struct _lv_fs_drv_t *drv, void *file_p, uint32_t pos, lv_fs_whence_t whence)
 - 
lv_fs_res_t (*tell_cb)(struct _lv_fs_drv_t *drv, void *file_p, uint32_t *pos_p)
 - 
void *(*dir_open_cb)(struct _lv_fs_drv_t *drv, const char *path)
 - 
lv_fs_res_t (*dir_read_cb)(struct _lv_fs_drv_t *drv, void *rddir_p, char *fn)
 - 
lv_fs_res_t (*dir_close_cb)(struct _lv_fs_drv_t *drv, void *rddir_p)
 - 
void *user_data
- Custom file user data 
 
- 
char letter
- 
struct lv_fs_file_cache_t
- 
struct lv_fs_file_t
- 
struct lv_fs_path_ex_t
- 
struct lv_fs_dir_t