]> git.sur5r.net Git - freertos/blobdiff - Source/include/timers.h
Add some tick interrupt overflow protection to the timers module. This is not tested...
[freertos] / Source / include / timers.h
index 21d9053684b4a260c27d79319f3d5815d0de7208..e735140a82b1744240ab318ff7f0257009271e9c 100644 (file)
@@ -67,10 +67,11 @@ extern "C" {
 #endif\r
 \r
 /* IDs for commands that can be sent/received on the timer queue. */\r
-#define tmrCOMMAND_START                       0\r
-#define tmrCOMMAND_STOP                                1\r
-#define tmrCOMMAND_CHANGE_PERIOD       2\r
-#define tmrCOMMAND_DELETE                      3\r
+#define trmCOMMAND_PROCESS_TIMER_OVERFLOW      0 /* For use by the kernel only! */\r
+#define tmrCOMMAND_START                                       1\r
+#define tmrCOMMAND_STOP                                                2\r
+#define tmrCOMMAND_CHANGE_PERIOD                       3\r
+#define tmrCOMMAND_DELETE                                      4\r
 \r
 /*-----------------------------------------------------------\r
  * MACROS AND DEFINITIONS\r
@@ -83,14 +84,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