|  
						
 
 
stream_buffer.h
 StreamBufferHandle_t xStreamBufferCreate( size_t xBufferSizeBytes,
                                           size_t xTriggerLevelBytes );
 
Creates a new stream buffer using dynamically
allocated memory.  See xStreamBufferCreateStatic() for a
version that uses statically allocated memory (memory that is allocated at
compile time).
 
configSUPPORT_DYNAMIC_ALLOCATION
must be set to 1 or left undefined in FreeRTOSConfig.h for xStreamBufferCreate()
to be available.
 
Stream buffer functionality is enabled by including the FreeRTOS/source/stream_buffer.c
source file in the build.
 
	- 
		
			Parameters:
		
	
 
	- 
	
		
			| 
				
					
						xBufferSizeBytes
					
				
				 
			 | 
			
				
					The total number of bytes the stream buffer will be
					able to hold at any one time.
				
			 | 
		 
		
			| 
				
					
						xTriggerLevelBytes
					
				
				 
			 | 
			
				
					The number of bytes that must be in the stream
					buffer before a task that is blocked on the stream buffer to wait for data is
					moved out of the blocked state.  For example, if a task is blocked on a read
					of an empty stream buffer that has a trigger level of 1 then the task will be
					unblocked when a single byte is written to the buffer or the task's block
					time expires.  As another example, if a task is blocked on a read of an empty
					stream buffer that has a trigger level of 10 then the task will not be
					unblocked until the stream buffer contains at least 10 bytes or the task's
					block time expires.  If a reading task's block time expires before the
					trigger level is reached then the task will still receive however many bytes
					are actually available.  Setting a trigger level of 0 will result in a
					trigger level of 1 being used.  It is not valid to specify a trigger level
					that is greater than the buffer size.
				
			 | 
		 
  
  
	- 
		
			Returns:
		
	
 
	- 
		If NULL is returned, then the stream buffer cannot be created
		because there is insufficient heap memory available for FreeRTOS to allocate
		the stream buffer data structures and storage area.  A non-NULL value being
		returned indicates that the stream buffer has been created successfully -
		the returned value should be stored as the handle to the created stream
		buffer.
 
 
 
 
Example usage:
 
void vAFunction( void )
{
StreamBufferHandle_t xStreamBuffer;
const size_t xStreamBufferSizeBytes = 100, xTriggerLevel = 10;
    /* Create a stream buffer that can hold 100 bytes.  The memory used to hold
    both the stream buffer structure and the data in the stream buffer is
    allocated dynamically. */
    xStreamBuffer = xStreamBufferCreate( xStreamBufferSizeBytes, xTriggerLevel );
    if( xStreamBuffer == NULL )
    {
        /* There was not enough heap memory space available to create the
        stream buffer. */
    }
    else
    {
        /* The stream buffer was created successfully and can now be used. */
    }
}
 
 
 
 
 
						 
						 
						 
						 
						
						 
						 
							
								Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.  
							
						 
					 |