Trident IoT SDK
 
Loading...
Searching...
No Matches

A simple ring buffer for handling transfer of bytes. More...

+ Collaboration diagram for Ring Buffer:

Data Structures

struct  tr_ring_buffer_t
 Ring buffer object definition. More...
 

Functions

bool tr_ring_buffer_init (tr_ring_buffer_t *p_rb)
 
bool tr_ring_buffer_write (tr_ring_buffer_t *p_rb, uint8_t data)
 
size_t tr_ring_buffer_read (tr_ring_buffer_t *p_rb, uint8_t *p_data, size_t length)
 
size_t tr_ring_buffer_get_available (tr_ring_buffer_t *p_rb)
 

Detailed Description

A simple ring buffer for handling transfer of bytes.

Function Documentation

◆ tr_ring_buffer_get_available()

size_t tr_ring_buffer_get_available ( tr_ring_buffer_t * p_rb)

Returns the number of occupied bytes in the ring buffer.

Parameters
[in]p_rbAddress of a ring buffer object that has been initialized by tr_ring_buffer_init().
Returns
Returns the number of occupied bytes in the ring buffer.

◆ tr_ring_buffer_init()

bool tr_ring_buffer_init ( tr_ring_buffer_t * p_rb)

Initializes the ring buffer.

Parameters
[in]p_rbRing buffer object where buffer and buffer size is set.
Returns
Returns true if the ring buffer was successfully initialized, and false otherwise.

◆ tr_ring_buffer_read()

size_t tr_ring_buffer_read ( tr_ring_buffer_t * p_rb,
uint8_t * p_data,
size_t length )

Reads a given number of bytes from the ring buffer.

Parameters
[in]p_rbAddress of a ring buffer object that has been initialized by tr_ring_buffer_init().
[out]p_dataAddress of buffer where read data must be written to.
[in]lengthNumber of bytes to read.
Returns
Returns the number of bytes that was read from the given ring buffer.

◆ tr_ring_buffer_write()

bool tr_ring_buffer_write ( tr_ring_buffer_t * p_rb,
uint8_t data )

Writes a byte to the ring buffer.

Parameters
[in]p_rbAddress of a ring buffer object that has been initialized by tr_ring_buffer_init().
[in]dataA byte of data to write to the ringer buffer.
Returns
Returns true if the byte was written to the ring buffer, and false otherwise.