SuperTinyKernel™ RTOS 1.06.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
Loading...
Searching...
No Matches
FrtosStreamBuffer Struct Reference
Collaboration diagram for FrtosStreamBuffer:

Public Member Functions

 FrtosStreamBuffer (uint8_t *buf, size_t capacity, size_t trigger, StreamBufferCallbackFunction_t pSendCb=nullptr, StreamBufferCallbackFunction_t pRecvCb=nullptr)
 ~FrtosStreamBuffer ()

Public Attributes

stk::sync::Pipe m_pipe
 byte ring-buffer (element_size = 1)
size_t m_trigger
 minimum bytes before Receive() unblocks
bool m_buf_owned
 true -> data buffer heap-allocated, freed in dtor
bool m_cb_owned
 true -> struct heap-allocated, deleted in vStreamBufferDelete
StreamBufferCallbackFunction_t m_send_cb
 optional callback fired after a successful Send
StreamBufferCallbackFunction_t m_recv_cb
 optional callback fired after a successful Receive

Detailed Description

Definition at line 914 of file freertos_stk.cpp.

Constructor & Destructor Documentation

◆ FrtosStreamBuffer()

FrtosStreamBuffer::FrtosStreamBuffer ( uint8_t * buf,
size_t capacity,
size_t trigger,
StreamBufferCallbackFunction_t pSendCb = nullptr,
StreamBufferCallbackFunction_t pRecvCb = nullptr )
inlineexplicit

Definition at line 920 of file freertos_stk.cpp.

925 : m_pipe(buf, capacity, 1U),
926 m_trigger(trigger >= 1U ? trigger : 1U),
927 m_buf_owned(false), // overridden to true by xStreamBufferCreate after ctor
928 m_cb_owned(false), // overridden to true by xStreamBufferCreate after ctor
929 m_send_cb(pSendCb),
930 m_recv_cb(pRecvCb)
931 {}
stk::sync::Pipe m_pipe
byte ring-buffer (element_size = 1)
StreamBufferCallbackFunction_t m_recv_cb
optional callback fired after a successful Receive
size_t m_trigger
minimum bytes before Receive() unblocks
bool m_cb_owned
true -> struct heap-allocated, deleted in vStreamBufferDelete
bool m_buf_owned
true -> data buffer heap-allocated, freed in dtor
StreamBufferCallbackFunction_t m_send_cb
optional callback fired after a successful Send

References m_buf_owned, m_cb_owned, m_pipe, m_recv_cb, m_send_cb, and m_trigger.

◆ ~FrtosStreamBuffer()

FrtosStreamBuffer::~FrtosStreamBuffer ( )
inline

Definition at line 933 of file freertos_stk.cpp.

934 {
935 if (m_buf_owned)
936 ObjFreeArray(m_pipe.GetBuffer());
937 }
static void ObjFreeArray(void *ptr)

References m_buf_owned, m_pipe, and ObjFreeArray().

Here is the call graph for this function:

Member Data Documentation

◆ m_buf_owned

bool FrtosStreamBuffer::m_buf_owned

true -> data buffer heap-allocated, freed in dtor

Definition at line 942 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferCreate(), xStreamBufferCreateWithCallback(), and ~FrtosStreamBuffer().

◆ m_cb_owned

bool FrtosStreamBuffer::m_cb_owned

true -> struct heap-allocated, deleted in vStreamBufferDelete

Definition at line 943 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferCreate(), and xStreamBufferCreateWithCallback().

◆ m_pipe

◆ m_recv_cb

StreamBufferCallbackFunction_t FrtosStreamBuffer::m_recv_cb

optional callback fired after a successful Receive

Definition at line 945 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferReceive(), and xStreamBufferReceiveFromISR().

◆ m_send_cb

StreamBufferCallbackFunction_t FrtosStreamBuffer::m_send_cb

optional callback fired after a successful Send

Definition at line 944 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferSend(), and xStreamBufferSendFromISR().

◆ m_trigger

size_t FrtosStreamBuffer::m_trigger

minimum bytes before Receive() unblocks

Definition at line 941 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferReceive(), and xStreamBufferSetTriggerLevel().


The documentation for this struct was generated from the following file: