Go to the documentation of this file.
52 #ifndef STREAM_BUFFER_H
53 #define STREAM_BUFFER_H
129 #define xStreamBufferCreate( xBufferSizeBytes, xTriggerLevelBytes ) xStreamBufferGenericCreate( xBufferSizeBytes, xTriggerLevelBytes, pdFALSE )
210 #define xStreamBufferCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, pucStreamBufferStorageArea, pxStaticStreamBuffer ) xStreamBufferGenericCreateStatic( xBufferSizeBytes, xTriggerLevelBytes, pdFALSE, pucStreamBufferStorageArea, pxStaticStreamBuffer )
305 const void *pvTxData,
306 size_t xDataLengthBytes,
406 const void *pvTxData,
407 size_t xDataLengthBytes,
496 size_t xBufferLengthBytes,
582 size_t xBufferLengthBytes,
830 size_t xTriggerLevelBytes,
834 size_t xTriggerLevelBytes,
836 uint8_t *
const pucStreamBufferStorageArea,
839 #if( configUSE_TRACE_FACILITY == 1 )
845 #if defined( __cplusplus )
void * StreamBufferHandle_t
Definition: stream_buffer.h:61
BaseType_t xStreamBufferSetTriggerLevel(StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:420
#define traceSTREAM_BUFFER_CREATE_FAILED(xIsMessageBuffer)
Definition: FreeRTOS.h:641
#define xTaskNotifyFromISR(xTaskToNotify, ulValue, eAction, pxHigherPriorityTaskWoken)
Definition: task.h:1858
struct xSTREAM_BUFFER StreamBuffer_t
BaseType_t xStreamBufferReceiveCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:988
void vStreamBufferDelete(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:333
BaseType_t xStreamBufferReset(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:366
#define traceSTREAM_BUFFER_SEND_FAILED(xStreamBuffer)
Definition: FreeRTOS.h:669
BaseType_t xStreamBufferIsEmpty(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:900
BaseType_t xStreamBufferReceiveCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:988
#define traceBLOCKING_ON_STREAM_BUFFER_SEND(xStreamBuffer)
Definition: FreeRTOS.h:661
Definition: FreeRTOS.h:1152
static size_t prvReadBytesFromBuffer(StreamBuffer_t *pxStreamBuffer, uint8_t *pucData, size_t xMaxCount, size_t xBytesAvailable)
Definition: stream_buffer.c:1064
volatile TaskHandle_t xTaskWaitingToSend
Definition: stream_buffer.c:145
size_t xLength
Definition: stream_buffer.c:142
void vPortFree(void *pv)
Definition: heap_1.c:123
size_t xStreamBufferReceiveFromISR(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:793
void vTaskSetTimeOutState(TimeOut_t *const pxTimeOut) PRIVILEGED_FUNCTION
Definition: tasks.c:3085
StreamBufferHandle_t xStreamBufferGenericCreateStatic(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, uint8_t *const pucStreamBufferStorageArea, StaticStreamBuffer_t *const pxStaticStreamBuffer) PRIVILEGED_FUNCTION
BaseType_t xStreamBufferSendCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:958
#define traceSTREAM_BUFFER_DELETE(xStreamBuffer)
Definition: FreeRTOS.h:653
#define configMIN(a, b)
Definition: FreeRTOS.h:895
size_t xStreamBufferReceive(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:689
#define pdFAIL
Definition: projdefs.h:49
@ eNoAction
Definition: task.h:84
size_t xStreamBufferSend(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait)
Definition: stream_buffer.c:485
size_t xStreamBufferSendFromISR(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:586
BaseType_t xTaskCheckForTimeOut(TimeOut_t *const pxTimeOut, TickType_t *const pxTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:3105
BaseType_t xTaskNotifyWait(uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: tasks.c:4483
uint8_t ucFlags
Definition: stream_buffer.c:147
#define traceSTREAM_BUFFER_RECEIVE_FAILED(xStreamBuffer)
Definition: FreeRTOS.h:685
#define sbSEND_COMPLETED(pxStreamBuffer)
Definition: stream_buffer.c:93
struct xSTATIC_STREAM_BUFFER StaticStreamBuffer_t
void vStreamBufferDelete(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:333
#define sbRECEIVE_COMPLETED(pxStreamBuffer)
Definition: stream_buffer.c:54
static size_t prvWriteBytesToBuffer(StreamBuffer_t *const pxStreamBuffer, const uint8_t *pucData, size_t xCount) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:1018
#define traceSTREAM_BUFFER_SEND(xStreamBuffer, xBytesSent)
Definition: FreeRTOS.h:665
#define pdPASS
Definition: projdefs.h:48
#define PRIVILEGED_FUNCTION
Definition: mpu_wrappers.h:174
uint32_t TickType_t
Definition: portmacro.h:64
#define traceSTREAM_BUFFER_RESET(xStreamBuffer)
Definition: FreeRTOS.h:657
#define traceBLOCKING_ON_STREAM_BUFFER_RECEIVE(xStreamBuffer)
Definition: FreeRTOS.h:677
#define taskENTER_CRITICAL()
Definition: task.h:179
void * TaskHandle_t
Definition: task.h:62
#define traceSTREAM_BUFFER_RECEIVE_FROM_ISR(xStreamBuffer, xReceivedLength)
Definition: FreeRTOS.h:689
#define pdFALSE
Definition: projdefs.h:45
#define sbSEND_COMPLETE_FROM_ISR(pxStreamBuffer, pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:108
unsigned long UBaseType_t
Definition: portmacro.h:58
static PRIVILEGED_FUNCTION void prvInitialiseNewStreamBuffer(StreamBuffer_t *const pxStreamBuffer, uint8_t *const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:1139
size_t xTriggerLevelBytes
Definition: stream_buffer.c:143
size_t xStreamBufferBytesAvailable(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:473
size_t xStreamBufferReceive(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait)
Definition: stream_buffer.c:689
#define sbFLAGS_IS_STATICALLY_ALLOCATED
Definition: stream_buffer.c:133
Definition: stream_buffer.c:139
#define traceSTREAM_BUFFER_CREATE_STATIC_FAILED(xReturn, xIsMessageBuffer)
Definition: FreeRTOS.h:645
#define traceSTREAM_BUFFER_SEND_FROM_ISR(xStreamBuffer, xBytesSent)
Definition: FreeRTOS.h:673
volatile size_t xHead
Definition: stream_buffer.c:141
size_t xStreamBufferReceiveFromISR(StreamBufferHandle_t xStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:793
StreamBufferHandle_t xStreamBufferGenericCreate(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer)
Definition: stream_buffer.c:217
#define traceSTREAM_BUFFER_RECEIVE(xStreamBuffer, xReceivedLength)
Definition: FreeRTOS.h:681
volatile TaskHandle_t xTaskWaitingToReceive
Definition: stream_buffer.c:144
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)
Definition: portmacro.h:110
BaseType_t xStreamBufferSendCompletedFromISR(StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:958
long BaseType_t
Definition: portmacro.h:57
#define pdTRUE
Definition: projdefs.h:46
BaseType_t xStreamBufferIsEmpty(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:900
BaseType_t xStreamBufferReset(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:366
volatile size_t xTail
Definition: stream_buffer.c:140
TaskHandle_t xTaskGetCurrentTaskHandle(void) PRIVILEGED_FUNCTION
Definition: tasks.c:3755
#define sbRECEIVE_COMPLETED_FROM_ISR(pxStreamBuffer, pxHigherPriorityTaskWoken)
Definition: stream_buffer.c:69
static size_t prvReadMessageFromBuffer(StreamBuffer_t *pxStreamBuffer, void *pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable, size_t xBytesToStoreMessageLength) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:850
size_t xStreamBufferBytesAvailable(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:473
size_t xStreamBufferSpacesAvailable(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:449
#define taskEXIT_CRITICAL()
Definition: task.h:194
size_t xStreamBufferSpacesAvailable(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:449
size_t xStreamBufferSendFromISR(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:586
BaseType_t xStreamBufferSetTriggerLevel(StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel)
Definition: stream_buffer.c:420
static size_t prvBytesInBuffer(const StreamBuffer_t *const pxStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:1119
#define configASSERT(x)
Definition: FreeRTOS.h:235
#define sbBYTES_TO_STORE_MESSAGE_LENGTH
Definition: stream_buffer.c:129
uint8_t * pucBuffer
Definition: stream_buffer.c:146
#define sbFLAGS_IS_MESSAGE_BUFFER
Definition: stream_buffer.c:132
BaseType_t xStreamBufferIsFull(StreamBufferHandle_t xStreamBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:923
StreamBufferHandle_t xStreamBufferGenericCreate(size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:217
size_t xStreamBufferSend(StreamBufferHandle_t xStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:485
BaseType_t xTaskNotifyStateClear(TaskHandle_t xTask)
Definition: tasks.c:4882
static size_t prvWriteMessageToBuffer(StreamBuffer_t *const pxStreamBuffer, const void *pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace) PRIVILEGED_FUNCTION
Definition: stream_buffer.c:637
#define traceSTREAM_BUFFER_CREATE(pxStreamBuffer, xIsMessageBuffer)
Definition: FreeRTOS.h:649
BaseType_t xStreamBufferIsFull(StreamBufferHandle_t xStreamBuffer)
Definition: stream_buffer.c:923
#define portSET_INTERRUPT_MASK_FROM_ISR()
Definition: portmacro.h:109
#define mtCOVERAGE_TEST_MARKER()
Definition: FreeRTOS.h:787
void * pvPortMalloc(size_t xWantedSize)
Definition: heap_1.c:71