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