FileReader
Wrapper for libDaisy's FileReader utility. Provides an abstraction for reading files from FatFS.
Usage: This utility wraps a FatFS FIL object and provides read/seek methods. Note that per/sdmmc already wraps FatFS f_read etc directly. This wrapper is provided for completeness with libDaisy API.
Example:
import nimphea_filereader import nimphea/per/sdmmc var file: FIL if f_open(addr file, "test.txt", FA_READ) == FR_OK: var reader = newFileReader(addr file) var buffer: array[64, uint8] let bytesRead = reader.read(addr buffer, buffer.len) discard f_close(addr file)
Types
FileReader {.importcpp: "daisy::FileReader", header: "util/FileReader.h".} = object
- Source Edit
Procs
proc newFileReader(f: ptr FIL): FileReader {.importcpp: "daisy::FileReader(@)", constructor, ...raises: [], tags: [], forbids: [].}
- Create a FileReader from an open FatFS file handle Source Edit
proc position(this: FileReader): uint32 {.importcpp: "#.position()", ...raises: [], tags: [], forbids: [].}
- Get current position. Source Edit
proc read(this: var FileReader; dst: pointer; bytes: csize_t): csize_t {. importcpp: "#.read(@)", ...raises: [], tags: [], forbids: [].}
- Read bytes from file. Returns actual bytes read. Source Edit
proc seek(this: var FileReader; pos: uint32): bool {.importcpp: "#.seek(@)", ...raises: [], tags: [], forbids: [].}
- Seek to absolute position. Returns true on success. Source Edit
proc size(this: FileReader): uint32 {.importcpp: "#.size()", ...raises: [], tags: [], forbids: [].}
- Get total file size. Source Edit