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:
Zim Kalinowski 2021-09-08 03:03:12 +08:00 committed by GitHub
parent fa0f5c436c
commit f8ada39d85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 421 additions and 381 deletions

View File

@ -62,13 +62,13 @@ typedef struct corCoRoutineControlBlock
/**
* croutine. h
* <pre>
* @code{c}
* BaseType_t xCoRoutineCreate(
* crCOROUTINE_CODE pxCoRoutineCode,
* UBaseType_t uxPriority,
* UBaseType_t uxIndex
* );
* </pre>
* @endcode
*
* Create a new co-routine and add it to the list of co-routines that are
* ready to run.
@ -88,7 +88,7 @@ typedef struct corCoRoutineControlBlock
* list, otherwise an error code defined with ProjDefs.h.
*
* Example usage:
* <pre>
* @code{c}
* // Co-routine to be created.
* void vFlashCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
* {
@ -129,7 +129,7 @@ typedef struct corCoRoutineControlBlock
* xCoRoutineCreate( vFlashCoRoutine, 0, uxIndex );
* }
* }
* </pre>
* @endcode
* \defgroup xCoRoutineCreate xCoRoutineCreate
* \ingroup Tasks
*/
@ -140,9 +140,9 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
/**
* croutine. h
* <pre>
* @code{c}
* void vCoRoutineSchedule( void );
* </pre>
* @endcode
*
* Run a co-routine.
*
@ -156,7 +156,7 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
* hook).
*
* Example usage:
* <pre>
* @code{c}
* // This idle task hook will schedule a co-routine each time it is called.
* // The rest of the idle task will execute between co-routine calls.
* void vApplicationIdleHook( void )
@ -174,7 +174,7 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode,
* vCoRoutineSchedule();
* }
* }
* </pre>
* @endcode
* \defgroup vCoRoutineSchedule vCoRoutineSchedule
* \ingroup Tasks
*/
@ -182,14 +182,14 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crSTART( CoRoutineHandle_t xHandle );
* </pre>
* @endcode
*
* This macro MUST always be called at the start of a co-routine function.
*
* Example usage:
* <pre>
* @code{c}
* // Co-routine to be created.
* void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
* {
@ -207,7 +207,7 @@ void vCoRoutineSchedule( void );
* // Must end every co-routine with a call to crEND();
* crEND();
* }
* </pre>
* @endcode
* \defgroup crSTART crSTART
* \ingroup Tasks
*/
@ -217,14 +217,14 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crEND();
* </pre>
* @endcode
*
* This macro MUST always be called at the end of a co-routine function.
*
* Example usage:
* <pre>
* @code{c}
* // Co-routine to be created.
* void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
* {
@ -242,7 +242,7 @@ void vCoRoutineSchedule( void );
* // Must end every co-routine with a call to crEND();
* crEND();
* }
* </pre>
* @endcode
* \defgroup crSTART crSTART
* \ingroup Tasks
*/
@ -261,9 +261,9 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crDELAY( CoRoutineHandle_t xHandle, TickType_t xTicksToDelay );
* </pre>
* @endcode
*
* Delay a co-routine for a fixed period of time.
*
@ -280,7 +280,7 @@ void vCoRoutineSchedule( void );
* can be used to convert ticks to milliseconds.
*
* Example usage:
* <pre>
* @code{c}
* // Co-routine to be created.
* void vACoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
* {
@ -303,7 +303,7 @@ void vCoRoutineSchedule( void );
* // Must end every co-routine with a call to crEND();
* crEND();
* }
* </pre>
* @endcode
* \defgroup crDELAY crDELAY
* \ingroup Tasks
*/
@ -315,7 +315,7 @@ void vCoRoutineSchedule( void );
crSET_STATE0( ( xHandle ) );
/**
* <pre>
* @code{c}
* crQUEUE_SEND(
* CoRoutineHandle_t xHandle,
* QueueHandle_t pxQueue,
@ -323,7 +323,7 @@ void vCoRoutineSchedule( void );
* TickType_t xTicksToWait,
* BaseType_t *pxResult
* )
* </pre>
* @endcode
*
* The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine
* equivalent to the xQueueSend() and xQueueReceive() functions used by tasks.
@ -363,7 +363,7 @@ void vCoRoutineSchedule( void );
* error defined within ProjDefs.h.
*
* Example usage:
* <pre>
* @code{c}
* // Co-routine function that blocks for a fixed period then posts a number onto
* // a queue.
* static void prvCoRoutineFlashTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
@ -395,7 +395,7 @@ void vCoRoutineSchedule( void );
* // Co-routines must end with a call to crEND().
* crEND();
* }
* </pre>
* @endcode
* \defgroup crQUEUE_SEND crQUEUE_SEND
* \ingroup Tasks
*/
@ -416,7 +416,7 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crQUEUE_RECEIVE(
* CoRoutineHandle_t xHandle,
* QueueHandle_t pxQueue,
@ -424,7 +424,7 @@ void vCoRoutineSchedule( void );
* TickType_t xTicksToWait,
* BaseType_t *pxResult
* )
* </pre>
* @endcode
*
* The macro's crQUEUE_SEND() and crQUEUE_RECEIVE() are the co-routine
* equivalent to the xQueueSend() and xQueueReceive() functions used by tasks.
@ -463,7 +463,7 @@ void vCoRoutineSchedule( void );
* an error code as defined within ProjDefs.h.
*
* Example usage:
* <pre>
* @code{c}
* // A co-routine receives the number of an LED to flash from a queue. It
* // blocks on the queue until the number is received.
* static void prvCoRoutineFlashWorkTask( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
@ -489,7 +489,7 @@ void vCoRoutineSchedule( void );
*
* crEND();
* }
* </pre>
* @endcode
* \defgroup crQUEUE_RECEIVE crQUEUE_RECEIVE
* \ingroup Tasks
*/
@ -510,13 +510,13 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crQUEUE_SEND_FROM_ISR(
* QueueHandle_t pxQueue,
* void *pvItemToQueue,
* BaseType_t xCoRoutinePreviouslyWoken
* )
* </pre>
* @endcode
*
* The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the
* co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR()
@ -551,7 +551,7 @@ void vCoRoutineSchedule( void );
* the ISR.
*
* Example usage:
* <pre>
* @code{c}
* // A co-routine that blocks on a queue waiting for characters to be received.
* static void vReceivingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
* {
@ -600,7 +600,7 @@ void vCoRoutineSchedule( void );
* xCRWokenByPost = crQUEUE_SEND_FROM_ISR( xCommsRxQueue, &cRxedChar, xCRWokenByPost );
* }
* }
* </pre>
* @endcode
* \defgroup crQUEUE_SEND_FROM_ISR crQUEUE_SEND_FROM_ISR
* \ingroup Tasks
*/
@ -610,13 +610,13 @@ void vCoRoutineSchedule( void );
/**
* croutine. h
* <pre>
* @code{c}
* crQUEUE_SEND_FROM_ISR(
* QueueHandle_t pxQueue,
* void *pvBuffer,
* BaseType_t * pxCoRoutineWoken
* )
* </pre>
* @endcode
*
* The macro's crQUEUE_SEND_FROM_ISR() and crQUEUE_RECEIVE_FROM_ISR() are the
* co-routine equivalent to the xQueueSendFromISR() and xQueueReceiveFromISR()
@ -651,7 +651,7 @@ void vCoRoutineSchedule( void );
* pdFALSE.
*
* Example usage:
* <pre>
* @code{c}
* // A co-routine that posts a character to a queue then blocks for a fixed
* // period. The character is incremented each time.
* static void vSendingCoRoutine( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
@ -716,7 +716,7 @@ void vCoRoutineSchedule( void );
* }
* }
* }
* </pre>
* @endcode
* \defgroup crQUEUE_RECEIVE_FROM_ISR crQUEUE_RECEIVE_FROM_ISR
* \ingroup Tasks
*/

View File

