#pragma once #include #ifdef __cplusplus extern "C" { #endif void fs_mount(void); void fs_unmount(void); /** * Öffnet eine Datei. * @param drv Zeiger auf den Treiber * @param path Pfad zur Datei * @param mode LV_FS_MODE_RD für Lesen, LV_FS_MODE_WR für Schreiben * @return Zeiger auf ein Datei-Objekt im Erfolgsfall, sonst NULL */ void *fs_open(lv_fs_drv_t *drv, const char *path, lv_fs_mode_t mode); /** * Schließt eine geöffnete Datei. * @param drv Zeiger auf den Treiber * @param file_p Zeiger auf das Datei-Objekt * @return LV_FS_RES_OK im Erfolgsfall, sonst Fehlercode */ lv_fs_res_t fs_close(lv_fs_drv_t *drv, void *file_p); /** * Liest Daten aus einer Datei. * @param drv Zeiger auf den Treiber * @param file_p Zeiger auf das Datei-Objekt * @param buf Puffer, in den die Daten gelesen werden * @param btr Anzahl der zu lesenden Bytes (Bytes to Read) * @param br Zeiger, in den die Anzahl der tatsächlich gelesenen Bytes geschrieben wird * @return LV_FS_RES_OK im Erfolgsfall, sonst Fehlercode */ lv_fs_res_t fs_read(lv_fs_drv_t *drv, void *file_p, void *buf, uint32_t btr, uint32_t *br); /** * Setzt den Lese-/Schreibzeiger in der Datei. * @param drv Zeiger auf den Treiber * @param file_p Zeiger auf das Datei-Objekt * @param pos Position, zu der gesprungen werden soll * @param whence Startpunkt: LV_FS_SEEK_SET (Anfang), LV_FS_SEEK_CUR (aktuell), LV_FS_SEEK_END (Ende) * @return LV_FS_RES_OK im Erfolgsfall, sonst Fehlercode */ lv_fs_res_t fs_seek(lv_fs_drv_t *drv, void *file_p, uint32_t pos, lv_fs_whence_t whence); /** * Gibt die aktuelle Position des Lese-/Schreibzeigers zurück. * @param drv Zeiger auf den Treiber * @param file_p Zeiger auf das Datei-Objekt * @param pos_p Zeiger, in den die aktuelle Position geschrieben wird * @return LV_FS_RES_OK im Erfolgsfall, sonst Fehlercode */ lv_fs_res_t fs_tell(lv_fs_drv_t *drv, void *file_p, uint32_t *pos_p); /******* */ void setup_fatfs(); #ifdef __cplusplus } // extern "C" #endif