COSA
An Object-Oriented Platform for Arduino Programming
|
#include <CFFS.hh>
Public Member Functions | |
File () | |
int | open (const char *filename, uint8_t oflag=O_READ) |
bool | is_open (void) const |
int | remove () |
int | close () |
int | seek (uint32_t pos, uint8_t whence=SEEK_SET) |
uint32_t | tell () |
int | rewind () |
uint32_t | size () |
virtual int | write (const void *buf, size_t size) |
virtual int | write_P (const void *buf, size_t size) |
virtual int | getchar () |
virtual int | read (void *buf, size_t size) |
void | non_blocking () |
void | blocking () |
bool | is_blocking () const |
void | eol (Mode mode) |
Mode | eol () const |
virtual int | available () |
virtual int | room () |
virtual int | putchar (char c) |
virtual int | puts (const char *s) |
virtual int | puts (str_P s) |
virtual int | write (const iovec_t *vec) |
virtual int | peekchar () |
virtual int | peekchar (char c) |
virtual char * | gets (char *s, size_t count) |
virtual int | read (iovec_t *vec) |
virtual int | flush () |
virtual void | empty () |
Protected Member Functions | |
int | write (const void *buf, size_t size, bool progmem) |
Protected Attributes | |
uint8_t | m_flags |
File open flags. More... | |
uint32_t | m_entry_addr |
Entry address. More... | |
CFFS::descr_t | m_entry |
Cached directory entry. More... | |
CFFS::descr_t | m_sector |
Cached sector header. More... | |
uint32_t | m_file_size |
File size. More... | |
uint32_t | m_current_addr |
Current flash address. More... | |
uint32_t | m_current_pos |
Current logical position. More... | |
bool | m_blocking |
Mode | m_eol |
Flash File access class. Support for directories, hard links, text and binary files. The end of the file is not store in the directory entry, instead it is located when the file is opened. This is done by searching for the first non-0xff value from the end of the last file sector. Text files may not use the value (0xff). Binary files must end each entry with non-0xff entry. Write should always be in append mode as the file cannot be rewritten with any value.
|
inline |
|
virtualinherited |
Number of bytes available (possible to read).
Reimplemented in W5200::Driver, W5500::Driver, W5100::Driver, Soft::UART, UART, IOBuffer< SIZE >, and CC3000::Driver.
Definition at line 24 of file IOStream_Device.cpp.
|
inlineinherited |
Set blocking mode.
Definition at line 85 of file IOStream.hh.
int CFFS::File::close | ( | ) |
|
virtualinherited |
Empty internal device buffers.
Reimplemented in Soft::UART, UART, and IOBuffer< SIZE >.
Definition at line 175 of file IOStream_Device.cpp.
|
inlineinherited |
Set end of line mode.
[in] | mode | for end of line. |
Definition at line 103 of file IOStream.hh.
|
inlineinherited |
|
virtualinherited |
Flush internal device buffers. Wait for device to become idle.
Reimplemented in W5200::Driver, W5500::Driver, W5100::Driver, UART, IOBuffer< SIZE >, CC3000::Driver, and WIO.
Definition at line 169 of file IOStream_Device.cpp.
|
virtual |
Read character/byte from the file. If successful returns character read or negative error code (EPREM, EFAULT, ENOSPC, EIO, ENXIO).
Reimplemented from IOStream::Device.
|
virtualinherited |
Read string terminated by new-line or until size into given string buffer. Returns pointer to string or NULL if empty line.
[in] | s | string buffer to read into. |
[in] | count | max number of bytes to read. |
Definition at line 118 of file IOStream_Device.cpp.
|
inlineinherited |
|
inline |
|
inlineinherited |
Set non-blocking mode.
Definition at line 77 of file IOStream.hh.
int CFFS::File::open | ( | const char * | filename, |
uint8_t | oflag = O_READ |
||
) |
Open a file by name and mode flags. Returns zero(0) if successful otherwise a negative error code (EBUSY, EPERM, EINVAL, ENAMETOOLONG, EIO, EEXIST, ENFILE, ENOSPC).
[in] | filename | of file to open. |
[in] | oflag | mode of file open. |
|
virtualinherited |
Peek at the next character from device.
Reimplemented in Soft::UART, UART, and IOBuffer< SIZE >.
Definition at line 99 of file IOStream_Device.cpp.
|
virtualinherited |
Peek for the given character in device buffer. Return number of characters or EOF(-1).
[in] | c | character to peek for. |
Reimplemented in Soft::UART, UART, and IOBuffer< SIZE >.
Definition at line 105 of file IOStream_Device.cpp.
|
virtualinherited |
Write character to device.
[in] | c | character to write. |
Reimplemented in FAT16::File, HD44780, ST7565, PCD8544, MAX72XX, VLCD, UART, Textbox, IOBuffer< SIZE >, RS485, WIO, and Soft::UAT.
Definition at line 36 of file IOStream_Device.cpp.
|
virtualinherited |
Write null terminated string to device. Terminating null is not written.
[in] | s | string to write. |
Definition at line 43 of file IOStream_Device.cpp.
|
virtualinherited |
Write null terminated string from program memory to device. Terminating null is not written.
[in] | s | string in program memory to write. |
Definition at line 54 of file IOStream_Device.cpp.
|
virtual |
Read data to given buffer with given size from the file. If successful returns number of bytes read or negative error code (EPERM, EIO, ENXIO).
[in] | buf | buffer to read into. |
[in] | size | number of bytes to read. |
Reimplemented from IOStream::Device.
|
virtualinherited |
Read data to given buffers in null terminated io vector.
[in] | vec | io vector with buffers to read into. |
Definition at line 157 of file IOStream_Device.cpp.
int CFFS::File::remove | ( | ) |
|
inline |
|
virtualinherited |
Number of bytes room (write without blocking).
Reimplemented in W5200::Driver, W5500::Driver, W5100::Driver, UART, IOBuffer< SIZE >, CC3000::Driver, and WIO.
Definition at line 30 of file IOStream_Device.cpp.
int CFFS::File::seek | ( | uint32_t | pos, |
uint8_t | whence = SEEK_SET |
||
) |
Sets the file's read position relative to mode. Return zero(0) if successful otherwise a negative error code (EPERM, EINVAL, EIO, ENXIO).
[in] | pos | new position in bytes from given mode. |
[in] | mode | absolute, relative and from end. |
|
inline |
|
inline |
|
virtualinherited |
Write data from buffers in null terminated io vector.
[in] | vec | io vector with buffers to write. |
Definition at line 87 of file IOStream_Device.cpp.
|
virtual |
Write data from buffer with given size to the file. If successful returns number of bytes written or negative error code (EPREM, EFAULT, ENOSPC, EIO, ENXIO).
[in] | buf | buffer to write. |
[in] | size | number of bytes to write. |
Reimplemented from IOStream::Device.
|
protected |
Write data from buffer in data or program memory with given size to the file. If successful returns number of bytes written or negative error code.
[in] | buf | buffer to write. |
[in] | size | number of bytes to write. |
[in] | progmem | from data(false) or program memory(true). |
|
virtual |
Write data from buffer in program memory with given size to the file. If successful returns number of bytes written or negative error (EPREM, EFAULT, ENOSPC, EIO, ENXIO).
[in] | buf | buffer to write. |
[in] | size | number of bytes to write. |
Reimplemented from IOStream::Device.
|
protectedinherited |
Blocking state
Definition at line 248 of file IOStream.hh.
|
protected |
|
protected |
|
protected |
|
protectedinherited |
End of line mode
Definition at line 251 of file IOStream.hh.
|
protected |