Ring buffer¶
#include "buffer.tcc"
Class definition¶
-
template<uint8_t bits>
class Buffer¶ Ring buffer.
- Template Parameters:
bits – Buffer size control (2^
bits
).
Public Functions
-
Buffer()¶
Create a ring buffer.
-
uint8_t available() const¶
Get the number of bytes available for reading.
- Returns:
Number of bytes.
-
uint8_t read(uint8_t *const data, uint8_t const size)¶
Read
size
bytes of data.- Parameters:
data – [out] Buffer to receive
size
bytes of data.size – [in] Number of bytes to read.
- Returns:
Number of bytes read.
-
int16_t read()¶
Read one byte of data.
- Returns:
The first byte of incoming data or
-1
if no data is available.
-
void write(uint8_t *const data, uint8_t const size)¶
Write
size
bytes of data.- Parameters:
data – [in] Buffer containing
size
bytes of data.size – [in] Number of bytes to write.
- Returns:
Number of bytes written.
-
void write(uint8_t const data)¶
Write one byte of data.
- Parameters:
data – [in] Data.
-
int16_t peek() const¶
Return the next byte of incoming data without removing it from the buffer.
- Returns:
The first byte of incoming data or
-1
if no data is available.