]> git.sur5r.net Git - freertos/commitdiff
Minor updates to the core header files required by the new timer implementation.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 9 Feb 2011 19:26:33 +0000 (19:26 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 9 Feb 2011 19:26:33 +0000 (19:26 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1285 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/include/FreeRTOS.h
Source/include/list.h
Source/include/queue.h
Source/include/timers.h

index 64b8f63d77b9499472aa249aba09a82c2b3950c2..a6e1035c4582f7b90f52c28560acee0dd07080f0 100644 (file)
@@ -148,6 +148,10 @@ typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * );
        #define configUSE_MUTEXES 0\r
 #endif\r
 \r
+#ifndef configUSE_TIMERS\r
+       #define configUSE_TIMERS 0\r
+#endif\r
+\r
 #ifndef configUSE_COUNTING_SEMAPHORES\r
        #define configUSE_COUNTING_SEMAPHORES 0\r
 #endif\r
@@ -177,6 +181,26 @@ typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * );
        #define INCLUDE_xTaskResumeFromISR 1\r
 #endif\r
 \r
+/* The timers module relies on xTaskGetSchedulerState(). */\r
+#if configUSE_TIMERS == 1\r
+\r
+       #undef INCLUDE_xTaskGetSchedulerState\r
+       #define INCLUDE_xTaskGetSchedulerState 1\r
+\r
+       #ifndef configTIMER_TASK_PRIORITY\r
+               #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_PRIORITY must also be defined.\r
+       #endif /* configTIMER_TASK_PRIORITY */\r
+\r
+       #ifndef configTIMER_QUEUE_LENGTH\r
+               #error If configUSE_TIMERS is set to 1 then configTIMER_QUEUE_LENGTH must also be defined.\r
+       #endif /* configTIMER_QUEUE_LENGTH */\r
+\r
+       #ifndef configTIMER_TASK_STACK_DEPTH\r
+               #error If configUSE_TIMERS is set to 1 then configTIMER_TASK_STACK_DEPTH must also be defined.\r
+       #endif /* configTIMER_TASK_STACK_DEPTH */\r
+\r
+#endif /* configUSE_TIMERS */\r
+\r
 #ifndef INCLUDE_xTaskGetSchedulerState\r
        #define INCLUDE_xTaskGetSchedulerState 0\r
 #endif\r
index 5a8b4399e8c96f9be418e2736f5793fce47be3a2..000dc6bf66f07ac2ba757089d990a9e73cd33891 100644 (file)
  * \ingroup FreeRTOSIntro\r
  */\r
 \r
-/*\r
-       Changes from V4.3.1\r
-\r
-       + Included local const within listGET_OWNER_OF_NEXT_ENTRY() to assist\r
-         compiler with optimisation.  Thanks B.R.\r
-*/\r
 \r
 #ifndef LIST_H\r
 #define LIST_H\r
@@ -151,6 +145,15 @@ typedef struct xLIST
  */\r
 #define listGET_LIST_ITEM_VALUE( pxListItem )                          ( ( pxListItem )->xItemValue )\r
 \r
+/*\r
+ * Access macro the retrieve the value of the list item at the head of a given\r
+ * list.\r
+ *\r
+ * \page listGET_LIST_ITEM_VALUE listGET_LIST_ITEM_VALUE\r
+ * \ingroup LinkedList\r
+ */\r
+#define listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxList )                     ( (&( ( pxList )->xListEnd ))->pxNext->xItemValue )\r
+\r
 /*\r
  * Access macro to determine if a list contains any items.  The macro will\r
  * only have the value true if the list is empty.\r
index b044d04de4afe04ca30ebe17fdbe6fc73e4a67ba..c199573c5e526e7bc9f9db4e9e9ce6010dd86327 100644 (file)
@@ -1250,7 +1250,8 @@ portBASE_TYPE xQueueGiveMutexRecursive( xQueueHandle pxMutex );
        void vQueueAddToRegistry( xQueueHandle xQueue, signed char *pcName );\r
 #endif\r
 \r
-\r
+/* Not a public API function, hence the 'Restricted' in the name. */\r
+void vQueueWaitForMessageRestricted( xQueueHandle pxQueue, portTickType xTicksToWait );\r
 \r
 \r
 #ifdef __cplusplus\r
index 21d9053684b4a260c27d79319f3d5815d0de7208..09db215b21331e951c5f5324abb76ab8a76d673e 100644 (file)
@@ -83,14 +83,15 @@ typedef void (*tmrTIMER_CALLBACK)( xTimerHandle xTimer );
 \r
 portBASE_TYPE xTimerCreateTimerTask( void ) PRIVILEGED_FUNCTION;\r
 xTimerHandle xTimerCreate( const signed char *pcTimerName, portTickType xTimerPeriod, unsigned portBASE_TYPE uxAutoReload, void * pvTimerID, tmrTIMER_CALLBACK pxCallbackFunction ) PRIVILEGED_FUNCTION;\r
-void *pvTimerGetTimerID( xTimerHandle xTimer );\r
-portBASE_TYPE xTimerGenericCommand( xTimerHandle xTimer, portBASE_TYPE xCommandID, portTickType xOptionalValue, portTickType xBlockTime );\r
-portBASE_TYPE xTimerIsTimerActive( xTimerHandle xTimer );\r
+void *pvTimerGetTimerID( xTimerHandle xTimer ) PRIVILEGED_FUNCTION;\r
+portBASE_TYPE xTimerGenericCommand( xTimerHandle xTimer, portBASE_TYPE xCommandID, portTickType xOptionalValue, portTickType xBlockTime ) PRIVILEGED_FUNCTION;\r
+portBASE_TYPE xTimerIsTimerActive( xTimerHandle xTimer ) PRIVILEGED_FUNCTION;\r
 \r
 #define xTimerStart( xTimer, xBlockTime ) xTimerGenericCommand( xTimer, tmrCOMMAND_START, 0, xBlockTime )\r
 #define xTimerStop( xTimer, xBlockTime ) xTimerGenericCommand( xTimer, tmrCOMMAND_STOP, 0, xBlockTime )\r
 #define xTimerChangePeriod( xTimer, xNewPeriod, xBlockTime ) xTimerGenericCommand( xTimer, tmrCOMMAND_CHANGE_PERIOD, xNewPeriod, xBlockTime )\r
 #define xTimerDelete( xTimer, xBlockTime ) xTimerGenericCommand( xTimer, tmrCOMMAND_DELETE, 0, xBlockTime )\r
+#define xTimerReset( xTimer, xBlockTime ) xTimerGenericCommand( xTimer, tmrCOMMAND_START, 0, xBlockTime )\r
 \r
 #ifdef __cplusplus\r
 }\r