COSA
An Object-Oriented Platform for Arduino Programming
|
#include <IOBuffer.hh>
Public Member Functions | |
IOBuffer () | |
bool | is_empty () |
bool | is_full () |
virtual int | available () |
virtual int | room () |
virtual int | putchar (char c) |
virtual int | peekchar () |
virtual int | peekchar (char c) |
virtual int | getchar () |
virtual int | flush () |
virtual void | empty () |
operator const char * () | |
void | non_blocking () |
void | blocking () |
bool | is_blocking () const |
void | eol (Mode mode) |
Mode | eol () const |
virtual int | puts (const char *s) |
virtual int | puts (str_P s) |
virtual int | write (const void *buf, size_t size) |
virtual int | write (const iovec_t *vec) |
virtual int | write_P (const void *buf, size_t size) |
virtual char * | gets (char *s, size_t count) |
virtual int | read (void *buf, size_t size) |
virtual int | read (iovec_t *vec) |
Protected Attributes | |
bool | m_blocking |
Mode | m_eol |
Circular buffer template class for IOStreams. May be used as a string buffer device, or to connect different IOStreams. See UART.hh for an example. Buffer size should be power of 2 and max 32Kbyte.
[in] | SIZE | number of bytes in buffer. |
Definition at line 36 of file IOBuffer.hh.
Constuct buffer object for stream operations.
Definition at line 42 of file IOBuffer.hh.
|
inlinevirtual |
Number of bytes available in buffer before empty.
Reimplemented from IOStream::Device.
Definition at line 73 of file IOBuffer.hh.
|
inlineinherited |
Set blocking mode.
Definition at line 85 of file IOStream.hh.
|
inlinevirtual |
|
inlineinherited |
Set end of line mode.
[in] | mode | for end of line. |
Definition at line 103 of file IOStream.hh.
|
inlineinherited |
|
virtual |
Wait for the buffer to become empty.
Reimplemented from IOStream::Device.
Definition at line 198 of file IOBuffer.hh.
|
virtual |
Read character from buffer.
Reimplemented from IOStream::Device.
Definition at line 188 of file IOBuffer.hh.
|
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 |
Return true(1) if the buffer is empty, otherwise false(0).
Definition at line 52 of file IOBuffer.hh.
|
inline |
Return true(1) if the buffer is full, otherwise false(0).
Definition at line 62 of file IOBuffer.hh.
|
inlineinherited |
Set non-blocking mode.
Definition at line 77 of file IOStream.hh.
|
inline |
Cast iobuffer to a character pointer.
Definition at line 139 of file IOBuffer.hh.
|
virtual |
Peek at the next character from buffer.
Reimplemented from IOStream::Device.
Definition at line 165 of file IOBuffer.hh.
|
virtual |
Peek for the given character in the stream. Return number of character or EOF(-1).
Reimplemented from IOStream::Device.
Definition at line 174 of file IOBuffer.hh.
|
virtual |
Write character to buffer.
[in] | c | character to write. |
Reimplemented from IOStream::Device.
Definition at line 154 of file IOBuffer.hh.
|
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.
|
virtualinherited |
Read data to given buffer with given size from device.
[in] | buf | buffer to read into. |
[in] | size | number of bytes to read. |
Reimplemented in FAT16::File, W5200::Driver, W5500::Driver, W5100::Driver, CFFS::File, Socket, and CC3000::Driver.
Definition at line 144 of file IOStream_Device.cpp.
|
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.
|
inlinevirtual |
Number of bytes room in buffer before full.
Reimplemented from IOStream::Device.
Definition at line 84 of file IOBuffer.hh.
|
virtualinherited |
Write data from buffer with given size to device.
[in] | buf | buffer to write. |
[in] | size | number of bytes to write. |
Reimplemented in FAT16::File, HD44780, CFFS::File, VLCD, Socket, and CC3000::Driver.
Definition at line 65 of file IOStream_Device.cpp.
|
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.
|
virtualinherited |
Write data from buffer in program memory with given size to device.
[in] | buf | buffer to write. |
[in] | size | number of bytes to write. |
Reimplemented in CFFS::File, Socket, and CC3000::Driver.
Definition at line 76 of file IOStream_Device.cpp.
|
protectedinherited |
Blocking state
Definition at line 248 of file IOStream.hh.
|
protectedinherited |
End of line mode
Definition at line 251 of file IOStream.hh.