#error configUSE_TIMERS must be set to 1 to make the xEventGroupSetBitFromISR() function available.\r
#endif\r
\r
-#if ( INCLUDE_xEventGroupSetBitFromISR == 1 ) && ( INCLUDE_xTimerPendCallbackFromISR == 0 )\r
- #error INCLUDE_xTimerPendCallbackFromISR must also be set to one to make the xEventGroupSetBitFromISR() function available.\r
+#if ( INCLUDE_xEventGroupSetBitFromISR == 1 ) && ( INCLUDE_xTimerPendFunctionCallFromISR == 0 )\r
+ #error INCLUDE_xTimerPendFunctionCallFromISR must also be set to one to make the xEventGroupSetBitFromISR() function available.\r
#endif\r
\r
/* The following bit fields convey control information in a task's event list\r
}\r
/*-----------------------------------------------------------*/\r
\r
+EventBits_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear )\r
+{\r
+UBaseType_t uxSavedInterruptStatus;\r
+EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup;\r
+EventBits_t uxReturn;\r
+\r
+ /* Check the user is not attempting to clear the bits used by the kernel\r
+ itself. */\r
+ configASSERT( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0 );\r
+\r
+ uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();\r
+ {\r
+ traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear );\r
+\r
+ /* The value returned is the event group value prior to the bits being\r
+ cleared. */\r
+ uxReturn = pxEventBits->uxEventBits;\r
+\r
+ /* Clear the bits. */\r
+ pxEventBits->uxEventBits &= ~uxBitsToClear;\r
+ }\r
+ portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus );\r
+\r
+ return uxReturn;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet )\r
{\r
ListItem_t *pxListItem, *pxNext;\r
/* Definitions specific to the port being used. */\r
#include "portable.h"\r
\r
-\r
-/* Defines the prototype to which the application task hook function must\r
-conform. */\r
-typedef BaseType_t (*pdTASK_HOOK_CODE)( void * );\r
-\r
-/* The type that holds event bits always matches TickType_t - therefore the\r
-number of bits it holds is set by configUSE_16_BIT_TICKS (16 bits if set to 1,\r
-32 bits if set to 0. */\r
-typedef TickType_t EventBits_t;\r
-\r
/*\r
* Check all the required application specific macros have been defined.\r
* These macros are application specific and (as downloaded) are defined\r
#define INCLUDE_xEventGroupSetBitFromISR 0\r
#endif\r
\r
-#ifndef INCLUDE_xTimerPendCallbackFromISR\r
- #define INCLUDE_xTimerPendCallbackFromISR 0\r
+#ifndef INCLUDE_xTimerPendFunctionCallFromISR\r
+ #define INCLUDE_xTimerPendFunctionCallFromISR 0\r
#endif\r
\r
#ifndef configASSERT\r
#define traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear )\r
#endif\r
\r
+#ifndef traceEVENT_GROUP_CLEAR_BITS_FROM_ISR\r
+ #define traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear )\r
+#endif\r
+\r
#ifndef traceEVENT_GROUP_SET_BITS\r
#define traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet )\r
#endif\r
#define xQueueHandle QueueHandle_t\r
#define xSemaphoreHandle SemaphoreHandle_t\r
#define xQueueSetHandle QueueSetHandle_t\r
-#define xQueueSetMemberHandle QueueSetMember_t\r
+#define xQueueSetMemberHandle QueueSetMemberHandle_t\r
#define xTimeoutType TimeOut_t\r
#define xMemoryRegion MemoryRegion_t\r
#define xTaskParameters TaskParameters_t\r
#define xTaskStatusType TaskStatus_t\r
#define xTimerHandle TimerHandle_t\r
#define xCoRoutineHandle CoRoutineHandle_t\r
+#define pdTASK_HOOK_CODE TaskHookFunction_t\r
+\r
+/* Backward compatibility within the scheduler code only - these definitions\r
+are not really required but are included for completeness. */\r
+#define trmTIMER_CALLBACK TimerCallbackFunction_t\r
+#define pdTASK_CODE TaskFunction_t\r
#define xListItem ListItem_t\r
#define xList List_t\r
-#define xTimeOutType TimeOut_t\r
\r
#endif /* INC_FREERTOS_H */\r
\r
*/\r
typedef void * EventGroupHandle_t;\r
\r
+/* \r
+ * The type that holds event bits always matches TickType_t - therefore the\r
+ * number of bits it holds is set by configUSE_16_BIT_TICKS (16 bits if set to 1,\r
+ * 32 bits if set to 0. \r
+ *\r
+ * \defgroup EventBits_t EventBits_t\r
+ * \ingroup EventGroup\r
+ */\r
+typedef TickType_t EventBits_t;\r
+\r
/**\r
* event_groups.h\r
*<pre>\r
*/\r
EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION;\r
\r
+/**\r
+ * event_groups.h\r
+ *<pre>\r
+ EventBits_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear );\r
+ </pre>\r
+ *\r
+ * A version of xEventGroupClearBits() that can be called from an interrupt\r
+ * service routine. See the xEventGroupClearBits() documentation.\r
+ *\r
+ * \defgroup xEventGroupClearBitsFromISR xEventGroupClearBitsFromISR\r
+ * \ingroup EventGroup\r
+ */\r
+EventBits_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION;\r
+\r
/**\r
* event_groups.h\r
*<pre>\r
/**\r
* event_groups.h\r
*<pre>\r
- EventBits_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken );\r
+ BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken );\r
</pre>\r
*\r
* A version of xEventGroupSetBits() that can be called from an interrupt.\r
* *pxHigherPriorityTaskWoken must be initialised to pdFALSE. See the\r
* example code below.\r
*\r
- * @return If the callback request was registered successfully then pdPASS is\r
- * returned, otherwise pdFALSE is returned. pdFALSE will be returned if the\r
- * timer service queue was full.\r
+ * @return If the request to execute the function was posted successfully then \r
+ * pdPASS is returned, otherwise pdFALSE is returned. pdFALSE will be returned \r
+ * if the timer service queue was full.\r
*\r
* Example usage:\r
<pre>\r
\r
void anInterruptHandler( void )\r
{\r
- BaseType_t xHigherPriorityTaskWoken;\r
+ BaseType_t xHigherPriorityTaskWoken, xResult;\r
\r
// xHigherPriorityTaskWoken must be initialised to pdFALSE.\r
xHigherPriorityTaskWoken = pdFALSE;\r
\r
// Set bit 0 and bit 4 in xEventGroup.\r
- uxBits = xEventGroupSetBitsFromISR(\r
+ xResult = xEventGroupSetBitsFromISR(\r
xEventGroup, // The event group being updated.\r
BIT_0 | BIT_4 // The bits being set.\r
&xHigherPriorityTaskWoken );\r
\r
- // If xHigherPriorityTaskWoken is now set to pdTRUE then a context\r
- // switch should be requested. The macro used is port specific and will\r
- // be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() - refer to\r
- // the documentation page for the port being used.\r
- portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
- }\r
+ // Was the message posted successfully?\r
+ if( xResult == pdPASS )\r
+ {\r
+ // If xHigherPriorityTaskWoken is now set to pdTRUE then a context\r
+ // switch should be requested. The macro used is port specific and \r
+ // will be either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR() - \r
+ // refer to the documentation page for the port being used.\r
+ portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
+ }\r
+ }\r
</pre>\r
* \defgroup xEventGroupSetBitsFromISR xEventGroupSetBitsFromISR\r
* \ingroup EventGroup\r
*/\r
-#define xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ) xTimerPendCallbackFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken )\r
+#define xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ) xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken )\r
\r
/**\r
* event_groups.h\r
*/\r
#define xEventGroupGetBits( xEventGroup ) xEventGroupClearBits( xEventGroup, 0 )\r
\r
+/**\r
+ * event_groups.h\r
+ *<pre>\r
+ EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup );\r
+ </pre>\r
+ *\r
+ * A version of xEventGroupGetBits() that can be called from an ISR.\r
+ *\r
+ * @param xEventGroup The event group being queried.\r
+ *\r
+ * @return The event group bits at the time xEventGroupGetBitsFromISR() was called.\r
+ *\r
+ * \defgroup xEventGroupGetBitsFromISR xEventGroupGetBitsFromISR\r
+ * \ingroup EventGroup\r
+ */\r
+#define xEventGroupGetBitsFromISR( xEventGroup ) xEventGroupClearBitsFromISR( xEventGroup, 0 )\r
+\r
/**\r
* event_groups.h\r
*<pre>\r
*\r
*/\r
#if( portUSING_MPU_WRAPPERS == 1 )\r
- StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, BaseType_t xRunPrivileged ) PRIVILEGED_FUNCTION;\r
+ StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters, BaseType_t xRunPrivileged ) PRIVILEGED_FUNCTION;\r
#else\r
- StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters ) PRIVILEGED_FUNCTION;\r
+ StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) PRIVILEGED_FUNCTION;\r
#endif\r
\r
/*\r
#ifndef PROJDEFS_H\r
#define PROJDEFS_H\r
\r
-/* Defines the prototype to which task functions must conform. */\r
-typedef void (*pdTASK_CODE)( void * );\r
-\r
-/* Defines the prototype to which callback functions called from the RTOS/timer\r
-daemon task must conform. */\r
-typedef void (*pdAPPLICATION_CALLBACK_CODE)( void *, uint32_t );\r
+/* \r
+ * Defines the prototype to which task functions must conform. Defined in this\r
+ * file to ensure the type is known before portable.h is included.\r
+ */\r
+typedef void (*TaskFunction_t)( void * );\r
\r
#define pdFALSE ( ( BaseType_t ) 0 )\r
#define pdTRUE ( ( BaseType_t ) 1 )\r
\r
/**\r
* Queue sets can contain both queues and semaphores, so the\r
- * QueueSetMember_t is defined as a type to be used where a parameter or\r
+ * QueueSetMemberHandle_t is defined as a type to be used where a parameter or\r
* return value can be either an QueueHandle_t or an SemaphoreHandle_t.\r
*/\r
-typedef void * QueueSetMember_t;\r
+typedef void * QueueSetMemberHandle_t;\r
\r
/* For internal use only. */\r
#define queueSEND_TO_BACK ( ( BaseType_t ) 0 )\r
* a call to xQueueSelectFromSet() has first returned a handle to that set member.\r
*\r
* @param xQueueOrSemaphore The handle of the queue or semaphore being added to\r
- * the queue set (cast to an QueueSetMember_t type).\r
+ * the queue set (cast to an QueueSetMemberHandle_t type).\r
*\r
* @param xQueueSet The handle of the queue set to which the queue or semaphore\r
* is being added.\r
* queue set because it is already a member of a different queue set then pdFAIL\r
* is returned.\r
*/\r
-BaseType_t xQueueAddToSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
+BaseType_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* Removes a queue or semaphore from a queue set. A queue or semaphore can only\r
* function.\r
*\r
* @param xQueueOrSemaphore The handle of the queue or semaphore being removed\r
- * from the queue set (cast to an QueueSetMember_t type).\r
+ * from the queue set (cast to an QueueSetMemberHandle_t type).\r
*\r
* @param xQueueSet The handle of the queue set in which the queue or semaphore\r
* is included.\r
* then pdPASS is returned. If the queue was not in the queue set, or the\r
* queue (or semaphore) was not empty, then pdFAIL is returned.\r
*/\r
-BaseType_t xQueueRemoveFromSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
+BaseType_t xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* xQueueSelectFromSet() selects from the members of a queue set a queue or\r
* operation.\r
*\r
* @return xQueueSelectFromSet() will return the handle of a queue (cast to\r
- * a QueueSetMember_t type) contained in the queue set that contains data,\r
- * or the handle of a semaphore (cast to a QueueSetMember_t type) contained\r
+ * a QueueSetMemberHandle_t type) contained in the queue set that contains data,\r
+ * or the handle of a semaphore (cast to a QueueSetMemberHandle_t type) contained\r
* in the queue set that is available, or NULL if no such queue or semaphore\r
* exists before before the specified block time expires.\r
*/\r
-QueueSetMember_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, const TickType_t xBlockTimeTicks ) PRIVILEGED_FUNCTION;\r
+QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, const TickType_t xBlockTimeTicks ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* A version of xQueueSelectFromSet() that can be used from an ISR.\r
*/\r
-QueueSetMember_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
+QueueSetMemberHandle_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet ) PRIVILEGED_FUNCTION;\r
\r
/* Not public API functions. */\r
void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;\r
*/\r
typedef void * TaskHandle_t;\r
\r
+/* \r
+ * Defines the prototype to which the application task hook function must\r
+ * conform. \r
+ */\r
+typedef BaseType_t (*TaskHookFunction_t)( void * );\r
+\r
/* Task states returned by eTaskGetState. */\r
typedef enum\r
{\r
*/\r
typedef struct xTASK_PARAMETERS\r
{\r
- pdTASK_CODE pvTaskCode;\r
+ TaskFunction_t pvTaskCode;\r
const char * const pcName; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
uint16_t usStackDepth;\r
void *pvParameters;\r
* task. h\r
*<pre>\r
BaseType_t xTaskCreate(\r
- pdTASK_CODE pvTaskCode,\r
+ TaskFunction_t pvTaskCode,\r
const char * const pcName,\r
uint16_t usStackDepth,\r
void *pvParameters,\r
UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;\r
\r
/* When using trace macros it is sometimes necessary to include task.h before\r
-FreeRTOS.h. When this is done pdTASK_HOOK_CODE will not yet have been defined,\r
+FreeRTOS.h. When this is done TaskHookFunction_t will not yet have been defined,\r
so the following two prototypes will cause a compilation error. This can be\r
fixed by simply guarding against the inclusion of these two prototypes unless\r
they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration\r
#if configUSE_APPLICATION_TASK_TAG == 1\r
/**\r
* task.h\r
- * <pre>void vTaskSetApplicationTaskTag( TaskHandle_t xTask, pdTASK_HOOK_CODE pxHookFunction );</pre>\r
+ * <pre>void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction );</pre>\r
*\r
* Sets pxHookFunction to be the task hook function used by the task xTask.\r
* Passing xTask as NULL has the effect of setting the calling tasks hook\r
* function.\r
*/\r
- void vTaskSetApplicationTaskTag( TaskHandle_t xTask, pdTASK_HOOK_CODE pxHookFunction ) PRIVILEGED_FUNCTION;\r
+ void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* task.h\r
*\r
* Returns the pxHookFunction value assigned to the task xTask.\r
*/\r
- pdTASK_HOOK_CODE xTaskGetApplicationTaskTag( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;\r
+ TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask ) PRIVILEGED_FUNCTION;\r
#endif /* configUSE_APPLICATION_TASK_TAG ==1 */\r
#endif /* ifdef configUSE_APPLICATION_TASK_TAG */\r
\r
* Generic version of the task creation function which is in turn called by the\r
* xTaskCreate() and xTaskCreateRestricted() macros.\r
*/\r
-BaseType_t xTaskGenericCreate( pdTASK_CODE pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask, StackType_t * const puxStackBuffer, const MemoryRegion_t * const xRegions ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+BaseType_t xTaskGenericCreate( TaskFunction_t pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask, StackType_t * const puxStackBuffer, const MemoryRegion_t * const xRegions ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
\r
/*\r
* Get the uxTCBNumber assigned to the task referenced by the xTask parameter.\r
*/\r
typedef void * TimerHandle_t;\r
\r
-/* Define the prototype to which timer callback functions must conform. */\r
-typedef void (*tmrTIMER_CALLBACK)( TimerHandle_t xTimer );\r
+/* \r
+ * Defines the prototype to which timer callback functions must conform. \r
+ */\r
+typedef void (*TimerCallbackFunction_t)( TimerHandle_t xTimer );\r
+\r
+/* \r
+ * Defines the prototype to which functions used with the \r
+ * xTimerPendFunctionCallFromISR() function must conform.\r
+ */\r
+typedef void (*PendedFunction_t)( void *, uint32_t );\r
\r
/**\r
* TimerHandle_t xTimerCreate( const char * const pcTimerName,\r
* TickType_t xTimerPeriodInTicks,\r
* UBaseType_t uxAutoReload,\r
* void * pvTimerID,\r
- * tmrTIMER_CALLBACK pxCallbackFunction );\r
+ * TimerCallbackFunction_t pxCallbackFunction );\r
*\r
* Creates a new software timer instance. This allocates the storage required\r
* by the new timer, initialises the new timers internal state, and returns a\r
* timer.\r
*\r
* @param pxCallbackFunction The function to call when the timer expires.\r
- * Callback functions must have the prototype defined by tmrTIMER_CALLBACK,\r
+ * Callback functions must have the prototype defined by TimerCallbackFunction_t,\r
* which is "void vCallbackFunction( TimerHandle_t xTimer );".\r
*\r
* @return If the timer is successfully created then a handle to the newly\r
* }\r
* @endverbatim\r
*/\r
-TimerHandle_t xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, tmrTIMER_CALLBACK pxCallbackFunction ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+TimerHandle_t xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
\r
/**\r
* void *pvTimerGetTimerID( TimerHandle_t xTimer );\r
\r
\r
/**\r
- * BaseType_t xTimerPendCallbackFromISR( pdAPPLICATION_CALLBACK_CODE pvCallbackFunction,\r
+ * BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend,\r
* void *pvParameter1,\r
* uint32_t ulParameter2,\r
* BaseType_t *pxHigherPriorityTaskWoken );\r
*\r
*\r
- * Can be used by interrupt service routines to request that a function (the\r
- * callback function) is executed from a task context.\r
+ * Used from application interrupt service routines to defer the execution of a\r
+ * function to the RTOS daemon task (the timer service task, hence this function \r
+ * is implemented in timers.c and is prefixed with 'Timer').\r
*\r
* Ideally an interrupt service routine (ISR) is kept as short as possible, but\r
* sometimes an ISR either has a lot of processing to do, or needs to perform\r
- * processing that is not deterministic. In these cases the processing can be\r
- * deferred to be performed in a task - allowing the ISR to exit. The timer\r
- * daemon service/daemon task is already responsible for executing software\r
- * timer callback functions, so is also used to executed callback functions that\r
- * are pended from interrupts.\r
+ * processing that is not deterministic. In these cases \r
+ * xTimerPendFunctionCallFromISR() can be used to defer processing of a function \r
+ * to the RTOS daemon task.\r
*\r
* A mechanism is provided that allows the interrupt to return directly to the\r
* task that will subsequently execute the pended callback function. This\r
* allows the callback function to execute contiguously in time with the\r
* interrupt - just as if the callback had executed in the interrupt itself.\r
*\r
- * @param pvCallbackFunction The function to execute from the timer service/\r
- * daemon task. The function must conform to the pdAPPLICATION_CALLBACK_CODE\r
+ * @param xFunctionToPend The function to execute from the timer service/\r
+ * daemon task. The function must conform to the PendedFunction_t\r
* prototype.\r
*\r
* @param pvParameter1 The value of the callback function's first parameter.\r
* configTIMER_TASK_PRIORITY in FreeRTOSConfig.h) is higher than the priority of\r
* the currently running task (the task the interrupt interrupted) then\r
* *pxHigherPriorityTaskWoken will be set to pdTRUE within\r
- * xTimerPendCallbackFromISR(), indicating that a context switch should be\r
+ * xTimerPendFunctionCallFromISR(), indicating that a context switch should be\r
* requested before the interrupt exits. For that reason\r
* *pxHigherPriorityTaskWoken must be initialised to pdFALSE. See the\r
* example code below.\r
* // service is passed in the second parameter. The first parameter is\r
* // not used in this case.\r
* xHigherPriorityTaskWoken = pdFALSE;\r
- * xTimerPendCallbackFromISR( vProcessInterface, NULL, ( uint32_t ) xInterfaceToService, &xHigherPriorityTaskWoken );\r
+ * xTimerPendFunctionCallFromISR( vProcessInterface, NULL, ( uint32_t ) xInterfaceToService, &xHigherPriorityTaskWoken );\r
*\r
* // If xHigherPriorityTaskWoken is now set to pdTRUE then a context\r
* // switch should be requested. The macro used is port specific and will\r
* }\r
* @endverbatim\r
*/\r
-BaseType_t xTimerPendCallbackFromISR( pdAPPLICATION_CALLBACK_CODE pvCallbackFunction, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken );\r
+BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken );\r
\r
/*\r
* Functions beyond this part are not part of the public API and are intended\r
/*-----------------------------------------------------------*/\r
\r
/* See header file for description. */\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t DS_Reg = 0;\r
\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint16_t *pusTopOfStack;\r
uint32_t *pulTopOfStack, ulTemp;\r
\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
\r
uint32_t ulOriginalA5;\r
\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
*pxTopOfStack = ( StackType_t ) pvParameters;\r
pxTopOfStack--;\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* \r
Place a few bytes of known values on the bottom of the stack.\r
*\r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* Prototypes for all the MPU wrappers.\r
*/\r
-BaseType_t MPU_xTaskGenericCreate( pdTASK_CODE pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask, StackType_t *puxStackBuffer, const MemoryRegion_t * const xRegions );\r
+BaseType_t MPU_xTaskGenericCreate( TaskFunction_t pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask, StackType_t *puxStackBuffer, const MemoryRegion_t * const xRegions );\r
void MPU_vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const xRegions );\r
void MPU_vTaskDelete( TaskHandle_t pxTaskToDelete );\r
void MPU_vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, TickType_t xTimeIncrement );\r
UBaseType_t MPU_uxTaskGetNumberOfTasks( void );\r
void MPU_vTaskList( char *pcWriteBuffer );\r
void MPU_vTaskGetRunTimeStats( char *pcWriteBuffer );\r
-void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, pdTASK_HOOK_CODE pxTagValue );\r
-pdTASK_HOOK_CODE MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask );\r
+void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxTagValue );\r
+TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask );\r
BaseType_t MPU_xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter );\r
UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask );\r
TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void );\r
void MPU_vPortInitialiseBlocks( void );\r
size_t MPU_xPortGetFreeHeapSize( void );\r
QueueSetHandle_t MPU_xQueueCreateSet( UBaseType_t uxEventQueueLength );\r
-QueueSetMember_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks );\r
-BaseType_t MPU_xQueueAddToSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );\r
-BaseType_t MPU_xQueueRemoveFromSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );\r
+QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks );\r
+BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );\r
+BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet );\r
BaseType_t MPU_xQueuePeekFromISR( QueueHandle_t xQueue, void * const pvBuffer );\r
\r
/*-----------------------------------------------------------*/\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters, BaseType_t xRunPrivileged )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters, BaseType_t xRunPrivileged )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
}\r
/*-----------------------------------------------------------*/\r
\r
-BaseType_t MPU_xTaskGenericCreate( pdTASK_CODE pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask, StackType_t *puxStackBuffer, const MemoryRegion_t * const xRegions )\r
+BaseType_t MPU_xTaskGenericCreate( TaskFunction_t pvTaskCode, const char * const pcName, uint16_t usStackDepth, void *pvParameters, UBaseType_t uxPriority, TaskHandle_t *pxCreatedTask, StackType_t *puxStackBuffer, const MemoryRegion_t * const xRegions )\r
{\r
BaseType_t xReturn;\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
/*-----------------------------------------------------------*/\r
\r
#if ( configUSE_APPLICATION_TASK_TAG == 1 )\r
- void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, pdTASK_HOOK_CODE pxTagValue )\r
+ void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxTagValue )\r
{\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
\r
/*-----------------------------------------------------------*/\r
\r
#if ( configUSE_APPLICATION_TASK_TAG == 1 )\r
- pdTASK_HOOK_CODE MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask )\r
+ TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask )\r
{\r
- pdTASK_HOOK_CODE xReturn;\r
+ TaskHookFunction_t xReturn;\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
\r
xReturn = xTaskGetApplicationTaskTag( xTask );\r
/*-----------------------------------------------------------*/\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
- QueueSetMember_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks )\r
+ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t xBlockTimeTicks )\r
{\r
- QueueSetMember_t xReturn;\r
+ QueueSetMemberHandle_t xReturn;\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
\r
xReturn = xQueueSelectFromSet( xQueueSet, xBlockTimeTicks );\r
/*-----------------------------------------------------------*/\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
- BaseType_t MPU_xQueueAddToSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
+ BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
{\r
BaseType_t xReturn;\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
/*-----------------------------------------------------------*/\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
- BaseType_t MPU_xQueueRemoveFromSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
+ BaseType_t MPU_xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
{\r
BaseType_t xReturn;\r
BaseType_t xRunningPrivileged = prvRaisePrivilege();\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint16_t usAddress;\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Setup the initial stack of the task. The stack is set exactly as\r
expected by the portRESTORE_CONTEXT() macro. */\r
static void prvSetupTimerInterrupt( void );\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Make space on the stack for the context - this leaves a couple of spaces\r
empty. */\r
\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
*pxTopOfStack = ( StackType_t ) pvParameters;\r
pxTopOfStack--;\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t ulValue;\r
\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
\r
\r
/* ------------------------ Start implementation -------------------------- */\r
\r
StackType_t *\r
-pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode,\r
+pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode,\r
void *pvParameters )\r
{\r
/* Place the parameter on the stack in the expected location. */\r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* \r
Place a few bytes of known values on the bottom of the stack. \r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
extern void *_SDA2_BASE_, *_SDA_BASE_;\r
const uint32_t ulR2 = ( uint32_t ) &_SDA2_BASE_;\r
*\r
* See the portable.h header file.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
extern void *_SDA2_BASE_, *_SDA_BASE_;\r
const uint32_t ulR2 = ( uint32_t ) &_SDA2_BASE_;\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{ \r
StackType_t *pxFramePointer = pxTopOfStack - 1;\r
StackType_t xGlobalPointer;\r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Place a known value at the bottom of the stack for debugging. */\r
*pxTopOfStack = 0xDEADBEEF;\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Place a known value at the bottom of the stack for debugging. */\r
*pxTopOfStack = 0xDEADBEEF;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Offset to end up on 8 byte boundary. */\r
pxTopOfStack--;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* R0 is not included as it is the stack pointer. */\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t *pulUpperCSA = NULL;\r
uint32_t *pulLowerCSA = NULL;\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t *pulLocal;\r
\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Setup the initial stack of the task. The stack is set exactly as\r
expected by the portRESTORE_CONTEXT() macro.\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint16_t usAddress;\r
StackType_t *pxTopOfHardwareStack;\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Setup the initial stack of the task. The stack is set exactly as\r
expected by the portRESTORE_CONTEXT() macro. */\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/*\r
Place a few bytes of known values on the bottom of the stack.\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint16_t *pusTopOfStack;\r
uint32_t *pulTopOfStack;\r
*\r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t *pulLocal;\r
\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Offset to end up on 8 byte boundary. */\r
pxTopOfStack--;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* R0 is not included as it is the stack pointer. */\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
static void prvSetupTimerInterrupt( void );\r
\r
/*-----------------------------------------------------------*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
*pxTopOfStack = ( StackType_t ) pxCode; /* Task function start address */\r
pxTopOfStack--;\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t ulAddress;\r
uint8_t ucBlock;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint16_t usCode;\r
UBaseType_t i;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Ensure byte alignment is maintained when leaving this function. */\r
pxTopOfStack--;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Ensure byte alignment is maintained when leaving this function. */\r
pxTopOfStack--;\r
}\r
/*-----------------------------------------------------------*/\r
\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
xThreadState *pxThreadState = NULL;\r
int8_t *pcTopOfStack = ( int8_t * ) pxTopOfStack;\r
\r
/*-----------------------------------------------------------*/\r
/* See header file for description. */\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t DS_Reg = 0;\r
\r
\r
/*-----------------------------------------------------------*/\r
/* See header file for description. */\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t DS_Reg = 0;\r
\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t *pxOriginalTOS;\r
\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Setup the initial stack of the task. The stack is set exactly as\r
expected by the portRESTORE_CONTEXT() macro.\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Offset to end up on 8 byte boundary. */\r
pxTopOfStack--;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Offset to end up on 8 byte boundary. */\r
pxTopOfStack--;\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* R0 is not included as it is the stack pointer. */\r
\r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Mark the end of the stack - used for debugging only and can be removed. */\r
*pxTopOfStack = 0x11111111UL;\r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* \r
Place a few bytes of known values on the bottom of the stack. \r
/* \r
* See header file for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint32_t ulAddress;\r
StackType_t *pxStartOfStack;\r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Place a few bytes of known values on the bottom of the stack. \r
This is just useful for debugging. */\r
* \r
* See the header file portable.h.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Place a few bytes of known values on the bottom of the stack. \r
This is just useful for debugging. */\r
/*\r
* See header file for description.\r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
/* Simulate the stack frame as it would be created by a context switch\r
interrupt. */\r
* Initialise the stack of a new task.\r
* See portSAVE_CONTEXT macro for description. \r
*/\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
uint8_t ucScratch;\r
/*\r
/*-----------------------------------------------------------*/\r
\r
/* See header file for description. */\r
-StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
{\r
StackType_t DS_Reg = 0, *pxOriginalSP;\r
\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
\r
- BaseType_t xQueueAddToSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
+ BaseType_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
{\r
BaseType_t xReturn;\r
\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
\r
- BaseType_t xQueueRemoveFromSet( QueueSetMember_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
+ BaseType_t xQueueRemoveFromSet( QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet )\r
{\r
BaseType_t xReturn;\r
Queue_t * const pxQueueOrSemaphore = ( Queue_t * ) xQueueOrSemaphore;\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
\r
- QueueSetMember_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t const xBlockTimeTicks )\r
+ QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet, TickType_t const xBlockTimeTicks )\r
{\r
- QueueSetMember_t xReturn = NULL;\r
+ QueueSetMemberHandle_t xReturn = NULL;\r
\r
( void ) xQueueGenericReceive( ( QueueHandle_t ) xQueueSet, &xReturn, xBlockTimeTicks, pdFALSE ); /*lint !e961 Casting from one typedef to another is not redundant. */\r
return xReturn;\r
\r
#if ( configUSE_QUEUE_SETS == 1 )\r
\r
- QueueSetMember_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet )\r
+ QueueSetMemberHandle_t xQueueSelectFromSetFromISR( QueueSetHandle_t xQueueSet )\r
{\r
- QueueSetMember_t xReturn = NULL;\r
+ QueueSetMemberHandle_t xReturn = NULL;\r
\r
( void ) xQueueReceiveFromISR( ( QueueHandle_t ) xQueueSet, &xReturn, NULL ); /*lint !e961 Casting from one typedef to another is not redundant. */\r
return xReturn;\r
#endif\r
\r
#if ( configUSE_APPLICATION_TASK_TAG == 1 )\r
- pdTASK_HOOK_CODE pxTaskTag;\r
+ TaskHookFunction_t pxTaskTag;\r
#endif\r
\r
#if ( configGENERATE_RUN_TIME_STATS == 1 )\r
\r
/*-----------------------------------------------------------*/\r
\r
-BaseType_t xTaskGenericCreate( pdTASK_CODE pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask, StackType_t * const puxStackBuffer, const MemoryRegion_t * const xRegions ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+BaseType_t xTaskGenericCreate( TaskFunction_t pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask, StackType_t * const puxStackBuffer, const MemoryRegion_t * const xRegions ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
{\r
BaseType_t xReturn;\r
TCB_t * pxNewTCB;\r
\r
#if ( configUSE_APPLICATION_TASK_TAG == 1 )\r
\r
- void vTaskSetApplicationTaskTag( TaskHandle_t xTask, pdTASK_HOOK_CODE pxHookFunction )\r
+ void vTaskSetApplicationTaskTag( TaskHandle_t xTask, TaskHookFunction_t pxHookFunction )\r
{\r
TCB_t *xTCB;\r
\r
\r
#if ( configUSE_APPLICATION_TASK_TAG == 1 )\r
\r
- pdTASK_HOOK_CODE xTaskGetApplicationTaskTag( TaskHandle_t xTask )\r
+ TaskHookFunction_t xTaskGetApplicationTaskTag( TaskHandle_t xTask )\r
{\r
TCB_t *xTCB;\r
- pdTASK_HOOK_CODE xReturn;\r
+ TaskHookFunction_t xReturn;\r
\r
/* If xTask is NULL then we are setting our own task hook. */\r
if( xTask == NULL )\r
#include "queue.h"\r
#include "timers.h"\r
\r
-#if ( INCLUDE_xTimerPendCallbackFromISR == 1 ) && ( configUSE_TIMERS == 0 )\r
- #error configUSE_TIMERS must be set to 1 to make the INCLUDE_xTimerPendCallbackFromISR() function available.\r
+#if ( INCLUDE_xTimerPendFunctionCallFromISR == 1 ) && ( configUSE_TIMERS == 0 )\r
+ #error configUSE_TIMERS must be set to 1 to make the INCLUDE_xTimerPendFunctionCallFromISR() function available.\r
#endif\r
\r
/* Lint e961 and e750 are suppressed as a MISRA exception justified because the\r
/* The definition of the timers themselves. */\r
typedef struct tmrTimerControl\r
{\r
- const char *pcTimerName; /*<< Text name. This is not used by the kernel, it is included simply to make debugging easier. */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
- ListItem_t xTimerListItem; /*<< Standard linked list item as used by all kernel features for event management. */\r
- TickType_t xTimerPeriodInTicks;/*<< How quickly and often the timer expires. */\r
- UBaseType_t uxAutoReload; /*<< Set to pdTRUE if the timer should be automatically restarted once expired. Set to pdFALSE if the timer is, in effect, a one-shot timer. */\r
- void *pvTimerID; /*<< An ID to identify the timer. This allows the timer to be identified when the same callback is used for multiple timers. */\r
- tmrTIMER_CALLBACK pxCallbackFunction; /*<< The function that will be called when the timer expires. */\r
+ const char *pcTimerName; /*<< Text name. This is not used by the kernel, it is included simply to make debugging easier. */ /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+ ListItem_t xTimerListItem; /*<< Standard linked list item as used by all kernel features for event management. */\r
+ TickType_t xTimerPeriodInTicks;/*<< How quickly and often the timer expires. */\r
+ UBaseType_t uxAutoReload; /*<< Set to pdTRUE if the timer should be automatically restarted once expired. Set to pdFALSE if the timer is, in effect, a one-shot timer. */\r
+ void *pvTimerID; /*<< An ID to identify the timer. This allows the timer to be identified when the same callback is used for multiple timers. */\r
+ TimerCallbackFunction_t pxCallbackFunction; /*<< The function that will be called when the timer expires. */\r
} Timer_t;\r
\r
/* The definition of messages that can be sent and received on the timer queue.\r
\r
typedef struct tmrCallbackParameters\r
{\r
- pdAPPLICATION_CALLBACK_CODE pxCallbackFunction; /* << The callback function to execute. */\r
- void *pvParameter1; /* << The value that will be used as the callback functions first parameter. */\r
- uint32_t ulParameter2; /* << The value that will be used as the callback functions second parameter. */\r
+ PendedFunction_t pxCallbackFunction; /* << The callback function to execute. */\r
+ void *pvParameter1; /* << The value that will be used as the callback functions first parameter. */\r
+ uint32_t ulParameter2; /* << The value that will be used as the callback functions second parameter. */\r
} CallbackParameters_t;\r
\r
/* The structure that contains the two message types, along with an identifier\r
\r
/* Don't include xCallbackParameters if it is not going to be used as\r
it makes the structure (and therefore the timer queue) larger. */\r
- #if ( INCLUDE_xTimerPendCallbackFromISR == 1 )\r
+ #if ( INCLUDE_xTimerPendFunctionCallFromISR == 1 )\r
CallbackParameters_t xCallbackParameters;\r
- #endif /* INCLUDE_xTimerPendCallbackFromISR */\r
+ #endif /* INCLUDE_xTimerPendFunctionCallFromISR */\r
} u;\r
} DaemonTaskMessage_t;\r
\r
}\r
/*-----------------------------------------------------------*/\r
\r
-TimerHandle_t xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, tmrTIMER_CALLBACK pxCallbackFunction ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+TimerHandle_t xTimerCreate( const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
{\r
Timer_t *pxNewTimer;\r
\r
\r
while( xQueueReceive( xTimerQueue, &xMessage, tmrNO_DELAY ) != pdFAIL ) /*lint !e603 xMessage does not have to be initialised as it is passed out, not in, and it is not used unless xQueueReceive() returns pdTRUE. */\r
{\r
- #if ( INCLUDE_xTimerPendCallbackFromISR == 1 )\r
+ #if ( INCLUDE_xTimerPendFunctionCallFromISR == 1 )\r
{\r
if( xMessage.xMessageID == tmrCOMMAND_EXECUTE_CALLBACK )\r
{\r
mtCOVERAGE_TEST_MARKER();\r
}\r
}\r
- #endif /* INCLUDE_xTimerPendCallbackFromISR */\r
+ #endif /* INCLUDE_xTimerPendFunctionCallFromISR */\r
\r
if( xMessage.xMessageID != tmrCOMMAND_EXECUTE_CALLBACK )\r
{\r
}\r
/*-----------------------------------------------------------*/\r
\r
-#if( INCLUDE_xTimerPendCallbackFromISR == 1 )\r
+#if( INCLUDE_xTimerPendFunctionCallFromISR == 1 )\r
\r
- BaseType_t xTimerPendCallbackFromISR( pdAPPLICATION_CALLBACK_CODE pvCallbackFunction, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken )\r
+ BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken )\r
{\r
DaemonTaskMessage_t xMessage;\r
BaseType_t xReturn;\r
/* Complete the message with the function parameters and post it to the\r
daemon task. */\r
xMessage.xMessageID = tmrCOMMAND_EXECUTE_CALLBACK;\r
- xMessage.u.xCallbackParameters.pxCallbackFunction = pvCallbackFunction;\r
+ xMessage.u.xCallbackParameters.pxCallbackFunction = xFunctionToPend;\r
xMessage.u.xCallbackParameters.pvParameter1 = pvParameter1;\r
xMessage.u.xCallbackParameters.ulParameter2 = ulParameter2;\r
\r
return xReturn;\r
}\r
\r
-#endif /* INCLUDE_xTimerPendCallbackFromISR */\r
+#endif /* INCLUDE_xTimerPendFunctionCallFromISR */\r
/*-----------------------------------------------------------*/\r
\r
/* This entire source file will be skipped if the application is not configured\r