@ -89,9 +89,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* MessageBufferHandle_t xMessageBufferCreate( size_t xBufferSizeBytes );
* </pre>
* @endcode
*
* Creates a new message buffer using dynamically allocated memory. See
* xMessageBufferCreateStatic() for a version that uses statically allocated
@ -115,7 +115,7 @@ typedef void * MessageBufferHandle_t;
* buffer.
*
* Example use:
* <pre>
* @code{c}
*
* void vAFunction( void )
* {
@ -138,7 +138,7 @@ typedef void * MessageBufferHandle_t;
* // The message buffer was created successfully and can now be used.
* }
*
* </pre>
* @endcode
* \defgroup xMessageBufferCreate xMessageBufferCreate
* \ingroup MessageBufferManagement
*/
@ -148,11 +148,11 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes,
* uint8_t *pucMessageBufferStorageArea,
* StaticMessageBuffer_t *pxStaticMessageBuffer );
* </pre>
* @endcode
* Creates a new message buffer using statically allocated memory. See
* xMessageBufferCreate() for a version that uses dynamically allocated memory.
*
@ -177,7 +177,7 @@ typedef void * MessageBufferHandle_t;
* pxStaticmessageBuffer are NULL then NULL is returned.
*
* Example use:
* <pre>
* @code{c}
*
* // Used to dimension the array used to hold the messages. The available space
* // will actually be one less than this, so 999.
@ -205,7 +205,7 @@ typedef void * MessageBufferHandle_t;
* // Other code that uses the message buffer can go here.
* }
*
* </pre>
* @endcode
* \defgroup xMessageBufferCreateStatic xMessageBufferCreateStatic
* \ingroup MessageBufferManagement
*/
@ -215,12 +215,12 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer,
* const void *pvTxData,
* size_t xDataLengthBytes,
* TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Sends a discrete message to the message buffer. The message can be any
* length that fits within the buffer's free space, and is copied into the
@ -277,7 +277,7 @@ typedef void * MessageBufferHandle_t;
* time out then xDataLengthBytes is returned.
*
* Example use:
* <pre>
* @code{c}
* void vAFunction( MessageBufferHandle_t xMessageBuffer )
* {
* size_t xBytesSent;
@ -305,7 +305,7 @@ typedef void * MessageBufferHandle_t;
* // not enough free space in the buffer.
* }
* }
* </pre>
* @endcode
* \defgroup xMessageBufferSend xMessageBufferSend
* \ingroup MessageBufferManagement
*/
@ -315,12 +315,12 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer,
* const void *pvTxData,
* size_t xDataLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* Interrupt safe version of the API function that sends a discrete message to
* the message buffer. The message can be any length that fits within the
@ -378,7 +378,7 @@ typedef void * MessageBufferHandle_t;
* then 0 is returned, otherwise xDataLengthBytes is returned.
*
* Example use:
* <pre>
* @code{c}
* // A message buffer that has already been created.
* MessageBufferHandle_t xMessageBuffer;
*
@ -410,7 +410,7 @@ typedef void * MessageBufferHandle_t;
* // documentation for the port in use for port specific instructions.
* portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
* }
* </pre>
* @endcode
* \defgroup xMessageBufferSendFromISR xMessageBufferSendFromISR
* \ingroup MessageBufferManagement
*/
@ -420,12 +420,12 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer,
* void *pvRxData,
* size_t xBufferLengthBytes,
* TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Receives a discrete message from a message buffer. Messages can be of
* variable length and are copied out of the buffer.
@ -478,7 +478,7 @@ typedef void * MessageBufferHandle_t;
* zero is returned.
*
* Example use:
* <pre>
* @code{c}
* void vAFunction( MessageBuffer_t xMessageBuffer )
* {
* uint8_t ucRxData[ 20 ];
@ -499,7 +499,7 @@ typedef void * MessageBufferHandle_t;
* // the message here....
* }
* }
* </pre>
* @endcode
* \defgroup xMessageBufferReceive xMessageBufferReceive
* \ingroup MessageBufferManagement
*/
@ -510,12 +510,12 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer,
* void *pvRxData,
* size_t xBufferLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* An interrupt safe version of the API function that receives a discrete
* message from a message buffer. Messages can be of variable length and are
@ -569,7 +569,7 @@ typedef void * MessageBufferHandle_t;
* any.
*
* Example use:
* <pre>
* @code{c}
* // A message buffer that has already been created.
* MessageBuffer_t xMessageBuffer;
*
@ -601,7 +601,7 @@ typedef void * MessageBufferHandle_t;
* // documentation for the port in use for port specific instructions.
* portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
* }
* </pre>
* @endcode
* \defgroup xMessageBufferReceiveFromISR xMessageBufferReceiveFromISR
* \ingroup MessageBufferManagement
*/
@ -611,9 +611,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* void vMessageBufferDelete( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
*
* Deletes a message buffer that was previously created using a call to
* xMessageBufferCreate() or xMessageBufferCreateStatic(). If the message
@ -631,9 +631,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
* <pre>
* @code{c}
* BaseType_t xMessageBufferIsFull( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
*
* Tests to see if a message buffer is full. A message buffer is full if it
* cannot accept any more messages, of any size, until space is made available
@ -649,9 +649,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
* <pre>
* @code{c}
* BaseType_t xMessageBufferIsEmpty( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
*
* Tests to see if a message buffer is empty (does not contain any messages).
*
@ -666,9 +666,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
* <pre>
* @code{c}
* BaseType_t xMessageBufferReset( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
*
* Resets a message buffer to its initial empty state, discarding any message it
* contained.
@ -691,9 +691,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
* <pre>
* @code{c}
* size_t xMessageBufferSpaceAvailable( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
* Returns the number of bytes of free space in the message buffer.
*
* @param xMessageBuffer The handle of the message buffer being queried.
@ -715,9 +715,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
* <pre>
* @code{c}
* size_t xMessageBufferNextLengthBytes( MessageBufferHandle_t xMessageBuffer );
* </pre>
* @endcode
* Returns the length (in bytes) of the next message in a message buffer.
* Useful if xMessageBufferReceive() returned 0 because the size of the buffer
* passed into xMessageBufferReceive() was too small to hold the next message.
@ -736,9 +736,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xMessageBufferSendCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* For advanced users only.
*
@ -776,9 +776,9 @@ typedef void * MessageBufferHandle_t;
/**
* message_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xMessageBufferReceiveCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* For advanced users only.
*

View File

@ -79,12 +79,12 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* QueueHandle_t xQueueCreate(
* UBaseType_t uxQueueLength,
* UBaseType_t uxItemSize
* );
* </pre>
* @endcode
*
* Creates a new queue instance, and returns a handle by which the new queue
* can be referenced.
@ -113,7 +113,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* returned.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -141,7 +141,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueCreate xQueueCreate
* \ingroup QueueManagement
*/
@ -151,14 +151,14 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* QueueHandle_t xQueueCreateStatic(
* UBaseType_t uxQueueLength,
* UBaseType_t uxItemSize,
* uint8_t *pucQueueStorage,
* StaticQueue_t *pxQueueBuffer
* );
* </pre>
* @endcode
*
* Creates a new queue instance, and returns a handle by which the new queue
* can be referenced.
@ -195,7 +195,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* returned. If pxQueueBuffer is NULL then NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -227,7 +227,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueCreateStatic xQueueCreateStatic
* \ingroup QueueManagement
*/
@ -237,13 +237,13 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSendToToFront(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* TickType_t xTicksToWait
* );
* </pre>
* @endcode
*
* Post an item to the front of a queue. The item is queued by copy, not by
* reference. This function must not be called from an interrupt service
@ -266,7 +266,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -309,7 +309,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueSend xQueueSend
* \ingroup QueueManagement
*/
@ -318,13 +318,13 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSendToBack(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* TickType_t xTicksToWait
* );
* </pre>
* @endcode
*
* This is a macro that calls xQueueGenericSend().
*
@ -349,7 +349,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -392,7 +392,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueSend xQueueSend
* \ingroup QueueManagement
*/
@ -401,13 +401,13 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSend(
* QueueHandle_t xQueue,
* const void * pvItemToQueue,
* TickType_t xTicksToWait
* );
* </pre>
* @endcode
*
* This is a macro that calls xQueueGenericSend(). It is included for
* backward compatibility with versions of FreeRTOS.org that did not
@ -434,7 +434,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -477,7 +477,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueSend xQueueSend
* \ingroup QueueManagement
*/
@ -486,12 +486,12 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueOverwrite(
* QueueHandle_t xQueue,
* const void * pvItemToQueue
* );
* </pre>
* @endcode
*
* Only for use with queues that have a length of one - so the queue is either
* empty or full.
@ -515,7 +515,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* to the queue even when the queue is already full.
*
* Example usage:
* <pre>
* @code{c}
*
* void vFunction( void *pvParameters )
* {
@ -561,7 +561,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ...
* }
* </pre>
* @endcode
* \defgroup xQueueOverwrite xQueueOverwrite
* \ingroup QueueManagement
*/
@ -571,14 +571,14 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueGenericSend(
* QueueHandle_t xQueue,
* const void * pvItemToQueue,
* TickType_t xTicksToWait
* BaseType_t xCopyPosition
* );
* </pre>
* @endcode
*
* It is preferred that the macros xQueueSend(), xQueueSendToFront() and
* xQueueSendToBack() are used in place of calling this function directly.
@ -607,7 +607,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
* @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -650,7 +650,7 @@ typedef struct QueueDefinition * QueueSetMemberHandle_t;
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueSend xQueueSend
* \ingroup QueueManagement
*/
@ -661,13 +661,13 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueuePeek(
* QueueHandle_t xQueue,
* void * const pvBuffer,
* TickType_t xTicksToWait
* );
* </pre>
* @endcode
*
* Receive an item from a queue without removing the item from the queue.
* The item is received by copy so a buffer of adequate size must be
@ -698,7 +698,7 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
* otherwise pdFALSE.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -748,7 +748,7 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueuePeek xQueuePeek
* \ingroup QueueManagement
*/
@ -758,12 +758,12 @@ BaseType_t xQueuePeek( QueueHandle_t xQueue,
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueuePeekFromISR(
* QueueHandle_t xQueue,
* void *pvBuffer,
* );
* </pre>
* @endcode
*
* A version of xQueuePeek() that can be called from an interrupt service
* routine (ISR).
@ -793,13 +793,13 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueReceive(
* QueueHandle_t xQueue,
* void *pvBuffer,
* TickType_t xTicksToWait
* );
* </pre>
* @endcode
*
* Receive an item from a queue. The item is received by copy so a buffer of
* adequate size must be provided. The number of bytes copied into the buffer
@ -827,7 +827,7 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
* otherwise pdFALSE.
*
* Example usage:
* <pre>
* @code{c}
* struct AMessage
* {
* char ucMessageID;
@ -877,7 +877,7 @@ BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue,
*
* // ... Rest of task code.
* }
* </pre>
* @endcode
* \defgroup xQueueReceive xQueueReceive
* \ingroup QueueManagement
*/
@ -887,9 +887,9 @@ BaseType_t xQueueReceive( QueueHandle_t xQueue,
/**
* queue. h
* <pre>
* @code{c}
* UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue );
* </pre>
* @endcode
*
* Return the number of messages stored in a queue.
*
@ -904,9 +904,9 @@ UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ) PRIVILEGED_FUNC
/**
* queue. h
* <pre>
* @code{c}
* UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue );
* </pre>
* @endcode
*
* Return the number of free spaces available in a queue. This is equal to the
* number of items that can be sent to the queue before the queue becomes full
@ -923,9 +923,9 @@ UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ) PRIVILEGED_FUNC
/**
* queue. h
* <pre>
* @code{c}
* void vQueueDelete( QueueHandle_t xQueue );
* </pre>
* @endcode
*
* Delete a queue - freeing all the memory allocated for storing of items
* placed on the queue.
@ -939,13 +939,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSendToFrontFromISR(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* This is a macro that calls xQueueGenericSendFromISR().
*
@ -974,7 +974,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
*
* Example usage for buffered IO (where the ISR can obtain more than one value
* per call):
* <pre>
* @code{c}
* void vBufferISR( void )
* {
* char cIn;
@ -1000,7 +1000,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* taskYIELD ();
* }
* }
* </pre>
* @endcode
*
* \defgroup xQueueSendFromISR xQueueSendFromISR
* \ingroup QueueManagement
@ -1011,13 +1011,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSendToBackFromISR(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* This is a macro that calls xQueueGenericSendFromISR().
*
@ -1046,7 +1046,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
*
* Example usage for buffered IO (where the ISR can obtain more than one value
* per call):
* <pre>
* @code{c}
* void vBufferISR( void )
* {
* char cIn;
@ -1072,7 +1072,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* taskYIELD ();
* }
* }
* </pre>
* @endcode
*
* \defgroup xQueueSendFromISR xQueueSendFromISR
* \ingroup QueueManagement
@ -1082,13 +1082,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueOverwriteFromISR(
* QueueHandle_t xQueue,
* const void * pvItemToQueue,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* A version of xQueueOverwrite() that can be used in an interrupt service
* routine (ISR).
@ -1119,7 +1119,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* the queue is already full.
*
* Example usage:
* <pre>
* @code{c}
*
* QueueHandle_t xQueue;
*
@ -1161,7 +1161,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* portYIELD_FROM_ISR(); // or portEND_SWITCHING_ISR() depending on the port.
* }
* }
* </pre>
* @endcode
* \defgroup xQueueOverwriteFromISR xQueueOverwriteFromISR
* \ingroup QueueManagement
*/
@ -1170,13 +1170,13 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueSendFromISR(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* This is a macro that calls xQueueGenericSendFromISR(). It is included
* for backward compatibility with versions of FreeRTOS.org that did not
@ -1208,7 +1208,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
*
* Example usage for buffered IO (where the ISR can obtain more than one value
* per call):
* <pre>
* @code{c}
* void vBufferISR( void )
* {
* char cIn;
@ -1235,7 +1235,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* portYIELD_FROM_ISR ();
* }
* }
* </pre>
* @endcode
*
* \defgroup xQueueSendFromISR xQueueSendFromISR
* \ingroup QueueManagement
@ -1245,14 +1245,14 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueGenericSendFromISR(
* QueueHandle_t xQueue,
* const void *pvItemToQueue,
* BaseType_t *pxHigherPriorityTaskWoken,
* BaseType_t xCopyPosition
* );
* </pre>
* @endcode
*
* It is preferred that the macros xQueueSendFromISR(),
* xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place
@ -1288,7 +1288,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
*
* Example usage for buffered IO (where the ISR can obtain more than one value
* per call):
* <pre>
* @code{c}
* void vBufferISR( void )
* {
* char cIn;
@ -1315,7 +1315,7 @@ void vQueueDelete( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
* portYIELD_FROM_ISR();
* }
* }
* </pre>
* @endcode
*
* \defgroup xQueueSendFromISR xQueueSendFromISR
* \ingroup QueueManagement
@ -1329,13 +1329,13 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
/**
* queue. h
* <pre>
* @code{c}
* BaseType_t xQueueReceiveFromISR(
* QueueHandle_t xQueue,
* void *pvBuffer,
* BaseType_t *pxTaskWoken
* );
* </pre>
* @endcode
*
* Receive an item from a queue. It is safe to use this function from within an
* interrupt service routine.
@ -1355,7 +1355,7 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
* otherwise pdFALSE.
*
* Example usage:
* <pre>
* @code{c}
*
* QueueHandle_t xQueue;
*
@ -1410,7 +1410,7 @@ BaseType_t xQueueGiveFromISR( QueueHandle_t xQueue,
* taskYIELD ();
* }
* }
* </pre>
* @endcode
* \defgroup xQueueReceiveFromISR xQueueReceiveFromISR
* \ingroup QueueManagement
*/

View File

@ -44,9 +44,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* vSemaphoreCreateBinary( SemaphoreHandle_t xSemaphore );
* </pre>
* @endcode
*
* In many usage scenarios it is faster and more memory efficient to use a
* direct to task notification in place of a binary semaphore!
@ -74,7 +74,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* @param xSemaphore Handle to the created semaphore. Should be of type SemaphoreHandle_t.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore = NULL;
*
* void vATask( void * pvParameters )
@ -89,7 +89,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // The semaphore can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup vSemaphoreCreateBinary vSemaphoreCreateBinary
* \ingroup Semaphores
*/
@ -106,9 +106,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateBinary( void );
* </pre>
* @endcode
*
* Creates a new binary semaphore instance, and returns a handle by which the
* new semaphore can be referenced.
@ -144,7 +144,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* hold the semaphore's data structures could not be allocated.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore = NULL;
*
* void vATask( void * pvParameters )
@ -159,7 +159,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // The semaphore can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateBinary xSemaphoreCreateBinary
* \ingroup Semaphores
*/
@ -169,9 +169,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateBinaryStatic( StaticSemaphore_t *pxSemaphoreBuffer );
* </pre>
* @endcode
*
* Creates a new binary semaphore instance, and returns a handle by which the
* new semaphore can be referenced.
@ -204,7 +204,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* returned. If pxSemaphoreBuffer is NULL then NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore = NULL;
* StaticSemaphore_t xSemaphoreBuffer;
*
@ -220,7 +220,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
*
* // Rest of task code goes here.
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateBinaryStatic xSemaphoreCreateBinaryStatic
* \ingroup Semaphores
*/
@ -230,12 +230,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreTake(
* SemaphoreHandle_t xSemaphore,
* TickType_t xBlockTime
* );
* </pre>
* @endcode
*
* <i>Macro</i> to obtain a semaphore. The semaphore must have previously been
* created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
@ -254,7 +254,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* if xBlockTime expired without the semaphore becoming available.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore = NULL;
*
* // A task that creates a semaphore.
@ -291,7 +291,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* }
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreTake xSemaphoreTake
* \ingroup Semaphores
*/
@ -299,12 +299,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreTakeRecursive(
* SemaphoreHandle_t xMutex,
* TickType_t xBlockTime
* );
* </pre>
* @endcode
*
* <i>Macro</i> to recursively obtain, or 'take', a mutex type semaphore.
* The mutex must have previously been created using a call to
@ -335,7 +335,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* expired without the semaphore becoming available.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xMutex = NULL;
*
* // A task that creates a mutex.
@ -386,7 +386,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* }
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreTakeRecursive xSemaphoreTakeRecursive
* \ingroup Semaphores
*/
@ -396,9 +396,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreGive( SemaphoreHandle_t xSemaphore );
* </pre>
* @endcode
*
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
* created with a call to xSemaphoreCreateBinary(), xSemaphoreCreateMutex() or
@ -419,7 +419,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* semaphore was not first obtained correctly.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore = NULL;
*
* void vATask( void * pvParameters )
@ -453,7 +453,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* }
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreGive xSemaphoreGive
* \ingroup Semaphores
*/
@ -461,9 +461,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreGiveRecursive( SemaphoreHandle_t xMutex );
* </pre>
* @endcode
*
* <i>Macro</i> to recursively release, or 'give', a mutex type semaphore.
* The mutex must have previously been created using a call to
@ -487,7 +487,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* @return pdTRUE if the semaphore was given.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xMutex = NULL;
*
* // A task that creates a mutex.
@ -539,7 +539,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* }
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreGiveRecursive xSemaphoreGiveRecursive
* \ingroup Semaphores
*/
@ -549,12 +549,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreGiveFromISR(
* SemaphoreHandle_t xSemaphore,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* <i>Macro</i> to release a semaphore. The semaphore must have previously been
* created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
@ -576,7 +576,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* @return pdTRUE if the semaphore was successfully given, otherwise errQUEUE_FULL.
*
* Example usage:
* <pre>
* @code{c}
\#define LONG_TIME 0xffff
\#define TICKS_TO_WAIT 10
* SemaphoreHandle_t xSemaphore = NULL;
@ -633,7 +633,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // to find the syntax required.
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreGiveFromISR xSemaphoreGiveFromISR
* \ingroup Semaphores
*/
@ -641,12 +641,12 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* xSemaphoreTakeFromISR(
* SemaphoreHandle_t xSemaphore,
* BaseType_t *pxHigherPriorityTaskWoken
* );
* </pre>
* @endcode
*
* <i>Macro</i> to take a semaphore from an ISR. The semaphore must have
* previously been created with a call to xSemaphoreCreateBinary() or
@ -676,9 +676,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateMutex( void );
* </pre>
* @endcode
*
* Creates a new mutex type semaphore instance, and returns a handle by which
* the new mutex can be referenced.
@ -712,7 +712,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* data structures then NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
*
* void vATask( void * pvParameters )
@ -727,7 +727,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // The semaphore can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateMutex xSemaphoreCreateMutex
* \ingroup Semaphores
*/
@ -737,9 +737,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateMutexStatic( StaticSemaphore_t *pxMutexBuffer );
* </pre>
* @endcode
*
* Creates a new mutex type semaphore instance, and returns a handle by which
* the new mutex can be referenced.
@ -776,7 +776,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* mutex is returned. If pxMutexBuffer was NULL then NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
* StaticSemaphore_t xMutexBuffer;
*
@ -790,7 +790,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // As no dynamic memory allocation was performed, xSemaphore cannot be NULL,
* // so there is no need to check it.
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateMutexStatic xSemaphoreCreateMutexStatic
* \ingroup Semaphores
*/
@ -801,9 +801,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void );
* </pre>
* @endcode
*
* Creates a new recursive mutex type semaphore instance, and returns a handle
* by which the new recursive mutex can be referenced.
@ -845,7 +845,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* SemaphoreHandle_t.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
*
* void vATask( void * pvParameters )
@ -860,7 +860,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // The semaphore can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateRecursiveMutex xSemaphoreCreateRecursiveMutex
* \ingroup Semaphores
*/
@ -870,9 +870,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateRecursiveMutexStatic( StaticSemaphore_t *pxMutexBuffer );
* </pre>
* @endcode
*
* Creates a new recursive mutex type semaphore instance, and returns a handle
* by which the new recursive mutex can be referenced.
@ -919,7 +919,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* returned.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
* StaticSemaphore_t xMutexBuffer;
*
@ -935,7 +935,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // As no dynamic memory allocation was performed, xSemaphore cannot be NULL,
* // so there is no need to check it.
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateRecursiveMutexStatic xSemaphoreCreateRecursiveMutexStatic
* \ingroup Semaphores
*/
@ -945,9 +945,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount );
* </pre>
* @endcode
*
* Creates a new counting semaphore instance, and returns a handle by which the
* new counting semaphore can be referenced.
@ -999,7 +999,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* created.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
*
* void vATask( void * pvParameters )
@ -1017,7 +1017,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // The semaphore can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateCounting xSemaphoreCreateCounting
* \ingroup Semaphores
*/
@ -1027,9 +1027,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphoreCreateCountingStatic( UBaseType_t uxMaxCount, UBaseType_t uxInitialCount, StaticSemaphore_t *pxSemaphoreBuffer );
* </pre>
* @endcode
*
* Creates a new counting semaphore instance, and returns a handle by which the
* new counting semaphore can be referenced.
@ -1085,7 +1085,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* then NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
* SemaphoreHandle_t xSemaphore;
* StaticSemaphore_t xSemaphoreBuffer;
*
@ -1104,7 +1104,7 @@ typedef QueueHandle_t SemaphoreHandle_t;
* // No memory allocation was attempted so xSemaphore cannot be NULL, so there
* // is no need to check its value.
* }
* </pre>
* @endcode
* \defgroup xSemaphoreCreateCountingStatic xSemaphoreCreateCountingStatic
* \ingroup Semaphores
*/
@ -1114,9 +1114,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr. h
* <pre>
* @code{c}
* void vSemaphoreDelete( SemaphoreHandle_t xSemaphore );
* </pre>
* @endcode
*
* Delete a semaphore. This function must be used with care. For example,
* do not delete a mutex type semaphore if the mutex is held by a task.
@ -1130,9 +1130,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr.h
* <pre>
* @code{c}
* TaskHandle_t xSemaphoreGetMutexHolder( SemaphoreHandle_t xMutex );
* </pre>
* @endcode
*
* If xMutex is indeed a mutex type semaphore, return the current mutex holder.
* If xMutex is not a mutex type semaphore, or the mutex is available (not held
@ -1147,9 +1147,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr.h
* <pre>
* @code{c}
* TaskHandle_t xSemaphoreGetMutexHolderFromISR( SemaphoreHandle_t xMutex );
* </pre>
* @endcode
*
* If xMutex is indeed a mutex type semaphore, return the current mutex holder.
* If xMutex is not a mutex type semaphore, or the mutex is available (not held
@ -1160,9 +1160,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr.h
* <pre>
* @code{c}
* UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore );
* </pre>
* @endcode
*
* If the semaphore is a counting semaphore then uxSemaphoreGetCount() returns
* its current count value. If the semaphore is a binary semaphore then
@ -1174,9 +1174,9 @@ typedef QueueHandle_t SemaphoreHandle_t;
/**
* semphr.h
* <pre>
* @code{c}
* UBaseType_t uxSemaphoreGetCountFromISR( SemaphoreHandle_t xSemaphore );
* </pre>
* @endcode
*
* If the semaphore is a counting semaphore then uxSemaphoreGetCountFromISR() returns
* its current count value. If the semaphore is a binary semaphore then

View File

@ -75,9 +75,9 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* StreamBufferHandle_t xStreamBufferCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes );
* </pre>
* @endcode
*
* Creates a new stream buffer using dynamically allocated memory. See
* xStreamBufferCreateStatic() for a version that uses statically allocated
@ -111,7 +111,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* buffer.
*
* Example use:
* <pre>
* @code{c}
*
* void vAFunction( void )
* {
@ -133,7 +133,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* // The stream buffer was created successfully and can now be used.
* }
* }
* </pre>
* @endcode
* \defgroup xStreamBufferCreate xStreamBufferCreate
* \ingroup StreamBufferManagement
*/
@ -142,12 +142,12 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes,
* size_t xTriggerLevelBytes,
* uint8_t *pucStreamBufferStorageArea,
* StaticStreamBuffer_t *pxStaticStreamBuffer );
* </pre>
* @endcode
* Creates a new stream buffer using statically allocated memory. See
* xStreamBufferCreate() for a version that uses dynamically allocated memory.
*
@ -184,7 +184,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* pxStaticstreamBuffer are NULL then NULL is returned.
*
* Example use:
* <pre>
* @code{c}
*
* // Used to dimension the array used to hold the streams. The available space
* // will actually be one less than this, so 999.
@ -214,7 +214,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* // Other code that uses the stream buffer can go here.
* }
*
* </pre>
* @endcode
* \defgroup xStreamBufferCreateStatic xStreamBufferCreateStatic
* \ingroup StreamBufferManagement
*/
@ -224,12 +224,12 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* const void *pvTxData,
* size_t xDataLengthBytes,
* TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Sends bytes to a stream buffer. The bytes are copied into the stream buffer.
*
@ -279,7 +279,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* write as many bytes as possible.
*
* Example use:
* <pre>
* @code{c}
* void vAFunction( StreamBufferHandle_t xStreamBuffer )
* {
* size_t xBytesSent;
@ -309,7 +309,7 @@ typedef struct StreamBufferDef_t * StreamBufferHandle_t;
* // were sent. Could try again to send the remaining bytes.
* }
* }
* </pre>
* @endcode
* \defgroup xStreamBufferSend xStreamBufferSend
* \ingroup StreamBufferManagement
*/
@ -321,12 +321,12 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* const void *pvTxData,
* size_t xDataLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* Interrupt safe version of the API function that sends a stream of bytes to
* the stream buffer.
@ -378,7 +378,7 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* space for all the bytes to be written.
*
* Example use:
* <pre>
* @code{c}
* // A stream buffer that has already been created.
* StreamBufferHandle_t xStreamBuffer;
*
@ -410,7 +410,7 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
* // documentation for the port in use for port specific instructions.
* taskYIELD_FROM_ISR( xHigherPriorityTaskWoken );
* }
* </pre>
* @endcode
* \defgroup xStreamBufferSendFromISR xStreamBufferSendFromISR
* \ingroup StreamBufferManagement
*/
@ -422,12 +422,12 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* void *pvRxData,
* size_t xBufferLengthBytes,
* TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Receives bytes from a stream buffer.
*
@ -477,7 +477,7 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* out before xBufferLengthBytes were available.
*
* Example use:
* <pre>
* @code{c}
* void vAFunction( StreamBuffer_t xStreamBuffer )
* {
* uint8_t ucRxData[ 20 ];
@ -499,7 +499,7 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer,
* // be processed here....
* }
* }
* </pre>
* @endcode
* \defgroup xStreamBufferReceive xStreamBufferReceive
* \ingroup StreamBufferManagement
*/
@ -511,12 +511,12 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
* void *pvRxData,
* size_t xBufferLengthBytes,
* BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* An interrupt safe version of the API function that receives bytes from a
* stream buffer.
@ -553,7 +553,7 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* @return The number of bytes read from the stream buffer, if any.
*
* Example use:
* <pre>
* @code{c}
* // A stream buffer that has already been created.
* StreamBuffer_t xStreamBuffer;
*
@ -585,7 +585,7 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
* // documentation for the port in use for port specific instructions.
* taskYIELD_FROM_ISR( xHigherPriorityTaskWoken );
* }
* </pre>
* @endcode
* \defgroup xStreamBufferReceiveFromISR xStreamBufferReceiveFromISR
* \ingroup StreamBufferManagement
*/
@ -597,9 +597,9 @@ size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer,
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Deletes a stream buffer that was previously created using a call to
* xStreamBufferCreate() or xStreamBufferCreateStatic(). If the stream
@ -619,9 +619,9 @@ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTI
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Queries a stream buffer to see if it is full. A stream buffer is full if it
* does not have any free space, and therefore cannot accept any more data.
@ -639,9 +639,9 @@ BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Queries a stream buffer to see if it is empty. A stream buffer is empty if
* it does not contain any data.
@ -659,9 +659,9 @@ BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Resets a stream buffer to its initial, empty, state. Any data that was in
* the stream buffer is discarded. A stream buffer can only be reset if there
@ -682,9 +682,9 @@ BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_F
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Queries a stream buffer to see how much free space it contains, which is
* equal to the amount of data that can be sent to the stream buffer before it
@ -703,9 +703,9 @@ size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVIL
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer );
* </pre>
* @endcode
*
* Queries a stream buffer to see how much data it contains, which is equal to
* the number of bytes that can be read from the stream buffer before the stream
@ -724,9 +724,9 @@ size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILE
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel );
* </pre>
* @endcode
*
* A stream buffer's trigger level is the number of bytes that must be in the
* stream buffer before a task that is blocked on the stream buffer to
@ -762,9 +762,9 @@ BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* For advanced users only.
*
@ -802,9 +802,9 @@ BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer
/**
* stream_buffer.h
*
* <pre>
* @code{c}
* BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );
* </pre>
* @endcode
*
* For advanced users only.
*

View File

@ -253,7 +253,7 @@ typedef enum
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskCreate(
* TaskFunction_t pxTaskCode,
* const char *pcName,
@ -262,7 +262,7 @@ typedef enum
* UBaseType_t uxPriority,
* TaskHandle_t *pxCreatedTask
* );
* </pre>
* @endcode
*
* Create a new task and add it to the list of tasks that are ready to run.
*
@ -312,7 +312,7 @@ typedef enum
* list, otherwise an error code defined in the file projdefs.h
*
* Example usage:
* <pre>
* @code{c}
* // Task to be created.
* void vTaskCode( void * pvParameters )
* {
@ -341,7 +341,7 @@ typedef enum
* vTaskDelete( xHandle );
* }
* }
* </pre>
* @endcode
* \defgroup xTaskCreate xTaskCreate
* \ingroup Tasks
*/
@ -356,7 +356,7 @@ typedef enum
/**
* task. h
* <pre>
* @code{c}
* TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
* const char *pcName,
* uint32_t ulStackDepth,
@ -364,7 +364,7 @@ typedef enum
* UBaseType_t uxPriority,
* StackType_t *puxStackBuffer,
* StaticTask_t *pxTaskBuffer );
* </pre>
* @endcode
*
* Create a new task and add it to the list of tasks that are ready to run.
*
@ -409,7 +409,7 @@ typedef enum
* NULL is returned.
*
* Example usage:
* <pre>
* @code{c}
*
* // Dimensions of the buffer that the task being created will use as its stack.
* // NOTE: This is the number of words the stack will hold, not the number of
@ -458,7 +458,7 @@ typedef enum
* // to suspend the task.
* vTaskSuspend( xHandle );
* }
* </pre>
* @endcode
* \defgroup xTaskCreateStatic xTaskCreateStatic
* \ingroup Tasks
*/
@ -474,9 +474,9 @@ typedef enum
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskCreateRestricted( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask );
* </pre>
* @endcode
*
* Only available when configSUPPORT_DYNAMIC_ALLOCATION is set to 1.
*
@ -502,7 +502,7 @@ typedef enum
* list, otherwise an error code defined in the file projdefs.h
*
* Example usage:
* <pre>
* @code{c}
* // Create an TaskParameters_t structure that defines the task to be created.
* static const TaskParameters_t xCheckTaskParameters =
* {
@ -541,7 +541,7 @@ typedef enum
* // and/or timer task.
* for( ;; );
* }
* </pre>
* @endcode
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
* \ingroup Tasks
*/
@ -552,9 +552,9 @@ typedef enum
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskCreateRestrictedStatic( TaskParameters_t *pxTaskDefinition, TaskHandle_t *pxCreatedTask );
* </pre>
* @endcode
*
* Only available when configSUPPORT_STATIC_ALLOCATION is set to 1.
*
@ -586,7 +586,7 @@ typedef enum
* list, otherwise an error code defined in the file projdefs.h
*
* Example usage:
* <pre>
* @code{c}
* // Create an TaskParameters_t structure that defines the task to be created.
* // The StaticTask_t variable is only included in the structure when
* // configSUPPORT_STATIC_ALLOCATION is set to 1. The PRIVILEGED_DATA macro can
@ -631,7 +631,7 @@ typedef enum
* // and/or timer task.
* for( ;; );
* }
* </pre>
* @endcode
* \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
* \ingroup Tasks
*/
@ -642,9 +642,9 @@ typedef enum
/**
* task. h
* <pre>
* @code{c}
* void vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const pxRegions );
* </pre>
* @endcode
*
* Memory regions are assigned to a restricted task when the task is created by
* a call to xTaskCreateRestricted(). These regions can be redefined using
@ -656,7 +656,7 @@ typedef enum
* new memory region definitions.
*
* Example usage:
* <pre>
* @code{c}
* // Define an array of MemoryRegion_t structures that configures an MPU region
* // allowing read/write access for 1024 bytes starting at the beginning of the
* // ucOneKByte array. The other two of the maximum 3 definable regions are
@ -683,7 +683,7 @@ typedef enum
* // access its stack and the ucOneKByte array (unless any other statically
* // defined or shared regions have been declared elsewhere).
* }
* </pre>
* @endcode
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
* \ingroup Tasks
*/
@ -692,9 +692,9 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
/**
* task. h
* <pre>
* @code{c}
* void vTaskDelete( TaskHandle_t xTaskToDelete );
* </pre>
* @endcode
*
* INCLUDE_vTaskDelete must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -716,7 +716,7 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
* cause the calling task to be deleted.
*
* Example usage:
* <pre>
* @code{c}
* void vOtherFunction( void )
* {
* TaskHandle_t xHandle;
@ -727,7 +727,7 @@ void vTaskAllocateMPURegions( TaskHandle_t xTask,
* // Use the handle to delete the task.
* vTaskDelete( xHandle );
* }
* </pre>
* @endcode
* \defgroup vTaskDelete vTaskDelete
* \ingroup Tasks
*/
@ -739,9 +739,9 @@ void vTaskDelete( TaskHandle_t xTaskToDelete ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskDelay( const TickType_t xTicksToDelay );
* </pre>
* @endcode
*
* Delay a task for a given number of ticks. The actual time that the
* task remains blocked depends on the tick rate. The constant
@ -789,9 +789,9 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement );
* </pre>
* @endcode
*
* INCLUDE_xTaskDelayUntil must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -829,7 +829,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
* be delayed if the next expected wake time is in the past.
*
* Example usage:
* <pre>
* @code{c}
* // Perform an action every 10 ticks.
* void vTaskFunction( void * pvParameters )
* {
@ -848,7 +848,7 @@ void vTaskDelay( const TickType_t xTicksToDelay ) PRIVILEGED_FUNCTION;
* // whether a deadline was missed if the code here took too long.
* }
* }
* </pre>
* @endcode
* \defgroup xTaskDelayUntil xTaskDelayUntil
* \ingroup TaskCtrl
*/
@ -867,9 +867,9 @@ BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskAbortDelay( TaskHandle_t xTask );
* </pre>
* @endcode
*
* INCLUDE_xTaskAbortDelay must be defined as 1 in FreeRTOSConfig.h for this
* function to be available.
@ -899,9 +899,9 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask );
* </pre>
* @endcode
*
* INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -914,7 +914,7 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
* @return The priority of xTask.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* TaskHandle_t xHandle;
@ -940,7 +940,7 @@ BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
* // Our priority (obtained using NULL handle) is higher.
* }
* }
* </pre>
* @endcode
* \defgroup uxTaskPriorityGet uxTaskPriorityGet
* \ingroup TaskCtrl
*/
@ -948,9 +948,9 @@ UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask );
* </pre>
* @endcode
*
* A version of uxTaskPriorityGet() that can be used from an ISR.
*/
@ -958,9 +958,9 @@ UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ) PRIVILEGED_FUNC
/**
* task. h
* <pre>
* @code{c}
* eTaskState eTaskGetState( TaskHandle_t xTask );
* </pre>
* @endcode
*
* INCLUDE_eTaskGetState must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -978,9 +978,9 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState );
* </pre>
* @endcode
*
* configUSE_TRACE_FACILITY must be defined as 1 for this function to be
* available. See the configuration section for more information.
@ -1010,7 +1010,7 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
* eState will be reported as the task state in the TaskStatus_t structure.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* TaskHandle_t xHandle;
@ -1028,7 +1028,7 @@ eTaskState eTaskGetState( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;
* pdTRUE, // Include the high water mark in xTaskDetails.
* eInvalid ); // Include the task state in xTaskDetails.
* }
* </pre>
* @endcode
* \defgroup vTaskGetInfo vTaskGetInfo
* \ingroup TaskCtrl
*/
@ -1039,9 +1039,9 @@ void vTaskGetInfo( TaskHandle_t xTask,
/**
* task. h
* <pre>
* @code{c}
* void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority );
* </pre>
* @endcode
*
* INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -1057,7 +1057,7 @@ void vTaskGetInfo( TaskHandle_t xTask,
* @param uxNewPriority The priority to which the task will be set.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* TaskHandle_t xHandle;
@ -1075,7 +1075,7 @@ void vTaskGetInfo( TaskHandle_t xTask,
* // Use a NULL handle to raise our priority to the same value.
* vTaskPrioritySet( NULL, tskIDLE_PRIORITY + 1 );
* }
* </pre>
* @endcode
* \defgroup vTaskPrioritySet vTaskPrioritySet
* \ingroup TaskCtrl
*/
@ -1084,9 +1084,9 @@ void vTaskPrioritySet( TaskHandle_t xTask,
/**
* task. h
* <pre>
* @code{c}
* void vTaskSuspend( TaskHandle_t xTaskToSuspend );
* </pre>
* @endcode
*
* INCLUDE_vTaskSuspend must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -1102,7 +1102,7 @@ void vTaskPrioritySet( TaskHandle_t xTask,
* handle will cause the calling task to be suspended.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* TaskHandle_t xHandle;
@ -1129,7 +1129,7 @@ void vTaskPrioritySet( TaskHandle_t xTask,
* // We cannot get here unless another task calls vTaskResume
* // with our handle as the parameter.
* }
* </pre>
* @endcode
* \defgroup vTaskSuspend vTaskSuspend
* \ingroup TaskCtrl
*/
@ -1137,9 +1137,9 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskResume( TaskHandle_t xTaskToResume );
* </pre>
* @endcode
*
* INCLUDE_vTaskSuspend must be defined as 1 for this function to be available.
* See the configuration section for more information.
@ -1153,7 +1153,7 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
* @param xTaskToResume Handle to the task being readied.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* TaskHandle_t xHandle;
@ -1180,7 +1180,7 @@ void vTaskSuspend( TaskHandle_t xTaskToSuspend ) PRIVILEGED_FUNCTION;
* // The created task will once again get microcontroller processing
* // time in accordance with its priority within the system.
* }
* </pre>
* @endcode
* \defgroup vTaskResume vTaskResume
* \ingroup TaskCtrl
*/
@ -1188,9 +1188,9 @@ void vTaskResume( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void xTaskResumeFromISR( TaskHandle_t xTaskToResume );
* </pre>
* @endcode
*
* INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be
* available. See the configuration section for more information.
@ -1223,9 +1223,9 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskStartScheduler( void );
* </pre>
* @endcode
*
* Starts the real time kernel tick processing. After calling the kernel
* has control over which tasks are executed and when.
@ -1234,7 +1234,7 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
* tasks and starting the kernel.
*
* Example usage:
* <pre>
* @code{c}
* void vAFunction( void )
* {
* // Create at least one task before starting the kernel.
@ -1245,7 +1245,7 @@ BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) PRIVILEGED_FUNCTION;
*
* // Will not get here unless a task calls vTaskEndScheduler ()
* }
* </pre>
* @endcode
*
* \defgroup vTaskStartScheduler vTaskStartScheduler
* \ingroup SchedulerControl
@ -1254,9 +1254,9 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskEndScheduler( void );
* </pre>
* @endcode
*
* NOTE: At the time of writing only the x86 real mode port, which runs on a PC
* in place of DOS, implements this function.
@ -1278,7 +1278,7 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
* tasks.
*
* Example usage:
* <pre>
* @code{c}
* void vTaskCode( void * pvParameters )
* {
* for( ;; )
@ -1303,7 +1303,7 @@ void vTaskStartScheduler( void ) PRIVILEGED_FUNCTION;
* // vTaskEndScheduler (). When we get here we are back to single task
* // execution.
* }
* </pre>
* @endcode
*
* \defgroup vTaskEndScheduler vTaskEndScheduler
* \ingroup SchedulerControl
@ -1312,9 +1312,9 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* void vTaskSuspendAll( void );
* </pre>
* @endcode
*
* Suspends the scheduler without disabling interrupts. Context switches will
* not occur while the scheduler is suspended.
@ -1328,7 +1328,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
* is suspended.
*
* Example usage:
* <pre>
* @code{c}
* void vTask1( void * pvParameters )
* {
* for( ;; )
@ -1357,7 +1357,7 @@ void vTaskEndScheduler( void ) PRIVILEGED_FUNCTION;
* xTaskResumeAll ();
* }
* }
* </pre>
* @endcode
* \defgroup vTaskSuspendAll vTaskSuspendAll
* \ingroup SchedulerControl
*/
@ -1365,9 +1365,9 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskResumeAll( void );
* </pre>
* @endcode
*
* Resumes scheduler activity after it was suspended by a call to
* vTaskSuspendAll().
@ -1379,7 +1379,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
* returned, otherwise pdFALSE is returned.
*
* Example usage:
* <pre>
* @code{c}
* void vTask1( void * pvParameters )
* {
* for( ;; )
@ -1413,7 +1413,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
* }
* }
* }
* </pre>
* @endcode
* \defgroup xTaskResumeAll xTaskResumeAll
* \ingroup SchedulerControl
*/
@ -1425,7 +1425,9 @@ BaseType_t xTaskResumeAll( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <PRE>TickType_t xTaskGetTickCount( void );</PRE>
* @code{c}
* TickType_t xTaskGetTickCount( void );
* @endcode
*
* @return The count of ticks since vTaskStartScheduler was called.
*
@ -1436,7 +1438,9 @@ TickType_t xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <PRE>TickType_t xTaskGetTickCountFromISR( void );</PRE>
* @code{c}
* TickType_t xTaskGetTickCountFromISR( void );
* @endcode
*
* @return The count of ticks since vTaskStartScheduler was called.
*
@ -1452,7 +1456,9 @@ TickType_t xTaskGetTickCountFromISR( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <PRE>uint16_t uxTaskGetNumberOfTasks( void );</PRE>
* @code{c}
* uint16_t uxTaskGetNumberOfTasks( void );
* @endcode
*
* @return The number of tasks that the real time kernel is currently managing.
* This includes all ready, blocked and suspended tasks. A task that
@ -1466,7 +1472,9 @@ UBaseType_t uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
/**
* task. h
* <PRE>char *pcTaskGetName( TaskHandle_t xTaskToQuery );</PRE>
* @code{c}
* char *pcTaskGetName( TaskHandle_t xTaskToQuery );
* @endcode
*
* @return The text (human readable) name of the task referenced by the handle
* xTaskToQuery. A task can query its own name by either passing in its own
@ -1479,7 +1487,9 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; /*lint !e
/**
* task. h
* <PRE>TaskHandle_t xTaskGetHandle( const char *pcNameToQuery );</PRE>
* @code{c}
* TaskHandle_t xTaskGetHandle( const char *pcNameToQuery );
* @endcode
*
* NOTE: This function takes a relatively long time to complete and should be
* used sparingly.
@ -1495,7 +1505,9 @@ TaskHandle_t xTaskGetHandle( const char * pcNameToQuery ) PRIVILEGED_FUNCTION; /
/**
* task.h
* <PRE>UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask );</PRE>
* @code{c}
* UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask );
* @endcode
*
* INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for
* this function to be available.
@ -1522,7 +1534,9 @@ UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTIO
/**
* task.h
* <PRE>configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask );</PRE>
* @code{c}
* configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask );
* @endcode
*
* INCLUDE_uxTaskGetStackHighWaterMark2 must be set to 1 in FreeRTOSConfig.h for
* this function to be available.
@ -1558,9 +1572,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>
* @code{c}
* void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction );
* </pre>
* @endcode
*
* Sets pxHookFunction to be the task hook function used by the task xTask.
* Passing xTask as NULL has the effect of setting the calling tasks hook
@ -1571,9 +1585,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>
* @code{c}
* void xTaskGetApplicationTaskTag( TaskHandle_t xTask );
* </pre>
* @endcode
*
* Returns the pxHookFunction value assigned to the task xTask. Do not
* call from an interrupt service routine - call
@ -1583,9 +1597,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>
* @code{c}
* void xTaskGetApplicationTaskTagFromISR( TaskHandle_t xTask );
* </pre>
* @endcode
*
* Returns the pxHookFunction value assigned to the task xTask. Can
* be called from an interrupt service routine.
@ -1613,7 +1627,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); </pre>
* @code{c}
* void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName);
* @endcode
*
* The application stack overflow hook is called when a stack overflow is detected for a task.
*
@ -1631,7 +1647,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>void vApplicationTickHook( void ); </pre>
* @code{c}
* void vApplicationTickHook( void );
* @endcode
*
* This hook function is called in the system tick handler after any OS work is completed.
*/
@ -1643,7 +1661,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) </pre>
* @code{c}
* void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize )
* @endcode
*
* This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB. This function is required when
* configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
@ -1659,9 +1679,9 @@ configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) PRIVIL
/**
* task.h
* <pre>
* @code{c}
* BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter );
* </pre>
* @endcode
*
* Calls the hook function associated with xTask. Passing xTask as NULL has
* the effect of calling the Running tasks (the calling task) hook function.
@ -1717,7 +1737,7 @@ TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
* in the uxArraySize parameter was too small.
*
* Example usage:
* <pre>
* @code{c}
* // This example demonstrates how a human readable table of run time stats
* // information is generated from raw data provided by uxTaskGetSystemState().
* // The human readable table is written to pcWriteBuffer
@ -1777,7 +1797,7 @@ TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;
* vPortFree( pxTaskStatusArray );
* }
* }
* </pre>
* @endcode
*/
UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
const UBaseType_t uxArraySize,
@ -1785,7 +1805,9 @@ UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
/**
* task. h
* <PRE>void vTaskList( char *pcWriteBuffer );</PRE>
* @code{c}
* void vTaskList( char *pcWriteBuffer );
* @endcode
*
* configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must
* both be defined as 1 for this function to be available. See the
@ -1834,7 +1856,9 @@ void vTaskList( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e971 Unquali
/**
* task. h
* <PRE>void vTaskGetRunTimeStats( char *pcWriteBuffer );</PRE>
* @code{c}
* void vTaskGetRunTimeStats( char *pcWriteBuffer );
* @endcode
*
* configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS
* must both be defined as 1 for this function to be available. The application
@ -1888,8 +1912,10 @@ void vTaskGetRunTimeStats( char * pcWriteBuffer ) PRIVILEGED_FUNCTION; /*lint !e
/**
* task. h
* <PRE>configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void );</PRE>
* <PRE>configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void );</PRE>
* @code{c}
* configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimeCounter( void );
* configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void );
* @endcode
*
* configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and
* INCLUDE_xTaskGetIdleTaskHandle must all be defined as 1 for these functions
@ -1927,8 +1953,10 @@ configRUN_TIME_COUNTER_TYPE ulTaskGetIdleRunTimePercent( void ) PRIVILEGED_FUNCT
/**
* task. h
* <PRE>BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction );</PRE>
* <PRE>BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction );</PRE>
* @code{c}
* BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction );
* BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction );
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2043,8 +2071,10 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
/**
* task. h
* <PRE>BaseType_t xTaskNotifyAndQueryIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );</PRE>
* <PRE>BaseType_t xTaskNotifyAndQuery( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );</PRE>
* @code{c}
* BaseType_t xTaskNotifyAndQueryIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );
* BaseType_t xTaskNotifyAndQuery( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotifyValue );
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2070,8 +2100,10 @@ BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,
/**
* task. h
* <PRE>BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* <PRE>BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* @code{c}
* BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );
* BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2192,8 +2224,10 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
/**
* task. h
* <PRE>BaseType_t xTaskNotifyAndQueryIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* <PRE>BaseType_t xTaskNotifyAndQueryFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* @code{c}
* BaseType_t xTaskNotifyAndQueryIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );
* BaseType_t xTaskNotifyAndQueryFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue, BaseType_t *pxHigherPriorityTaskWoken );
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2219,11 +2253,11 @@ BaseType_t xTaskGenericNotifyFromISR( TaskHandle_t xTaskToNotify,
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskNotifyWaitIndexed( UBaseType_t uxIndexToWaitOn, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );
*
* BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Waits for a direct to task notification to be pending at a given index within
* an array of direct to task notifications.
@ -2333,8 +2367,10 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
/**
* task. h
* <PRE>BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify );</PRE>
* <PRE>BaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify );</PRE>
* @code{c}
* BaseType_t xTaskNotifyGiveIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify );
* BaseType_t xTaskNotifyGive( TaskHandle_t xTaskToNotify );
* @endcode
*
* Sends a direct to task notification to a particular index in the target
* task's notification array in a manner similar to giving a counting semaphore.
@ -2408,8 +2444,10 @@ BaseType_t xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
/**
* task. h
* <PRE>void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* <PRE>void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken );</PRE>
* @code{c}
* void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken );
* void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken );
* @endcode
*
* A version of xTaskNotifyGiveIndexed() that can be called from an interrupt
* service routine (ISR).
@ -2493,11 +2531,11 @@ void vTaskGenericNotifyGiveFromISR( TaskHandle_t xTaskToNotify,
/**
* task. h
* <pre>
* @code{c}
* uint32_t ulTaskNotifyTakeIndexed( UBaseType_t uxIndexToWaitOn, BaseType_t xClearCountOnExit, TickType_t xTicksToWait );
*
* uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait );
* </pre>
* @endcode
*
* Waits for a direct to task notification on a particular index in the calling
* task's notification array in a manner similar to taking a counting semaphore.
@ -2599,11 +2637,11 @@ uint32_t ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
/**
* task. h
* <pre>
* @code{c}
* BaseType_t xTaskNotifyStateClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToCLear );
*
* BaseType_t xTaskNotifyStateClear( TaskHandle_t xTask );
* </pre>
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2663,11 +2701,11 @@ BaseType_t xTaskGenericNotifyStateClear( TaskHandle_t xTask,
/**
* task. h
* <pre>
* @code{c}
* uint32_t ulTaskNotifyValueClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear );
*
* uint32_t ulTaskNotifyValueClear( TaskHandle_t xTask, uint32_t ulBitsToClear );
* </pre>
* @endcode
*
* See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
*
@ -2729,9 +2767,9 @@ uint32_t ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
/**
* task.h
* <pre>
* @code{c}
* void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut );
* </pre>
* @endcode
*
* Capture the current time for future use with xTaskCheckForTimeOut().
*
@ -2745,9 +2783,9 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
/**
* task.h
* <pre>
* @code{c}
* BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait );
* </pre>
* @endcode
*
* Determines if pxTicksToWait ticks has passed since a time was captured
* using a call to vTaskSetTimeOutState(). The captured time includes the tick
@ -2769,7 +2807,7 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
* @see https://www.FreeRTOS.org/xTaskCheckForTimeOut.html
*
* Example Usage:
* <pre>
* @code{c}
* // Driver library function used to receive uxWantedBytes from an Rx buffer
* // that is filled by a UART interrupt. If there are not enough bytes in the
* // Rx buffer then the task enters the Blocked state until it is notified that
@ -2822,7 +2860,7 @@ void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNCTION;
*
* return uxReceived;
* }
* </pre>
* @endcode
* \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut
* \ingroup TaskCtrl
*/
@ -2831,9 +2869,9 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
/**
* task.h
* <pre>
* @code{c}
* BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp );
* </pre>
* @endcode
*
* This function corrects the tick count value after the application code has held
* interrupts disabled for an extended period resulting in tick interrupts having

View File

@ -1330,7 +1330,9 @@ BaseType_t xTimerGenericCommand( TimerHandle_t xTimer,
/**
* task.h
* <pre>void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize ) </pre>
* @code{c}
* void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize )
* @endcode
*
* This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer Task TCB. This function is required when
* configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION