Replace <pre> with @code - remaining files (#388)

Co-authored-by: Paul Bartell <pbartell@amazon.com>
Co-authored-by: Ming Yue <mingyue86010@gmail.com>
diff --git a/include/croutine.h b/include/croutine.h
index 126529a..63d1d94 100644
--- a/include/croutine.h
+++ b/include/croutine.h
@@ -62,13 +62,13 @@
 

 /**

  * 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 @@
  * 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 @@
  *       xCoRoutineCreate( vFlashCoRoutine, 0, uxIndex );

  *   }

  * }

- * </pre>

+ * @endcode

  * \defgroup xCoRoutineCreate xCoRoutineCreate

  * \ingroup Tasks

  */

@@ -140,9 +140,9 @@
 

 /**

  * croutine. h

- * <pre>

+ * @code{c}

  * void vCoRoutineSchedule( void );

- * </pre>

+ * @endcode

  *

  * Run a co-routine.

  *

@@ -156,7 +156,7 @@
  * 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 @@
  *      vCoRoutineSchedule();

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup vCoRoutineSchedule vCoRoutineSchedule

  * \ingroup Tasks

  */

@@ -182,14 +182,14 @@
 

 /**

  * 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 @@
  *   // Must end every co-routine with a call to crEND();

  *   crEND();

  * }

- * </pre>

+ * @endcode

  * \defgroup crSTART crSTART

  * \ingroup Tasks

  */

@@ -217,14 +217,14 @@
 

 /**

  * 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 @@
  *   // Must end every co-routine with a call to crEND();

  *   crEND();

  * }

- * </pre>

+ * @endcode

  * \defgroup crSTART crSTART

  * \ingroup Tasks

  */

@@ -261,9 +261,9 @@
 

 /**

  * 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 @@
  * 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 @@
  *   // Must end every co-routine with a call to crEND();

  *   crEND();

  * }

- * </pre>

+ * @endcode

  * \defgroup crDELAY crDELAY

  * \ingroup Tasks

  */

@@ -315,7 +315,7 @@
     crSET_STATE0( ( xHandle ) );

 

 /**

- * <pre>

+ * @code{c}

  * crQUEUE_SEND(

  *                CoRoutineHandle_t xHandle,

  *                QueueHandle_t pxQueue,

@@ -323,7 +323,7 @@
  *                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 @@
  * 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 @@
  *  // Co-routines must end with a call to crEND().

  *  crEND();

  * }

- * </pre>

+ * @endcode

  * \defgroup crQUEUE_SEND crQUEUE_SEND

  * \ingroup Tasks

  */

@@ -416,7 +416,7 @@
 

 /**

  * croutine. h

- * <pre>

+ * @code{c}

  * crQUEUE_RECEIVE(

  *                   CoRoutineHandle_t xHandle,

  *                   QueueHandle_t pxQueue,

@@ -424,7 +424,7 @@
  *                   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 @@
  * 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 @@
  *

  *  crEND();

  * }

- * </pre>

+ * @endcode

  * \defgroup crQUEUE_RECEIVE crQUEUE_RECEIVE

  * \ingroup Tasks

  */

@@ -510,13 +510,13 @@
 

 /**

  * 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 @@
  * 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 @@
  *       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 @@
 

 /**

  * 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 @@
  * 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 @@
  *       }

  *   }

  * }

- * </pre>

+ * @endcode

  * \defgroup crQUEUE_RECEIVE_FROM_ISR crQUEUE_RECEIVE_FROM_ISR

  * \ingroup Tasks

  */

diff --git a/include/message_buffer.h b/include/message_buffer.h
index c569d63..b512f53 100644
--- a/include/message_buffer.h
+++ b/include/message_buffer.h
@@ -89,9 +89,9 @@
 /**

  * 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 @@
  * buffer.

  *

  * Example use:

- * <pre>

+ * @code{c}

  *

  * void vAFunction( void )

  * {

@@ -138,7 +138,7 @@
  *      // The message buffer was created successfully and can now be used.

  *  }

  *

- * </pre>

+ * @endcode

  * \defgroup xMessageBufferCreate xMessageBufferCreate

  * \ingroup MessageBufferManagement

  */

@@ -148,11 +148,11 @@
 /**

  * 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 @@
  * 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 @@
  *  // Other code that uses the message buffer can go here.

  * }

  *

- * </pre>

+ * @endcode

  * \defgroup xMessageBufferCreateStatic xMessageBufferCreateStatic

  * \ingroup MessageBufferManagement

  */

@@ -215,12 +215,12 @@
 /**

  * 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 @@
  * time out then xDataLengthBytes is returned.

  *

  * Example use:

- * <pre>

+ * @code{c}

  * void vAFunction( MessageBufferHandle_t xMessageBuffer )

  * {

  * size_t xBytesSent;

@@ -305,7 +305,7 @@
  *      // not enough free space in the buffer.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xMessageBufferSend xMessageBufferSend

  * \ingroup MessageBufferManagement

  */

@@ -315,12 +315,12 @@
 /**

  * 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 @@
  * 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 @@
  *  // 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 @@
 /**

  * 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 @@
  * zero is returned.

  *

  * Example use:

- * <pre>

+ * @code{c}

  * void vAFunction( MessageBuffer_t xMessageBuffer )

  * {

  * uint8_t ucRxData[ 20 ];

@@ -499,7 +499,7 @@
  *      // the message here....

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xMessageBufferReceive xMessageBufferReceive

  * \ingroup MessageBufferManagement

  */

@@ -510,12 +510,12 @@
 /**

  * 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 @@
  * any.

  *

  * Example use:

- * <pre>

+ * @code{c}

  * // A message buffer that has already been created.

  * MessageBuffer_t xMessageBuffer;

  *

@@ -601,7 +601,7 @@
  *  // 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 @@
 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * message_buffer.h

  *

- * <pre>

+ * @code{c}

  * BaseType_t xMessageBufferReceiveCompletedFromISR( MessageBufferHandle_t xMessageBuffer, BaseType_t *pxHigherPriorityTaskWoken );

- * </pre>

+ * @endcode

  *

  * For advanced users only.

  *

diff --git a/include/queue.h b/include/queue.h
index 6ccc371..262ad06 100644
--- a/include/queue.h
+++ b/include/queue.h
@@ -79,12 +79,12 @@
 
 /**
  * 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 @@
  * returned.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -141,7 +141,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueCreate xQueueCreate
  * \ingroup QueueManagement
  */
@@ -151,14 +151,14 @@
 
 /**
  * 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 @@
  * returned.  If pxQueueBuffer is NULL then NULL is returned.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -227,7 +227,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueCreateStatic xQueueCreateStatic
  * \ingroup QueueManagement
  */
@@ -237,13 +237,13 @@
 
 /**
  * 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 @@
  * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -309,7 +309,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueSend xQueueSend
  * \ingroup QueueManagement
  */
@@ -318,13 +318,13 @@
 
 /**
  * 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 @@
  * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -392,7 +392,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueSend xQueueSend
  * \ingroup QueueManagement
  */
@@ -401,13 +401,13 @@
 
 /**
  * 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 @@
  * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -477,7 +477,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueSend xQueueSend
  * \ingroup QueueManagement
  */
@@ -486,12 +486,12 @@
 
 /**
  * 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 @@
  * to the queue even when the queue is already full.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  *
  * void vFunction( void *pvParameters )
  * {
@@ -561,7 +561,7 @@
  *
  *  // ...
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueOverwrite xQueueOverwrite
  * \ingroup QueueManagement
  */
@@ -571,14 +571,14 @@
 
 /**
  * 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 @@
  * @return pdTRUE if the item was successfully posted, otherwise errQUEUE_FULL.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -650,7 +650,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueSend xQueueSend
  * \ingroup QueueManagement
  */
@@ -661,13 +661,13 @@
 
 /**
  * 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 @@
  * otherwise pdFALSE.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -748,7 +748,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueuePeek xQueuePeek
  * \ingroup QueueManagement
  */
@@ -758,12 +758,12 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * otherwise pdFALSE.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * struct AMessage
  * {
  *  char ucMessageID;
@@ -877,7 +877,7 @@
  *
  *  // ... Rest of task code.
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueReceive xQueueReceive
  * \ingroup QueueManagement
  */
@@ -887,9 +887,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  *
  * 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 @@
  *      taskYIELD ();
  *  }
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup xQueueSendFromISR xQueueSendFromISR
  * \ingroup QueueManagement
@@ -1011,13 +1011,13 @@
 
 /**
  * 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 @@
  *
  * 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 @@
  *      taskYIELD ();
  *  }
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup xQueueSendFromISR xQueueSendFromISR
  * \ingroup QueueManagement
@@ -1082,13 +1082,13 @@
 
 /**
  * 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 @@
  * the queue is already full.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  *
  * QueueHandle_t xQueue;
  *
@@ -1161,7 +1161,7 @@
  *      portYIELD_FROM_ISR(); // or portEND_SWITCHING_ISR() depending on the port.
  *  }
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueOverwriteFromISR xQueueOverwriteFromISR
  * \ingroup QueueManagement
  */
@@ -1170,13 +1170,13 @@
 
 /**
  * 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 @@
  *
  * 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 @@
  *      portYIELD_FROM_ISR ();
  *  }
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup xQueueSendFromISR xQueueSendFromISR
  * \ingroup QueueManagement
@@ -1245,14 +1245,14 @@
 
 /**
  * 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 @@
  *
  * 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 @@
  *      portYIELD_FROM_ISR();
  *  }
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup xQueueSendFromISR xQueueSendFromISR
  * \ingroup QueueManagement
@@ -1329,13 +1329,13 @@
 
 /**
  * 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 @@
  * otherwise pdFALSE.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  *
  * QueueHandle_t xQueue;
  *
@@ -1410,7 +1410,7 @@
  *      taskYIELD ();
  *  }
  * }
- * </pre>
+ * @endcode
  * \defgroup xQueueReceiveFromISR xQueueReceiveFromISR
  * \ingroup QueueManagement
  */
diff --git a/include/semphr.h b/include/semphr.h
index 65084c5..ce46756 100644
--- a/include/semphr.h
+++ b/include/semphr.h
@@ -44,9 +44,9 @@
 

 /**

  * 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 @@
  * @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 @@
  *      // The semaphore can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup vSemaphoreCreateBinary vSemaphoreCreateBinary

  * \ingroup Semaphores

  */

@@ -106,9 +106,9 @@
 

 /**

  * 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 @@
  * 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 @@
  *      // The semaphore can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreCreateBinary xSemaphoreCreateBinary

  * \ingroup Semaphores

  */

@@ -169,9 +169,9 @@
 

 /**

  * 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 @@
  * 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 @@
  *

  *  // Rest of task code goes here.

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreCreateBinaryStatic xSemaphoreCreateBinaryStatic

  * \ingroup Semaphores

  */

@@ -230,12 +230,12 @@
 

 /**

  * 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 @@
  * 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 @@
  *      }

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreTake xSemaphoreTake

  * \ingroup Semaphores

  */

@@ -299,12 +299,12 @@
 

 /**

  * 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 @@
  * 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 @@
  *      }

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreTakeRecursive xSemaphoreTakeRecursive

  * \ingroup Semaphores

  */

@@ -396,9 +396,9 @@
 

 /**

  * 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 @@
  * semaphore was not first obtained correctly.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore = NULL;

  *

  * void vATask( void * pvParameters )

@@ -453,7 +453,7 @@
  *      }

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreGive xSemaphoreGive

  * \ingroup Semaphores

  */

@@ -461,9 +461,9 @@
 

 /**

  * 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 @@
  * @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 @@
  *      }

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreGiveRecursive xSemaphoreGiveRecursive

  * \ingroup Semaphores

  */

@@ -549,12 +549,12 @@
 

 /**

  * 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 @@
  * @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 @@
  *      // to find the syntax required.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreGiveFromISR xSemaphoreGiveFromISR

  * \ingroup Semaphores

  */

@@ -641,12 +641,12 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
  * data structures then NULL is returned.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore;

  *

  * void vATask( void * pvParameters )

@@ -727,7 +727,7 @@
  *      // The semaphore can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreCreateMutex xSemaphoreCreateMutex

  * \ingroup Semaphores

  */

@@ -737,9 +737,9 @@
 

 /**

  * 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 @@
  * 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 @@
  *  // 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 @@
 

 /**

  * 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 @@
  * SemaphoreHandle_t.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore;

  *

  * void vATask( void * pvParameters )

@@ -860,7 +860,7 @@
  *      // The semaphore can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreCreateRecursiveMutex xSemaphoreCreateRecursiveMutex

  * \ingroup Semaphores

  */

@@ -870,9 +870,9 @@
 

 /**

  * 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 @@
  * returned.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore;

  * StaticSemaphore_t xMutexBuffer;

  *

@@ -935,7 +935,7 @@
  *  // 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 @@
 

 /**

  * 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 @@
  *         created.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore;

  *

  * void vATask( void * pvParameters )

@@ -1017,7 +1017,7 @@
  *      // The semaphore can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xSemaphoreCreateCounting xSemaphoreCreateCounting

  * \ingroup Semaphores

  */

@@ -1027,9 +1027,9 @@
 

 /**

  * 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 @@
  * then NULL is returned.

  *

  * Example usage:

- * <pre>

+ * @code{c}

  * SemaphoreHandle_t xSemaphore;

  * StaticSemaphore_t xSemaphoreBuffer;

  *

@@ -1104,7 +1104,7 @@
  *  // 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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 @@
 

 /**

  * 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

diff --git a/include/stream_buffer.h b/include/stream_buffer.h
index ef38598..1ebcea5 100644
--- a/include/stream_buffer.h
+++ b/include/stream_buffer.h
@@ -75,9 +75,9 @@
 /**

  * 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 @@
  * buffer.

  *

  * Example use:

- * <pre>

+ * @code{c}

  *

  * void vAFunction( void )

  * {

@@ -133,7 +133,7 @@
  *      // The stream buffer was created successfully and can now be used.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xStreamBufferCreate xStreamBufferCreate

  * \ingroup StreamBufferManagement

  */

@@ -142,12 +142,12 @@
 /**

  * 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 @@
  * 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 @@
  *  // Other code that uses the stream buffer can go here.

  * }

  *

- * </pre>

+ * @endcode

  * \defgroup xStreamBufferCreateStatic xStreamBufferCreateStatic

  * \ingroup StreamBufferManagement

  */

@@ -224,12 +224,12 @@
 /**

  * 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 @@
  * write as many bytes as possible.

  *

  * Example use:

- * <pre>

+ * @code{c}

  * void vAFunction( StreamBufferHandle_t xStreamBuffer )

  * {

  * size_t xBytesSent;

@@ -309,7 +309,7 @@
  *      // were sent.  Could try again to send the remaining bytes.

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xStreamBufferSend xStreamBufferSend

  * \ingroup StreamBufferManagement

  */

@@ -321,12 +321,12 @@
 /**

  * 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 @@
  * 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 @@
  *  // 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 @@
 /**

  * 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 @@
  * out before xBufferLengthBytes were available.

  *

  * Example use:

- * <pre>

+ * @code{c}

  * void vAFunction( StreamBuffer_t xStreamBuffer )

  * {

  * uint8_t ucRxData[ 20 ];

@@ -499,7 +499,7 @@
  *      // be processed here....

  *  }

  * }

- * </pre>

+ * @endcode

  * \defgroup xStreamBufferReceive xStreamBufferReceive

  * \ingroup StreamBufferManagement

  */

@@ -511,12 +511,12 @@
 /**

  * 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 @@
  * @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 @@
  *  // 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * 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 @@
 /**

  * stream_buffer.h

  *

- * <pre>

+ * @code{c}

  * BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, BaseType_t *pxHigherPriorityTaskWoken );

- * </pre>

+ * @endcode

  *

  * For advanced users only.

  *

diff --git a/include/task.h b/include/task.h
index a0b9c17..fff3ab5 100644
--- a/include/task.h
+++ b/include/task.h
@@ -253,7 +253,7 @@
 
 /**
  * task. h
- * <pre>
+ * @code{c}
  * BaseType_t xTaskCreate(
  *                            TaskFunction_t pxTaskCode,
  *                            const char *pcName,
@@ -262,7 +262,7 @@
  *                            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 @@
  * 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 @@
  *      vTaskDelete( xHandle );
  *   }
  * }
- * </pre>
+ * @endcode
  * \defgroup xTaskCreate xTaskCreate
  * \ingroup Tasks
  */
@@ -356,7 +356,7 @@
 
 /**
  * task. h
- * <pre>
+ * @code{c}
  * TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,
  *                               const char *pcName,
  *                               uint32_t ulStackDepth,
@@ -364,7 +364,7 @@
  *                               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 @@
  * 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 @@
  *      // to suspend the task.
  *      vTaskSuspend( xHandle );
  *  }
- * </pre>
+ * @endcode
  * \defgroup xTaskCreateStatic xTaskCreateStatic
  * \ingroup Tasks
  */
@@ -474,9 +474,9 @@
 
 /**
  * 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 @@
  * 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 @@
  *  // and/or timer task.
  *  for( ;; );
  * }
- * </pre>
+ * @endcode
  * \defgroup xTaskCreateRestricted xTaskCreateRestricted
  * \ingroup Tasks
  */
@@ -552,9 +552,9 @@
 
 /**
  * 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 @@
  * 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 @@
  *  // and/or timer task.
  *  for( ;; );
  * }
- * </pre>
+ * @endcode
  * \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
  * \ingroup Tasks
  */
@@ -642,9 +642,9 @@
 
 /**
  * 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 @@
  * 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 @@
  *  // 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 @@
 
 /**
  * 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 @@
  * cause the calling task to be deleted.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vOtherFunction( void )
  * {
  * TaskHandle_t xHandle;
@@ -727,7 +727,7 @@
  *   // Use the handle to delete the task.
  *   vTaskDelete( xHandle );
  * }
- * </pre>
+ * @endcode
  * \defgroup vTaskDelete vTaskDelete
  * \ingroup Tasks
  */
@@ -739,9 +739,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * 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 @@
  *         // whether a deadline was missed if the code here took too long.
  *     }
  * }
- * </pre>
+ * @endcode
  * \defgroup xTaskDelayUntil xTaskDelayUntil
  * \ingroup TaskCtrl
  */
@@ -867,9 +867,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * @return The priority of xTask.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vAFunction( void )
  * {
  * TaskHandle_t xHandle;
@@ -940,7 +940,7 @@
  *       // Our priority (obtained using NULL handle) is higher.
  *   }
  * }
- * </pre>
+ * @endcode
  * \defgroup uxTaskPriorityGet uxTaskPriorityGet
  * \ingroup TaskCtrl
  */
@@ -948,9 +948,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * 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 @@
  *                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 @@
 
 /**
  * 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 @@
  * @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 @@
  *   // 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 @@
 
 /**
  * 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 @@
  * handle will cause the calling task to be suspended.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vAFunction( void )
  * {
  * TaskHandle_t xHandle;
@@ -1129,7 +1129,7 @@
  *   // 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 @@
 
 /**
  * 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 @@
  * @param xTaskToResume Handle to the task being readied.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vAFunction( void )
  * {
  * TaskHandle_t xHandle;
@@ -1180,7 +1180,7 @@
  *   // 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * 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 @@
  *
  *   // Will not get here unless a task calls vTaskEndScheduler ()
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup vTaskStartScheduler vTaskStartScheduler
  * \ingroup SchedulerControl
@@ -1254,9 +1254,9 @@
 
 /**
  * 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 @@
  * tasks.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vTaskCode( void * pvParameters )
  * {
  *   for( ;; )
@@ -1303,7 +1303,7 @@
  *   // vTaskEndScheduler ().  When we get here we are back to single task
  *   // execution.
  * }
- * </pre>
+ * @endcode
  *
  * \defgroup vTaskEndScheduler vTaskEndScheduler
  * \ingroup SchedulerControl
@@ -1312,9 +1312,9 @@
 
 /**
  * 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 @@
  * is suspended.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vTask1( void * pvParameters )
  * {
  *   for( ;; )
@@ -1357,7 +1357,7 @@
  *       xTaskResumeAll ();
  *   }
  * }
- * </pre>
+ * @endcode
  * \defgroup vTaskSuspendAll vTaskSuspendAll
  * \ingroup SchedulerControl
  */
@@ -1365,9 +1365,9 @@
 
 /**
  * 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 @@
  *         returned, otherwise pdFALSE is returned.
  *
  * Example usage:
- * <pre>
+ * @code{c}
  * void vTask1( void * pvParameters )
  * {
  *   for( ;; )
@@ -1413,7 +1413,7 @@
  *       }
  *   }
  * }
- * </pre>
+ * @endcode
  * \defgroup xTaskResumeAll xTaskResumeAll
  * \ingroup SchedulerControl
  */
@@ -1425,7 +1425,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  *  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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * 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 @@
  *          vPortFree( pxTaskStatusArray );
  *      }
  *  }
- *  </pre>
+ *  @endcode
  */
 UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
                                   const UBaseType_t uxArraySize,
@@ -1785,7 +1805,9 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
 
 /**
  * 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 @@
  * @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 @@
  *
  *      return uxReceived;
  *  }
- * </pre>
+ * @endcode
  * \defgroup xTaskCheckForTimeOut xTaskCheckForTimeOut
  * \ingroup TaskCtrl
  */
@@ -2831,9 +2869,9 @@
 
 /**
  * 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
diff --git a/include/timers.h b/include/timers.h
index f460bba..e603762 100644
--- a/include/timers.h
+++ b/include/timers.h
@@ -1330,7 +1330,9 @@
 
 /**
  * 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