forked from epagris/FreeRTOS-Kernel
		
	Replace <pre> with @code - remaining files (#388)
Co-authored-by: Paul Bartell <pbartell@amazon.com> Co-authored-by: Ming Yue <mingyue86010@gmail.com>
This commit is contained in:
		
							parent
							
								
									fa0f5c436c
								
							
						
					
					
						commit
						f8ada39d85
					
				@ -62,13 +62,13 @@ typedef struct corCoRoutineControlBlock
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xCoRoutineCreate(
 | 
			
		||||
 *                               crCOROUTINE_CODE pxCoRoutineCode,
 | 
			
		||||
 *                               UBaseType_t uxPriority,
 | 
			
		||||
 *                               UBaseType_t uxIndex
 | 
			
		||||
 *                             );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Create a new co-routine and add it to the list of co-routines that are
 | 
			
		||||
 * ready to run.
 | 
			
		||||
@ -88,7 +88,7 @@ typedef struct corCoRoutineControlBlock
 | 
			
		||||
 * list, otherwise an error code defined with ProjDefs.h.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Co-routine to be created.
 | 
			
		||||
 * void vFlashCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
 * {
 | 
			
		||||
@ -129,7 +129,7 @@ typedef struct corCoRoutineControlBlock
 | 
			
		||||
 *       xCoRoutineCreate( vFlashCoRoutine, 0, uxIndex );
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xCoRoutineCreate xCoRoutineCreate
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -140,9 +140,9 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vCoRoutineSchedule( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Run a co-routine.
 | 
			
		||||
 *
 | 
			
		||||
@ -156,7 +156,7 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
 | 
			
		||||
 * hook).
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // This idle task hook will schedule a co-routine each time it is called.
 | 
			
		||||
 * // The rest of the idle task will execute between co-routine calls.
 | 
			
		||||
 * void vApplicationIdleHook( void )
 | 
			
		||||
@ -174,7 +174,7 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
 | 
			
		||||
 *      vCoRoutineSchedule();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vCoRoutineSchedule vCoRoutineSchedule
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -182,14 +182,14 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crSTART( CoRoutineHandle_t xHandle );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This macro MUST always be called at the start of a co-routine function.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Co-routine to be created.
 | 
			
		||||
 * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
 * {
 | 
			
		||||
@ -207,7 +207,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *   // Must end every co-routine with a call to crEND();
 | 
			
		||||
 *   crEND();
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crSTART crSTART
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -217,14 +217,14 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crEND();
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This macro MUST always be called at the end of a co-routine function.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Co-routine to be created.
 | 
			
		||||
 * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
 * {
 | 
			
		||||
@ -242,7 +242,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *   // Must end every co-routine with a call to crEND();
 | 
			
		||||
 *   crEND();
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crSTART crSTART
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -261,9 +261,9 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crDELAY( CoRoutineHandle_t xHandle, TickType_t xTicksToDelay );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Delay a co-routine for a fixed period of time.
 | 
			
		||||
 *
 | 
			
		||||
@ -280,7 +280,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 * can be used to convert ticks to milliseconds.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Co-routine to be created.
 | 
			
		||||
 * void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
 * {
 | 
			
		||||
@ -303,7 +303,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *   // Must end every co-routine with a call to crEND();
 | 
			
		||||
 *   crEND();
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crDELAY crDELAY
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -315,7 +315,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
    crSET_STATE0( ( xHandle ) );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crQUEUE_SEND(
 | 
			
		||||
 *                CoRoutineHandle_t xHandle,
 | 
			
		||||
 *                QueueHandle_t pxQueue,
 | 
			
		||||
@ -323,7 +323,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *                TickType_t xTicksToWait,
 | 
			
		||||
 *                BaseType_t *pxResult
 | 
			
		||||
 *           )
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine
 | 
			
		||||
 * equivalent to the xQueueSend() and xQueueReceive() functions used by tasks.
 | 
			
		||||
@ -363,7 +363,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 * error defined within ProjDefs.h.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Co-routine function that blocks for a fixed period then posts a number onto
 | 
			
		||||
 * // a queue.
 | 
			
		||||
 * static void prvCoRoutineFlashTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
@ -395,7 +395,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *  // Co-routines must end with a call to crEND().
 | 
			
		||||
 *  crEND();
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crQUEUE_SEND crQUEUE_SEND
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -416,7 +416,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crQUEUE_RECEIVE(
 | 
			
		||||
 *                   CoRoutineHandle_t xHandle,
 | 
			
		||||
 *                   QueueHandle_t pxQueue,
 | 
			
		||||
@ -424,7 +424,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *                   TickType_t xTicksToWait,
 | 
			
		||||
 *                   BaseType_t *pxResult
 | 
			
		||||
 *               )
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine
 | 
			
		||||
 * equivalent to the xQueueSend() and xQueueReceive() functions used by tasks.
 | 
			
		||||
@ -463,7 +463,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 * an error code as defined within ProjDefs.h.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A co-routine receives the number of an LED to flash from a queue.  It
 | 
			
		||||
 * // blocks on the queue until the number is received.
 | 
			
		||||
 * static void prvCoRoutineFlashWorkTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
@ -489,7 +489,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *
 | 
			
		||||
 *  crEND();
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crQUEUE_RECEIVE crQUEUE_RECEIVE
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -510,13 +510,13 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crQUEUE_SEND_FROM_ISR(
 | 
			
		||||
 *                          QueueHandle_t pxQueue,
 | 
			
		||||
 *                          void *pvItemToQueue,
 | 
			
		||||
 *                          BaseType_t xCoRoutinePreviouslyWoken
 | 
			
		||||
 *                     )
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the
 | 
			
		||||
 * co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR()
 | 
			
		||||
@ -551,7 +551,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 * the ISR.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A co-routine that blocks on a queue waiting for characters to be received.
 | 
			
		||||
 * static void vReceivingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
 * {
 | 
			
		||||
@ -600,7 +600,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *       xCRWokenByPost = crQUEUE_SEND_FROM_ISR( xCommsRxQueue, &cRxedChar, xCRWokenByPost );
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crQUEUE_SEND_FROM_ISR crQUEUE_SEND_FROM_ISR
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -610,13 +610,13 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * croutine. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * crQUEUE_SEND_FROM_ISR(
 | 
			
		||||
 *                          QueueHandle_t pxQueue,
 | 
			
		||||
 *                          void *pvBuffer,
 | 
			
		||||
 *                          BaseType_t * pxCoRoutineWoken
 | 
			
		||||
 *                     )
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the
 | 
			
		||||
 * co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR()
 | 
			
		||||
@ -651,7 +651,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 * pdFALSE.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A co-routine that posts a character to a queue then blocks for a fixed
 | 
			
		||||
 * // period.  The character is incremented each time.
 | 
			
		||||
 * static void vSendingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
 | 
			
		||||
@ -716,7 +716,7 @@ void vCoRoutineSchedule( void );
 | 
			
		||||
 *       }
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup crQUEUE_RECEIVE_FROM_ISR crQUEUE_RECEIVE_FROM_ISR
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@ -89,9 +89,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new message buffer using dynamically allocated memory.  See
 | 
			
		||||
 * xMessageBufferCreateStatic() for a version that uses statically allocated
 | 
			
		||||
@ -115,7 +115,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * buffer.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
@ -138,7 +138,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *      // The message buffer was created successfully and can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 *
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferCreate xMessageBufferCreate
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -148,11 +148,11 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes,
 | 
			
		||||
 *                                                uint8_t *pucMessageBufferStorageArea,
 | 
			
		||||
 *                                                StaticMessageBuffer_t *pxStaticMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * Creates a new message buffer using statically allocated memory.  See
 | 
			
		||||
 * xMessageBufferCreate() for a version that uses dynamically allocated memory.
 | 
			
		||||
 *
 | 
			
		||||
@ -177,7 +177,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * pxStaticmessageBuffer are NULL then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * // Used to dimension the array used to hold the messages.  The available space
 | 
			
		||||
 * // will actually be one less than this, so 999.
 | 
			
		||||
@ -205,7 +205,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *  // Other code that uses the message buffer can go here.
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferCreateStatic xMessageBufferCreateStatic
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -215,12 +215,12 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer,
 | 
			
		||||
 *                         const void *pvTxData,
 | 
			
		||||
 *                         size_t xDataLengthBytes,
 | 
			
		||||
 *                         TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Sends a discrete message to the message buffer.  The message can be any
 | 
			
		||||
 * length that fits within the buffer's free space, and is copied into the
 | 
			
		||||
@ -277,7 +277,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * time out then xDataLengthBytes is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( MessageBufferHandle_t xMessageBuffer )
 | 
			
		||||
 * {
 | 
			
		||||
 * size_t xBytesSent;
 | 
			
		||||
@ -305,7 +305,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *      // not enough free space in the buffer.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferSend xMessageBufferSend
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -315,12 +315,12 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer,
 | 
			
		||||
 *                                const void *pvTxData,
 | 
			
		||||
 *                                size_t xDataLengthBytes,
 | 
			
		||||
 *                                BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Interrupt safe version of the API function that sends a discrete message to
 | 
			
		||||
 * the message buffer.  The message can be any length that fits within the
 | 
			
		||||
@ -378,7 +378,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * then 0 is returned, otherwise xDataLengthBytes is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A message buffer that has already been created.
 | 
			
		||||
 * MessageBufferHandle_t xMessageBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -410,7 +410,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *  // documentation for the port in use for port specific instructions.
 | 
			
		||||
 *  portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferSendFromISR xMessageBufferSendFromISR
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -420,12 +420,12 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer,
 | 
			
		||||
 *                            void *pvRxData,
 | 
			
		||||
 *                            size_t xBufferLengthBytes,
 | 
			
		||||
 *                            TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Receives a discrete message from a message buffer.  Messages can be of
 | 
			
		||||
 * variable length and are copied out of the buffer.
 | 
			
		||||
@ -478,7 +478,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * zero is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( MessageBuffer_t xMessageBuffer )
 | 
			
		||||
 * {
 | 
			
		||||
 * uint8_t ucRxData[ 20 ];
 | 
			
		||||
@ -499,7 +499,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *      // the message here....
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferReceive xMessageBufferReceive
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -510,12 +510,12 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer,
 | 
			
		||||
 *                                   void *pvRxData,
 | 
			
		||||
 *                                   size_t xBufferLengthBytes,
 | 
			
		||||
 *                                   BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * An interrupt safe version of the API function that receives a discrete
 | 
			
		||||
 * message from a message buffer.  Messages can be of variable length and are
 | 
			
		||||
@ -569,7 +569,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 * any.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A message buffer that has already been created.
 | 
			
		||||
 * MessageBuffer_t xMessageBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -601,7 +601,7 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 *  // documentation for the port in use for port specific instructions.
 | 
			
		||||
 *  portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xMessageBufferReceiveFromISR xMessageBufferReceiveFromISR
 | 
			
		||||
 * \ingroup MessageBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -611,9 +611,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vMessageBufferDelete( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Deletes a message buffer that was previously created using a call to
 | 
			
		||||
 * xMessageBufferCreate() or xMessageBufferCreateStatic().  If the message
 | 
			
		||||
@ -631,9 +631,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xMessageBufferIsFull( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Tests to see if a message buffer is full.  A message buffer is full if it
 | 
			
		||||
 * cannot accept any more messages, of any size, until space is made available
 | 
			
		||||
@ -649,9 +649,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xMessageBufferIsEmpty( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Tests to see if a message buffer is empty (does not contain any messages).
 | 
			
		||||
 *
 | 
			
		||||
@ -666,9 +666,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xMessageBufferReset( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Resets a message buffer to its initial empty state, discarding any message it
 | 
			
		||||
 * contained.
 | 
			
		||||
@ -691,9 +691,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferSpaceAvailable( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * Returns the number of bytes of free space in the message buffer.
 | 
			
		||||
 *
 | 
			
		||||
 * @param xMessageBuffer The handle of the message buffer being queried.
 | 
			
		||||
@ -715,9 +715,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xMessageBufferNextLengthBytes( MessageBufferHandle_t xMessageBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * Returns the length (in bytes) of the next message in a message buffer.
 | 
			
		||||
 * Useful if xMessageBufferReceive() returned 0 because the size of the buffer
 | 
			
		||||
 * passed into xMessageBufferReceive() was too small to hold the next message.
 | 
			
		||||
@ -736,9 +736,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xMessageBufferSendCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * For advanced users only.
 | 
			
		||||
 *
 | 
			
		||||
@ -776,9 +776,9 @@ typedef void * MessageBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * message_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xMessageBufferReceiveCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * For advanced users only.
 | 
			
		||||
 *
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										136
									
								
								include/queue.h
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								include/queue.h
									
									
									
									
									
								
							@ -79,12 +79,12 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * QueueHandle_t xQueueCreate(
 | 
			
		||||
 *                            UBaseType_t uxQueueLength,
 | 
			
		||||
 *                            UBaseType_t uxItemSize
 | 
			
		||||
 *                        );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new queue instance, and returns a handle by which the new queue
 | 
			
		||||
 * can be referenced.
 | 
			
		||||
@ -113,7 +113,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -141,7 +141,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueCreate xQueueCreate
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -151,14 +151,14 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * QueueHandle_t xQueueCreateStatic(
 | 
			
		||||
 *                            UBaseType_t uxQueueLength,
 | 
			
		||||
 *                            UBaseType_t uxItemSize,
 | 
			
		||||
 *                            uint8_t *pucQueueStorage,
 | 
			
		||||
 *                            StaticQueue_t *pxQueueBuffer
 | 
			
		||||
 *                        );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new queue instance, and returns a handle by which the new queue
 | 
			
		||||
 * can be referenced.
 | 
			
		||||
@ -195,7 +195,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * returned.  If pxQueueBuffer is NULL then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -227,7 +227,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueCreateStatic xQueueCreateStatic
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -237,13 +237,13 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSendToToFront(
 | 
			
		||||
 *                                 QueueHandle_t    xQueue,
 | 
			
		||||
 *                                 const void       *pvItemToQueue,
 | 
			
		||||
 *                                 TickType_t       xTicksToWait
 | 
			
		||||
 *                             );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Post an item to the front of a queue.  The item is queued by copy, not by
 | 
			
		||||
 * reference.  This function must not be called from an interrupt service
 | 
			
		||||
@ -266,7 +266,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -309,7 +309,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueSend xQueueSend
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -318,13 +318,13 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSendToBack(
 | 
			
		||||
 *                                 QueueHandle_t    xQueue,
 | 
			
		||||
 *                                 const void       *pvItemToQueue,
 | 
			
		||||
 *                                 TickType_t       xTicksToWait
 | 
			
		||||
 *                             );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This is a macro that calls xQueueGenericSend().
 | 
			
		||||
 *
 | 
			
		||||
@ -349,7 +349,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -392,7 +392,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueSend xQueueSend
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -401,13 +401,13 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSend(
 | 
			
		||||
 *                            QueueHandle_t xQueue,
 | 
			
		||||
 *                            const void * pvItemToQueue,
 | 
			
		||||
 *                            TickType_t xTicksToWait
 | 
			
		||||
 *                       );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This is a macro that calls xQueueGenericSend().  It is included for
 | 
			
		||||
 * backward compatibility with versions of FreeRTOS.org that did not
 | 
			
		||||
@ -434,7 +434,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -477,7 +477,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueSend xQueueSend
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -486,12 +486,12 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueOverwrite(
 | 
			
		||||
 *                            QueueHandle_t xQueue,
 | 
			
		||||
 *                            const void * pvItemToQueue
 | 
			
		||||
 *                       );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Only for use with queues that have a length of one - so the queue is either
 | 
			
		||||
 * empty or full.
 | 
			
		||||
@ -515,7 +515,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * to the queue even when the queue is already full.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * void vFunction( void *pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
@ -561,7 +561,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ...
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueOverwrite xQueueOverwrite
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -571,14 +571,14 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueGenericSend(
 | 
			
		||||
 *                                  QueueHandle_t xQueue,
 | 
			
		||||
 *                                  const void * pvItemToQueue,
 | 
			
		||||
 *                                  TickType_t xTicksToWait
 | 
			
		||||
 *                                  BaseType_t xCopyPosition
 | 
			
		||||
 *                              );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * It is preferred that the macros xQueueSend(), xQueueSendToFront() and
 | 
			
		||||
 * xQueueSendToBack() are used in place of calling this function directly.
 | 
			
		||||
@ -607,7 +607,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -650,7 +650,7 @@ typedef struct QueueDefinition   * QueueSetMemberHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueSend xQueueSend
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -661,13 +661,13 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueuePeek(
 | 
			
		||||
 *                           QueueHandle_t xQueue,
 | 
			
		||||
 *                           void * const pvBuffer,
 | 
			
		||||
 *                           TickType_t xTicksToWait
 | 
			
		||||
 *                       );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Receive an item from a queue without removing the item from the queue.
 | 
			
		||||
 * The item is received by copy so a buffer of adequate size must be
 | 
			
		||||
@ -698,7 +698,7 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
 | 
			
		||||
 * otherwise pdFALSE.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -748,7 +748,7 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueuePeek xQueuePeek
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -758,12 +758,12 @@ BaseType_t xQueuePeek( QueueHandle_t xQueue,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueuePeekFromISR(
 | 
			
		||||
 *                                  QueueHandle_t xQueue,
 | 
			
		||||
 *                                  void *pvBuffer,
 | 
			
		||||
 *                              );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * A version of xQueuePeek() that can be called from an interrupt service
 | 
			
		||||
 * routine (ISR).
 | 
			
		||||
@ -793,13 +793,13 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueReceive(
 | 
			
		||||
 *                               QueueHandle_t xQueue,
 | 
			
		||||
 *                               void *pvBuffer,
 | 
			
		||||
 *                               TickType_t xTicksToWait
 | 
			
		||||
 *                          );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Receive an item from a queue.  The item is received by copy so a buffer of
 | 
			
		||||
 * adequate size must be provided.  The number of bytes copied into the buffer
 | 
			
		||||
@ -827,7 +827,7 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 * otherwise pdFALSE.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * struct AMessage
 | 
			
		||||
 * {
 | 
			
		||||
 *  char ucMessageID;
 | 
			
		||||
@ -877,7 +877,7 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 *
 | 
			
		||||
 *  // ... Rest of task code.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueReceive xQueueReceive
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -887,9 +887,9 @@ BaseType_t xQueueReceive( QueueHandle_t xQueue,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Return the number of messages stored in a queue.
 | 
			
		||||
 *
 | 
			
		||||
@ -904,9 +904,9 @@ UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ) PRIVILEGED_FUNC
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Return the number of free spaces available in a queue.  This is equal to the
 | 
			
		||||
 * number of items that can be sent to the queue before the queue becomes full
 | 
			
		||||
@ -923,9 +923,9 @@ UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ) PRIVILEGED_FUNC
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vQueueDelete( QueueHandle_t xQueue );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Delete a queue - freeing all the memory allocated for storing of items
 | 
			
		||||
 * placed on the queue.
 | 
			
		||||
@ -939,13 +939,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSendToFrontFromISR(
 | 
			
		||||
 *                                       QueueHandle_t xQueue,
 | 
			
		||||
 *                                       const void *pvItemToQueue,
 | 
			
		||||
 *                                       BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                                    );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This is a macro that calls xQueueGenericSendFromISR().
 | 
			
		||||
 *
 | 
			
		||||
@ -974,7 +974,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage for buffered IO (where the ISR can obtain more than one value
 | 
			
		||||
 * per call):
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vBufferISR( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * char cIn;
 | 
			
		||||
@ -1000,7 +1000,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *      taskYIELD ();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup xQueueSendFromISR xQueueSendFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
@ -1011,13 +1011,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSendToBackFromISR(
 | 
			
		||||
 *                                       QueueHandle_t xQueue,
 | 
			
		||||
 *                                       const void *pvItemToQueue,
 | 
			
		||||
 *                                       BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                                    );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This is a macro that calls xQueueGenericSendFromISR().
 | 
			
		||||
 *
 | 
			
		||||
@ -1046,7 +1046,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage for buffered IO (where the ISR can obtain more than one value
 | 
			
		||||
 * per call):
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vBufferISR( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * char cIn;
 | 
			
		||||
@ -1072,7 +1072,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *      taskYIELD ();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup xQueueSendFromISR xQueueSendFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
@ -1082,13 +1082,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueOverwriteFromISR(
 | 
			
		||||
 *                            QueueHandle_t xQueue,
 | 
			
		||||
 *                            const void * pvItemToQueue,
 | 
			
		||||
 *                            BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                       );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * A version of xQueueOverwrite() that can be used in an interrupt service
 | 
			
		||||
 * routine (ISR).
 | 
			
		||||
@ -1119,7 +1119,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * the queue is already full.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * QueueHandle_t xQueue;
 | 
			
		||||
 *
 | 
			
		||||
@ -1161,7 +1161,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *      portYIELD_FROM_ISR(); // or portEND_SWITCHING_ISR() depending on the port.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueOverwriteFromISR xQueueOverwriteFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -1170,13 +1170,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueSendFromISR(
 | 
			
		||||
 *                                   QueueHandle_t xQueue,
 | 
			
		||||
 *                                   const void *pvItemToQueue,
 | 
			
		||||
 *                                   BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                              );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This is a macro that calls xQueueGenericSendFromISR().  It is included
 | 
			
		||||
 * for backward compatibility with versions of FreeRTOS.org that did not
 | 
			
		||||
@ -1208,7 +1208,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage for buffered IO (where the ISR can obtain more than one value
 | 
			
		||||
 * per call):
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vBufferISR( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * char cIn;
 | 
			
		||||
@ -1235,7 +1235,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *      portYIELD_FROM_ISR ();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup xQueueSendFromISR xQueueSendFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
@ -1245,14 +1245,14 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueGenericSendFromISR(
 | 
			
		||||
 *                                         QueueHandle_t    xQueue,
 | 
			
		||||
 *                                         const    void    *pvItemToQueue,
 | 
			
		||||
 *                                         BaseType_t  *pxHigherPriorityTaskWoken,
 | 
			
		||||
 *                                         BaseType_t  xCopyPosition
 | 
			
		||||
 *                                     );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * It is preferred that the macros xQueueSendFromISR(),
 | 
			
		||||
 * xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place
 | 
			
		||||
@ -1288,7 +1288,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage for buffered IO (where the ISR can obtain more than one value
 | 
			
		||||
 * per call):
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vBufferISR( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * char cIn;
 | 
			
		||||
@ -1315,7 +1315,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *      portYIELD_FROM_ISR();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup xQueueSendFromISR xQueueSendFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
@ -1329,13 +1329,13 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * queue. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xQueueReceiveFromISR(
 | 
			
		||||
 *                                     QueueHandle_t    xQueue,
 | 
			
		||||
 *                                     void             *pvBuffer,
 | 
			
		||||
 *                                     BaseType_t       *pxTaskWoken
 | 
			
		||||
 *                                 );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Receive an item from a queue.  It is safe to use this function from within an
 | 
			
		||||
 * interrupt service routine.
 | 
			
		||||
@ -1355,7 +1355,7 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 * otherwise pdFALSE.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * QueueHandle_t xQueue;
 | 
			
		||||
 *
 | 
			
		||||
@ -1410,7 +1410,7 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
 | 
			
		||||
 *      taskYIELD ();
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xQueueReceiveFromISR xQueueReceiveFromISR
 | 
			
		||||
 * \ingroup QueueManagement
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										136
									
								
								include/semphr.h
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								include/semphr.h
									
									
									
									
									
								
							@ -44,9 +44,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * vSemaphoreCreateBinary( SemaphoreHandle_t xSemaphore );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * In many usage scenarios it is faster and more memory efficient to use a
 | 
			
		||||
 * direct to task notification in place of a binary semaphore!
 | 
			
		||||
@ -74,7 +74,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * @param xSemaphore Handle to the created semaphore.  Should be of type SemaphoreHandle_t.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -89,7 +89,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // The semaphore can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vSemaphoreCreateBinary vSemaphoreCreateBinary
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -106,9 +106,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateBinary( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new binary semaphore instance, and returns a handle by which the
 | 
			
		||||
 * new semaphore can be referenced.
 | 
			
		||||
@ -144,7 +144,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * hold the semaphore's data structures could not be allocated.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -159,7 +159,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // The semaphore can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateBinary xSemaphoreCreateBinary
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -169,9 +169,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateBinaryStatic( StaticSemaphore_t *pxSemaphoreBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new binary semaphore instance, and returns a handle by which the
 | 
			
		||||
 * new semaphore can be referenced.
 | 
			
		||||
@ -204,7 +204,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * returned.  If pxSemaphoreBuffer is NULL then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
 * StaticSemaphore_t xSemaphoreBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -220,7 +220,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *
 | 
			
		||||
 *  // Rest of task code goes here.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateBinaryStatic xSemaphoreCreateBinaryStatic
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -230,12 +230,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreTake(
 | 
			
		||||
 *                   SemaphoreHandle_t xSemaphore,
 | 
			
		||||
 *                   TickType_t xBlockTime
 | 
			
		||||
 *               );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to obtain a semaphore.  The semaphore must have previously been
 | 
			
		||||
 * created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
 | 
			
		||||
@ -254,7 +254,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * if xBlockTime expired without the semaphore becoming available.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * // A task that creates a semaphore.
 | 
			
		||||
@ -291,7 +291,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      }
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreTake xSemaphoreTake
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -299,12 +299,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreTakeRecursive(
 | 
			
		||||
 *                          SemaphoreHandle_t xMutex,
 | 
			
		||||
 *                          TickType_t xBlockTime
 | 
			
		||||
 *                        );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to recursively obtain, or 'take', a mutex type semaphore.
 | 
			
		||||
 * The mutex must have previously been created using a call to
 | 
			
		||||
@ -335,7 +335,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * expired without the semaphore becoming available.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xMutex = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * // A task that creates a mutex.
 | 
			
		||||
@ -386,7 +386,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      }
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreTakeRecursive xSemaphoreTakeRecursive
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -396,9 +396,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreGive( SemaphoreHandle_t xSemaphore );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to release a semaphore.  The semaphore must have previously been
 | 
			
		||||
 * created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
 | 
			
		||||
@ -419,7 +419,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * semaphore was not first obtained correctly.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -453,7 +453,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      }
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreGive xSemaphoreGive
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -461,9 +461,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreGiveRecursive( SemaphoreHandle_t xMutex );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to recursively release, or 'give', a mutex type semaphore.
 | 
			
		||||
 * The mutex must have previously been created using a call to
 | 
			
		||||
@ -487,7 +487,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * @return pdTRUE if the semaphore was given.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xMutex = NULL;
 | 
			
		||||
 *
 | 
			
		||||
 * // A task that creates a mutex.
 | 
			
		||||
@ -539,7 +539,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      }
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreGiveRecursive xSemaphoreGiveRecursive
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -549,12 +549,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreGiveFromISR(
 | 
			
		||||
 *                        SemaphoreHandle_t xSemaphore,
 | 
			
		||||
 *                        BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                    );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to  release a semaphore.  The semaphore must have previously been
 | 
			
		||||
 * created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
 | 
			
		||||
@ -576,7 +576,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * @return pdTRUE if the semaphore was successfully given, otherwise errQUEUE_FULL.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 \#define LONG_TIME 0xffff
 | 
			
		||||
 \#define TICKS_TO_WAIT 10
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore = NULL;
 | 
			
		||||
@ -633,7 +633,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // to find the syntax required.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreGiveFromISR xSemaphoreGiveFromISR
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -641,12 +641,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * xSemaphoreTakeFromISR(
 | 
			
		||||
 *                        SemaphoreHandle_t xSemaphore,
 | 
			
		||||
 *                        BaseType_t *pxHigherPriorityTaskWoken
 | 
			
		||||
 *                    );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * <i>Macro</i> to  take a semaphore from an ISR.  The semaphore must have
 | 
			
		||||
 * previously been created with a call to xSemaphoreCreateBinary() or
 | 
			
		||||
@ -676,9 +676,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateMutex( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new mutex type semaphore instance, and returns a handle by which
 | 
			
		||||
 * the new mutex can be referenced.
 | 
			
		||||
@ -712,7 +712,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * data structures then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -727,7 +727,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // The semaphore can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateMutex xSemaphoreCreateMutex
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -737,9 +737,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateMutexStatic( StaticSemaphore_t *pxMutexBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new mutex type semaphore instance, and returns a handle by which
 | 
			
		||||
 * the new mutex can be referenced.
 | 
			
		||||
@ -776,7 +776,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * mutex is returned.  If pxMutexBuffer was NULL then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 * StaticSemaphore_t xMutexBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -790,7 +790,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *  // As no dynamic memory allocation was performed, xSemaphore cannot be NULL,
 | 
			
		||||
 *  // so there is no need to check it.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateMutexStatic xSemaphoreCreateMutexStatic
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -801,9 +801,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new recursive mutex type semaphore instance, and returns a handle
 | 
			
		||||
 * by which the new recursive mutex can be referenced.
 | 
			
		||||
@ -845,7 +845,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * SemaphoreHandle_t.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -860,7 +860,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // The semaphore can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateRecursiveMutex xSemaphoreCreateRecursiveMutex
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -870,9 +870,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateRecursiveMutexStatic( StaticSemaphore_t *pxMutexBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new recursive mutex type semaphore instance, and returns a handle
 | 
			
		||||
 * by which the new recursive mutex can be referenced.
 | 
			
		||||
@ -919,7 +919,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 * StaticSemaphore_t xMutexBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -935,7 +935,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *  // As no dynamic memory allocation was performed, xSemaphore cannot be NULL,
 | 
			
		||||
 *  // so there is no need to check it.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateRecursiveMutexStatic xSemaphoreCreateRecursiveMutexStatic
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -945,9 +945,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new counting semaphore instance, and returns a handle by which the
 | 
			
		||||
 * new counting semaphore can be referenced.
 | 
			
		||||
@ -999,7 +999,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *         created.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 *
 | 
			
		||||
 * void vATask( void * pvParameters )
 | 
			
		||||
@ -1017,7 +1017,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *      // The semaphore can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateCounting xSemaphoreCreateCounting
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -1027,9 +1027,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphoreCreateCountingStatic( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount, StaticSemaphore_t *pxSemaphoreBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new counting semaphore instance, and returns a handle by which the
 | 
			
		||||
 * new counting semaphore can be referenced.
 | 
			
		||||
@ -1085,7 +1085,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 * then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * SemaphoreHandle_t xSemaphore;
 | 
			
		||||
 * StaticSemaphore_t xSemaphoreBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -1104,7 +1104,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 *  // No memory allocation was attempted so xSemaphore cannot be NULL, so there
 | 
			
		||||
 *  // is no need to check its value.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xSemaphoreCreateCountingStatic xSemaphoreCreateCountingStatic
 | 
			
		||||
 * \ingroup Semaphores
 | 
			
		||||
 */
 | 
			
		||||
@ -1114,9 +1114,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vSemaphoreDelete( SemaphoreHandle_t xSemaphore );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Delete a semaphore.  This function must be used with care.  For example,
 | 
			
		||||
 * do not delete a mutex type semaphore if the mutex is held by a task.
 | 
			
		||||
@ -1130,9 +1130,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TaskHandle_t xSemaphoreGetMutexHolder( SemaphoreHandle_t xMutex );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * If xMutex is indeed a mutex type semaphore, return the current mutex holder.
 | 
			
		||||
 * If xMutex is not a mutex type semaphore, or the mutex is available (not held
 | 
			
		||||
@ -1147,9 +1147,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TaskHandle_t xSemaphoreGetMutexHolderFromISR( SemaphoreHandle_t xMutex );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * If xMutex is indeed a mutex type semaphore, return the current mutex holder.
 | 
			
		||||
 * If xMutex is not a mutex type semaphore, or the mutex is available (not held
 | 
			
		||||
@ -1160,9 +1160,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * If the semaphore is a counting semaphore then uxSemaphoreGetCount() returns
 | 
			
		||||
 * its current count value.  If the semaphore is a binary semaphore then
 | 
			
		||||
@ -1174,9 +1174,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * semphr.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxSemaphoreGetCountFromISR( SemaphoreHandle_t xSemaphore );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * If the semaphore is a counting semaphore then uxSemaphoreGetCountFromISR() returns
 | 
			
		||||
 * its current count value.  If the semaphore is a binary semaphore then
 | 
			
		||||
 | 
			
		||||
@ -75,9 +75,9 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * StreamBufferHandle_t xStreamBufferCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Creates a new stream buffer using dynamically allocated memory.  See
 | 
			
		||||
 * xStreamBufferCreateStatic() for a version that uses statically allocated
 | 
			
		||||
@ -111,7 +111,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 * buffer.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
@ -133,7 +133,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 *      // The stream buffer was created successfully and can now be used.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferCreate xStreamBufferCreate
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -142,12 +142,12 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes,
 | 
			
		||||
 *                                              size_t xTriggerLevelBytes,
 | 
			
		||||
 *                                              uint8_t *pucStreamBufferStorageArea,
 | 
			
		||||
 *                                              StaticStreamBuffer_t *pxStaticStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * Creates a new stream buffer using statically allocated memory.  See
 | 
			
		||||
 * xStreamBufferCreate() for a version that uses dynamically allocated memory.
 | 
			
		||||
 *
 | 
			
		||||
@ -184,7 +184,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 * pxStaticstreamBuffer are NULL then NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 * // Used to dimension the array used to hold the streams.  The available space
 | 
			
		||||
 * // will actually be one less than this, so 999.
 | 
			
		||||
@ -214,7 +214,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 *  // Other code that uses the stream buffer can go here.
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferCreateStatic xStreamBufferCreateStatic
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -224,12 +224,12 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *                        const void *pvTxData,
 | 
			
		||||
 *                        size_t xDataLengthBytes,
 | 
			
		||||
 *                        TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Sends bytes to a stream buffer.  The bytes are copied into the stream buffer.
 | 
			
		||||
 *
 | 
			
		||||
@ -279,7 +279,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 * write as many bytes as possible.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( StreamBufferHandle_t xStreamBuffer )
 | 
			
		||||
 * {
 | 
			
		||||
 * size_t xBytesSent;
 | 
			
		||||
@ -309,7 +309,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
 | 
			
		||||
 *      // were sent.  Could try again to send the remaining bytes.
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferSend xStreamBufferSend
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -321,12 +321,12 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *                               const void *pvTxData,
 | 
			
		||||
 *                               size_t xDataLengthBytes,
 | 
			
		||||
 *                               BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Interrupt safe version of the API function that sends a stream of bytes to
 | 
			
		||||
 * the stream buffer.
 | 
			
		||||
@ -378,7 +378,7 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 * space for all the bytes to be written.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A stream buffer that has already been created.
 | 
			
		||||
 * StreamBufferHandle_t xStreamBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -410,7 +410,7 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *  // documentation for the port in use for port specific instructions.
 | 
			
		||||
 *  taskYIELD_FROM_ISR( xHigherPriorityTaskWoken );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferSendFromISR xStreamBufferSendFromISR
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -422,12 +422,12 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *                           void *pvRxData,
 | 
			
		||||
 *                           size_t xBufferLengthBytes,
 | 
			
		||||
 *                           TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Receives bytes from a stream buffer.
 | 
			
		||||
 *
 | 
			
		||||
@ -477,7 +477,7 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 * out before xBufferLengthBytes were available.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( StreamBuffer_t xStreamBuffer )
 | 
			
		||||
 * {
 | 
			
		||||
 * uint8_t ucRxData[ 20 ];
 | 
			
		||||
@ -499,7 +499,7 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *      // be processed here....
 | 
			
		||||
 *  }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferReceive xStreamBufferReceive
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -511,12 +511,12 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *                                  void *pvRxData,
 | 
			
		||||
 *                                  size_t xBufferLengthBytes,
 | 
			
		||||
 *                                  BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * An interrupt safe version of the API function that receives bytes from a
 | 
			
		||||
 * stream buffer.
 | 
			
		||||
@ -553,7 +553,7 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 * @return The number of bytes read from the stream buffer, if any.
 | 
			
		||||
 *
 | 
			
		||||
 * Example use:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // A stream buffer that has already been created.
 | 
			
		||||
 * StreamBuffer_t xStreamBuffer;
 | 
			
		||||
 *
 | 
			
		||||
@ -585,7 +585,7 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
 *  // documentation for the port in use for port specific instructions.
 | 
			
		||||
 *  taskYIELD_FROM_ISR( xHigherPriorityTaskWoken );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xStreamBufferReceiveFromISR xStreamBufferReceiveFromISR
 | 
			
		||||
 * \ingroup StreamBufferManagement
 | 
			
		||||
 */
 | 
			
		||||
@ -597,9 +597,9 @@ size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Deletes a stream buffer that was previously created using a call to
 | 
			
		||||
 * xStreamBufferCreate() or xStreamBufferCreateStatic().  If the stream
 | 
			
		||||
@ -619,9 +619,9 @@ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTI
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Queries a stream buffer to see if it is full.  A stream buffer is full if it
 | 
			
		||||
 * does not have any free space, and therefore cannot accept any more data.
 | 
			
		||||
@ -639,9 +639,9 @@ BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Queries a stream buffer to see if it is empty.  A stream buffer is empty if
 | 
			
		||||
 * it does not contain any data.
 | 
			
		||||
@ -659,9 +659,9 @@ BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Resets a stream buffer to its initial, empty, state.  Any data that was in
 | 
			
		||||
 * the stream buffer is discarded.  A stream buffer can only be reset if there
 | 
			
		||||
@ -682,9 +682,9 @@ BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_F
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Queries a stream buffer to see how much free space it contains, which is
 | 
			
		||||
 * equal to the amount of data that can be sent to the stream buffer before it
 | 
			
		||||
@ -703,9 +703,9 @@ size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVIL
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Queries a stream buffer to see how much data it contains, which is equal to
 | 
			
		||||
 * the number of bytes that can be read from the stream buffer before the stream
 | 
			
		||||
@ -724,9 +724,9 @@ size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILE
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * A stream buffer's trigger level is the number of bytes that must be in the
 | 
			
		||||
 * stream buffer before a task that is blocked on the stream buffer to
 | 
			
		||||
@ -762,9 +762,9 @@ BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * For advanced users only.
 | 
			
		||||
 *
 | 
			
		||||
@ -802,9 +802,9 @@ BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer
 | 
			
		||||
/**
 | 
			
		||||
 * stream_buffer.h
 | 
			
		||||
 *
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * For advanced users only.
 | 
			
		||||
 *
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										290
									
								
								include/task.h
									
									
									
									
									
								
							
							
						
						
									
										290
									
								
								include/task.h
									
									
									
									
									
								
							@ -253,7 +253,7 @@ typedef enum
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCreate(
 | 
			
		||||
 *                            TaskFunction_t pxTaskCode,
 | 
			
		||||
 *                            const char *pcName,
 | 
			
		||||
@ -262,7 +262,7 @@ typedef enum
 | 
			
		||||
 *                            UBaseType_t uxPriority,
 | 
			
		||||
 *                            TaskHandle_t *pxCreatedTask
 | 
			
		||||
 *                        );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Create a new task and add it to the list of tasks that are ready to run.
 | 
			
		||||
 *
 | 
			
		||||
@ -312,7 +312,7 @@ typedef enum
 | 
			
		||||
 * list, otherwise an error code defined in the file projdefs.h
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Task to be created.
 | 
			
		||||
 * void vTaskCode( void * pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
@ -341,7 +341,7 @@ typedef enum
 | 
			
		||||
 *      vTaskDelete( xHandle );
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCreate xTaskCreate
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -356,7 +356,7 @@ typedef enum
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
 | 
			
		||||
 *                               const char *pcName,
 | 
			
		||||
 *                               uint32_t ulStackDepth,
 | 
			
		||||
@ -364,7 +364,7 @@ typedef enum
 | 
			
		||||
 *                               UBaseType_t uxPriority,
 | 
			
		||||
 *                               StackType_t *puxStackBuffer,
 | 
			
		||||
 *                               StaticTask_t *pxTaskBuffer );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Create a new task and add it to the list of tasks that are ready to run.
 | 
			
		||||
 *
 | 
			
		||||
@ -409,7 +409,7 @@ typedef enum
 | 
			
		||||
 * NULL is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *
 | 
			
		||||
 *  // Dimensions of the buffer that the task being created will use as its stack.
 | 
			
		||||
 *  // NOTE:  This is the number of words the stack will hold, not the number of
 | 
			
		||||
@ -458,7 +458,7 @@ typedef enum
 | 
			
		||||
 *      // to suspend the task.
 | 
			
		||||
 *      vTaskSuspend( xHandle );
 | 
			
		||||
 *  }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCreateStatic xTaskCreateStatic
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -474,9 +474,9 @@ typedef enum
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCreateRestricted( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Only available when configSUPPORT_DYNAMIC_ALLOCATION is set to 1.
 | 
			
		||||
 *
 | 
			
		||||
@ -502,7 +502,7 @@ typedef enum
 | 
			
		||||
 * list, otherwise an error code defined in the file projdefs.h
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Create an TaskParameters_t structure that defines the task to be created.
 | 
			
		||||
 * static const TaskParameters_t xCheckTaskParameters =
 | 
			
		||||
 * {
 | 
			
		||||
@ -541,7 +541,7 @@ typedef enum
 | 
			
		||||
 *  // and/or timer task.
 | 
			
		||||
 *  for( ;; );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCreateRestricted xTaskCreateRestricted
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -552,9 +552,9 @@ typedef enum
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCreateRestrictedStatic( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Only available when configSUPPORT_STATIC_ALLOCATION is set to 1.
 | 
			
		||||
 *
 | 
			
		||||
@ -586,7 +586,7 @@ typedef enum
 | 
			
		||||
 * list, otherwise an error code defined in the file projdefs.h
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Create an TaskParameters_t structure that defines the task to be created.
 | 
			
		||||
 * // The StaticTask_t variable is only included in the structure when
 | 
			
		||||
 * // configSUPPORT_STATIC_ALLOCATION is set to 1.  The PRIVILEGED_DATA macro can
 | 
			
		||||
@ -631,7 +631,7 @@ typedef enum
 | 
			
		||||
 *  // and/or timer task.
 | 
			
		||||
 *  for( ;; );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -642,9 +642,9 @@ typedef enum
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const pxRegions );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Memory regions are assigned to a restricted task when the task is created by
 | 
			
		||||
 * a call to xTaskCreateRestricted().  These regions can be redefined using
 | 
			
		||||
@ -656,7 +656,7 @@ typedef enum
 | 
			
		||||
 * new memory region definitions.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Define an array of MemoryRegion_t structures that configures an MPU region
 | 
			
		||||
 * // allowing read/write access for 1024 bytes starting at the beginning of the
 | 
			
		||||
 * // ucOneKByte array.  The other two of the maximum 3 definable regions are
 | 
			
		||||
@ -683,7 +683,7 @@ typedef enum
 | 
			
		||||
 *  // access its stack and the ucOneKByte array (unless any other statically
 | 
			
		||||
 *  // defined or shared regions have been declared elsewhere).
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCreateRestricted xTaskCreateRestricted
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -692,9 +692,9 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskDelete( TaskHandle_t xTaskToDelete );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_vTaskDelete must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -716,7 +716,7 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
 | 
			
		||||
 * cause the calling task to be deleted.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vOtherFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -727,7 +727,7 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
 | 
			
		||||
 *   // Use the handle to delete the task.
 | 
			
		||||
 *   vTaskDelete( xHandle );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskDelete vTaskDelete
 | 
			
		||||
 * \ingroup Tasks
 | 
			
		||||
 */
 | 
			
		||||
@ -739,9 +739,9 @@ void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskDelay( const TickType_t xTicksToDelay );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Delay a task for a given number of ticks.  The actual time that the
 | 
			
		||||
 * task remains blocked depends on the tick rate.  The constant
 | 
			
		||||
@ -789,9 +789,9 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_xTaskDelayUntil must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -829,7 +829,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * be delayed if the next expected wake time is in the past.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * // Perform an action every 10 ticks.
 | 
			
		||||
 * void vTaskFunction( void * pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
@ -848,7 +848,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *         // whether a deadline was missed if the code here took too long.
 | 
			
		||||
 *     }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskDelayUntil xTaskDelayUntil
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -867,9 +867,9 @@ BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskAbortDelay( TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_xTaskAbortDelay must be defined as 1 in FreeRTOSConfig.h for this
 | 
			
		||||
 * function to be available.
 | 
			
		||||
@ -899,9 +899,9 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -914,7 +914,7 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * @return The priority of xTask.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -940,7 +940,7 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *       // Our priority (obtained using NULL handle) is higher.
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup uxTaskPriorityGet uxTaskPriorityGet
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -948,9 +948,9 @@ UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * A version of uxTaskPriorityGet() that can be used from an ISR.
 | 
			
		||||
 */
 | 
			
		||||
@ -958,9 +958,9 @@ UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNC
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * eTaskState eTaskGetState( TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_eTaskGetState must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -978,9 +978,9 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * configUSE_TRACE_FACILITY must be defined as 1 for this function to be
 | 
			
		||||
 * available.  See the configuration section for more information.
 | 
			
		||||
@ -1010,7 +1010,7 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * eState will be reported as the task state in the TaskStatus_t structure.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -1028,7 +1028,7 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *                pdTRUE, // Include the high water mark in xTaskDetails.
 | 
			
		||||
 *                eInvalid ); // Include the task state in xTaskDetails.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskGetInfo vTaskGetInfo
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -1039,9 +1039,9 @@ void vTaskGetInfo( TaskHandle_t xTask,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -1057,7 +1057,7 @@ void vTaskGetInfo( TaskHandle_t xTask,
 | 
			
		||||
 * @param uxNewPriority The priority to which the task will be set.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -1075,7 +1075,7 @@ void vTaskGetInfo( TaskHandle_t xTask,
 | 
			
		||||
 *   // Use a NULL handle to raise our priority to the same value.
 | 
			
		||||
 *   vTaskPrioritySet( NULL, tskIDLE_PRIORITY + 1 );
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskPrioritySet vTaskPrioritySet
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -1084,9 +1084,9 @@ void vTaskPrioritySet( TaskHandle_t xTask,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskSuspend( TaskHandle_t xTaskToSuspend );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_vTaskSuspend must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -1102,7 +1102,7 @@ void vTaskPrioritySet( TaskHandle_t xTask,
 | 
			
		||||
 * handle will cause the calling task to be suspended.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -1129,7 +1129,7 @@ void vTaskPrioritySet( TaskHandle_t xTask,
 | 
			
		||||
 *   // We cannot get here unless another task calls vTaskResume
 | 
			
		||||
 *   // with our handle as the parameter.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskSuspend vTaskSuspend
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -1137,9 +1137,9 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskResume( TaskHandle_t xTaskToResume );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_vTaskSuspend must be defined as 1 for this function to be available.
 | 
			
		||||
 * See the configuration section for more information.
 | 
			
		||||
@ -1153,7 +1153,7 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * @param xTaskToResume Handle to the task being readied.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 * TaskHandle_t xHandle;
 | 
			
		||||
@ -1180,7 +1180,7 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *   // The created task will once again get microcontroller processing
 | 
			
		||||
 *   // time in accordance with its priority within the system.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskResume vTaskResume
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -1188,9 +1188,9 @@ void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void xTaskResumeFromISR( TaskHandle_t xTaskToResume );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be
 | 
			
		||||
 * available.  See the configuration section for more information.
 | 
			
		||||
@ -1223,9 +1223,9 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskStartScheduler( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Starts the real time kernel tick processing.  After calling the kernel
 | 
			
		||||
 * has control over which tasks are executed and when.
 | 
			
		||||
@ -1234,7 +1234,7 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * tasks and starting the kernel.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vAFunction( void )
 | 
			
		||||
 * {
 | 
			
		||||
 *   // Create at least one task before starting the kernel.
 | 
			
		||||
@ -1245,7 +1245,7 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 *   // Will not get here unless a task calls vTaskEndScheduler ()
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup vTaskStartScheduler vTaskStartScheduler
 | 
			
		||||
 * \ingroup SchedulerControl
 | 
			
		||||
@ -1254,9 +1254,9 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskEndScheduler( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE:  At the time of writing only the x86 real mode port, which runs on a PC
 | 
			
		||||
 * in place of DOS, implements this function.
 | 
			
		||||
@ -1278,7 +1278,7 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * tasks.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskCode( void * pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
 *   for( ;; )
 | 
			
		||||
@ -1303,7 +1303,7 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *   // vTaskEndScheduler ().  When we get here we are back to single task
 | 
			
		||||
 *   // execution.
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * \defgroup vTaskEndScheduler vTaskEndScheduler
 | 
			
		||||
 * \ingroup SchedulerControl
 | 
			
		||||
@ -1312,9 +1312,9 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskSuspendAll( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Suspends the scheduler without disabling interrupts.  Context switches will
 | 
			
		||||
 * not occur while the scheduler is suspended.
 | 
			
		||||
@ -1328,7 +1328,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * is suspended.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTask1( void * pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
 *   for( ;; )
 | 
			
		||||
@ -1357,7 +1357,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *       xTaskResumeAll ();
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup vTaskSuspendAll vTaskSuspendAll
 | 
			
		||||
 * \ingroup SchedulerControl
 | 
			
		||||
 */
 | 
			
		||||
@ -1365,9 +1365,9 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskResumeAll( void );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Resumes scheduler activity after it was suspended by a call to
 | 
			
		||||
 * vTaskSuspendAll().
 | 
			
		||||
@ -1379,7 +1379,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *         returned, otherwise pdFALSE is returned.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTask1( void * pvParameters )
 | 
			
		||||
 * {
 | 
			
		||||
 *   for( ;; )
 | 
			
		||||
@ -1413,7 +1413,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *       }
 | 
			
		||||
 *   }
 | 
			
		||||
 * }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskResumeAll xTaskResumeAll
 | 
			
		||||
 * \ingroup SchedulerControl
 | 
			
		||||
 */
 | 
			
		||||
@ -1425,7 +1425,9 @@ BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>TickType_t xTaskGetTickCount( void );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TickType_t xTaskGetTickCount( void );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * @return The count of ticks since vTaskStartScheduler was called.
 | 
			
		||||
 *
 | 
			
		||||
@ -1436,7 +1438,9 @@ TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>TickType_t xTaskGetTickCountFromISR( void );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TickType_t xTaskGetTickCountFromISR( void );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * @return The count of ticks since vTaskStartScheduler was called.
 | 
			
		||||
 *
 | 
			
		||||
@ -1452,7 +1456,9 @@ TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>uint16_t uxTaskGetNumberOfTasks( void );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * uint16_t uxTaskGetNumberOfTasks( void );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * @return The number of tasks that the real time kernel is currently managing.
 | 
			
		||||
 * This includes all ready, blocked and suspended tasks.  A task that
 | 
			
		||||
@ -1466,7 +1472,9 @@ UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>char *pcTaskGetName( TaskHandle_t xTaskToQuery );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * char *pcTaskGetName( TaskHandle_t xTaskToQuery );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * @return The text (human readable) name of the task referenced by the handle
 | 
			
		||||
 * xTaskToQuery.  A task can query its own name by either passing in its own
 | 
			
		||||
@ -1479,7 +1487,9 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lint !e
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>TaskHandle_t xTaskGetHandle( const char *pcNameToQuery );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * TaskHandle_t xTaskGetHandle( const char *pcNameToQuery );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE:  This function takes a relatively long time to complete and should be
 | 
			
		||||
 * used sparingly.
 | 
			
		||||
@ -1495,7 +1505,9 @@ TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION; /
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <PRE>UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for
 | 
			
		||||
 * this function to be available.
 | 
			
		||||
@ -1522,7 +1534,9 @@ UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTIO
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <PRE>configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * INCLUDE_uxTaskGetStackHighWaterMark2 must be set to 1 in FreeRTOSConfig.h for
 | 
			
		||||
 * this function to be available.
 | 
			
		||||
@ -1558,9 +1572,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Sets pxHookFunction to be the task hook function used by the task xTask.
 | 
			
		||||
 * Passing xTask as NULL has the effect of setting the calling tasks hook
 | 
			
		||||
@ -1571,9 +1585,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void xTaskGetApplicationTaskTag( TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Returns the pxHookFunction value assigned to the task xTask.  Do not
 | 
			
		||||
 * call from an interrupt service routine - call
 | 
			
		||||
@ -1583,9 +1597,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Returns the pxHookFunction value assigned to the task xTask.  Can
 | 
			
		||||
 * be called from an interrupt service routine.
 | 
			
		||||
@ -1613,7 +1627,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); </pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName);
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * The application stack overflow hook is called when a stack overflow is detected for a task.
 | 
			
		||||
 *
 | 
			
		||||
@ -1631,7 +1647,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *  task.h
 | 
			
		||||
 *  <pre>void vApplicationTickHook( void ); </pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vApplicationTickHook( void );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This hook function is called in the system tick handler after any OS work is completed.
 | 
			
		||||
 */
 | 
			
		||||
@ -1643,7 +1661,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) </pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize )
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB.  This function is required when
 | 
			
		||||
 * configSUPPORT_STATIC_ALLOCATION is set.  For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
 | 
			
		||||
@ -1659,9 +1679,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Calls the hook function associated with xTask.  Passing xTask as NULL has
 | 
			
		||||
 * the effect of calling the Running tasks (the calling task) hook function.
 | 
			
		||||
@ -1717,7 +1737,7 @@ TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * in the uxArraySize parameter was too small.
 | 
			
		||||
 *
 | 
			
		||||
 * Example usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *  // This example demonstrates how a human readable table of run time stats
 | 
			
		||||
 *  // information is generated from raw data provided by uxTaskGetSystemState().
 | 
			
		||||
 *  // The human readable table is written to pcWriteBuffer
 | 
			
		||||
@ -1777,7 +1797,7 @@ TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *          vPortFree( pxTaskStatusArray );
 | 
			
		||||
 *      }
 | 
			
		||||
 *  }
 | 
			
		||||
 *  </pre>
 | 
			
		||||
 *  @endcode
 | 
			
		||||
 */
 | 
			
		||||
UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
 | 
			
		||||
                                  const UBaseType_t uxArraySize,
 | 
			
		||||
@ -1785,7 +1805,9 @@ UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>void vTaskList( char *pcWriteBuffer );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskList( char *pcWriteBuffer );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must
 | 
			
		||||
 * both be defined as 1 for this function to be available.  See the
 | 
			
		||||
@ -1834,7 +1856,9 @@ void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unquali
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>void vTaskGetRunTimeStats( char *pcWriteBuffer );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskGetRunTimeStats( char *pcWriteBuffer );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS
 | 
			
		||||
 * must both be defined as 1 for this function to be available.  The application
 | 
			
		||||
@ -1888,8 +1912,10 @@ void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void );</PRE>
 | 
			
		||||
 * <PRE>configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void );
 | 
			
		||||
 * configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and
 | 
			
		||||
 * INCLUDE_xTaskGetIdleTaskHandle must all be defined as 1 for these functions
 | 
			
		||||
@ -1927,8 +1953,10 @@ configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ) PRIVILEGED_FUNCT
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction );</PRE>
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction );
 | 
			
		||||
 * BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2043,8 +2071,10 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyAndQueryIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );</PRE>
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyAndQuery( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyAndQueryIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );
 | 
			
		||||
 * BaseType_t xTaskNotifyAndQuery( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2070,8 +2100,10 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2192,8 +2224,10 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyAndQueryIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyAndQueryFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyAndQueryIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * BaseType_t xTaskNotifyAndQueryFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2219,11 +2253,11 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyWaitIndexed( UBaseType_t uxIndexToWaitOn, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );
 | 
			
		||||
 *
 | 
			
		||||
 * BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Waits for a direct to task notification to be pending at a given index within
 | 
			
		||||
 * an array of direct to task notifications.
 | 
			
		||||
@ -2333,8 +2367,10 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify );</PRE>
 | 
			
		||||
 * <PRE>BaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify );
 | 
			
		||||
 * BaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Sends a direct to task notification to a particular index in the target
 | 
			
		||||
 * task's notification array in a manner similar to giving a counting semaphore.
 | 
			
		||||
@ -2408,8 +2444,10 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <PRE>void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * <PRE>void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken );
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * A version of xTaskNotifyGiveIndexed() that can be called from an interrupt
 | 
			
		||||
 * service routine (ISR).
 | 
			
		||||
@ -2493,11 +2531,11 @@ void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * uint32_t ulTaskNotifyTakeIndexed( UBaseType_t uxIndexToWaitOn, BaseType_t xClearCountOnExit, TickType_t xTicksToWait );
 | 
			
		||||
 *
 | 
			
		||||
 * uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Waits for a direct to task notification on a particular index in the calling
 | 
			
		||||
 * task's notification array in a manner similar to taking a counting semaphore.
 | 
			
		||||
@ -2599,11 +2637,11 @@ uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskNotifyStateClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToCLear );
 | 
			
		||||
 *
 | 
			
		||||
 * BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2663,11 +2701,11 @@ BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task. h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * uint32_t ulTaskNotifyValueClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear );
 | 
			
		||||
 *
 | 
			
		||||
 * uint32_t ulTaskNotifyValueClear( TaskHandle_t xTask, uint32_t ulBitsToClear );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
 | 
			
		||||
 *
 | 
			
		||||
@ -2729,9 +2767,9 @@ uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Capture the current time for future use with xTaskCheckForTimeOut().
 | 
			
		||||
 *
 | 
			
		||||
@ -2745,9 +2783,9 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * Determines if pxTicksToWait ticks has passed since a time was captured
 | 
			
		||||
 * using a call to vTaskSetTimeOutState().  The captured time includes the tick
 | 
			
		||||
@ -2769,7 +2807,7 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 * @see https://www.FreeRTOS.org/xTaskCheckForTimeOut.html
 | 
			
		||||
 *
 | 
			
		||||
 * Example Usage:
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 *  // Driver library function used to receive uxWantedBytes from an Rx buffer
 | 
			
		||||
 *  // that is filled by a UART interrupt. If there are not enough bytes in the
 | 
			
		||||
 *  // Rx buffer then the task enters the Blocked state until it is notified that
 | 
			
		||||
@ -2822,7 +2860,7 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 *
 | 
			
		||||
 *      return uxReceived;
 | 
			
		||||
 *  }
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut
 | 
			
		||||
 * \ingroup TaskCtrl
 | 
			
		||||
 */
 | 
			
		||||
@ -2831,9 +2869,9 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp );
 | 
			
		||||
 * </pre>
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This function corrects the tick count value after the application code has held
 | 
			
		||||
 * interrupts disabled for an extended period resulting in tick interrupts having
 | 
			
		||||
 | 
			
		||||
@ -1330,7 +1330,9 @@ BaseType_t xTimerGenericCommand( TimerHandle_t xTimer,
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * task.h
 | 
			
		||||
 * <pre>void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize ) </pre>
 | 
			
		||||
 * @code{c}
 | 
			
		||||
 * void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize )
 | 
			
		||||
 * @endcode
 | 
			
		||||
 *
 | 
			
		||||
 * This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer Task TCB.  This function is required when
 | 
			
		||||
 * configSUPPORT_STATIC_ALLOCATION is set.  For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user