/*\r
- FreeRTOS V7.0.1 - Copyright (C) 2011 Real Time Engineers Ltd.\r
- \r
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.\r
\r
- FreeRTOS supports many tools and architectures. V7.0.0 is sponsored by:\r
- Atollic AB - Atollic provides professional embedded systems development \r
- tools for C/C++ development, code analysis and test automation. \r
- See http://www.atollic.com\r
- \r
\r
***************************************************************************\r
* *\r
FreeRTOS WEB site.\r
\r
1 tab == 4 spaces!\r
+ \r
+ ***************************************************************************\r
+ * *\r
+ * Having a problem? Start by reading the FAQ "My application does *\r
+ * not run, what could be wrong? *\r
+ * *\r
+ * http://www.FreeRTOS.org/FAQHelp.html *\r
+ * *\r
+ ***************************************************************************\r
\r
- http://www.FreeRTOS.org - Documentation, latest information, license and\r
- contact details.\r
-\r
- http://www.SafeRTOS.com - A version that is certified for use in safety\r
- critical systems.\r
-\r
- http://www.OpenRTOS.com - Commercial support, development, porting,\r
- licensing and training services.\r
+ \r
+ http://www.FreeRTOS.org - Documentation, training, latest information, \r
+ license and contact details.\r
+ \r
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+ including FreeRTOS+Trace - an indispensable productivity tool.\r
+\r
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell \r
+ the code with commercial support, indemnification, and middleware, under \r
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also\r
+ provide a safety engineered and independently SIL3 certified version under \r
+ the SafeRTOS brand: http://www.SafeRTOS.com.\r
*/\r
\r
\r
\r
#include "portable.h"\r
#include "list.h"\r
+#include "task.h"\r
\r
#ifdef __cplusplus\r
extern "C" {\r
\r
/**\r
* xTimerHandle xTimerCreate( const signed char *pcTimerName,\r
- * portTickType xTimerPeriod,\r
+ * portTickType xTimerPeriodInTicks,\r
* unsigned portBASE_TYPE uxAutoReload,\r
* void * pvTimerID,\r
* tmrTIMER_CALLBACK pxCallbackFunction );\r
* purely to assist debugging. The kernel itself only ever references a timer by\r
* its handle, and never by its name.\r
*\r
- * @param xTimerPeriod The timer period. The time is defined in tick periods so\r
+ * @param xTimerPeriodInTicks The timer period. The time is defined in tick periods so\r
* the constant portTICK_RATE_MS can be used to convert a time that has been\r
* specified in milliseconds. For example, if the timer must expire after 100\r
- * ticks, then xTimerPeriod should be set to 100. Alternatively, if the timer\r
+ * ticks, then xTimerPeriodInTicks should be set to 100. Alternatively, if the timer\r
* must expire after 500ms, then xPeriod can be set to ( 500 / portTICK_RATE_MS )\r
* provided configTICK_RATE_HZ is less than or equal to 1000.\r
*\r
* @param uxAutoReload If uxAutoReload is set to pdTRUE then the timer will\r
- * expire repeatedly with a frequency set by the xTimerPeriod parameter. If\r
+ * expire repeatedly with a frequency set by the xTimerPeriodInTicks parameter. If\r
* uxAutoReload is set to pdFALSE then the timer will be a one-shot timer and\r
* enter the dormant state after it expires.\r
*\r
*\r
* Example usage:\r
*\r
- *\r
* #define NUM_TIMERS 5\r
*\r
* // An array to hold handles to the created timers.\r
*/\r
portBASE_TYPE xTimerIsTimerActive( xTimerHandle xTimer ) PRIVILEGED_FUNCTION;\r
\r
+/**\r
+ * xTimerGetTimerDaemonTaskHandle() is only available if \r
+ * INCLUDE_xTimerGetTimerDaemonTaskHandle is set to 1 in FreeRTOSConfig.h.\r
+ *\r
+ * Simply returns the handle of the timer service/daemon task. It it not valid\r
+ * to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started.\r
+ */\r
+xTaskHandle xTimerGetTimerDaemonTaskHandle( void );\r
+\r
/**\r
* portBASE_TYPE xTimerStart( xTimerHandle xTimer, portTickType xBlockTime );\r
*\r
* for use by the kernel only.\r
*/\r
portBASE_TYPE xTimerCreateTimerTask( void ) PRIVILEGED_FUNCTION;\r
-portBASE_TYPE xTimerGenericCommand( xTimerHandle xTimer, portBASE_TYPE xCommandID, portTickType xOptionalValue, portBASE_TYPE *pxHigherPriorityTaskWoken, portTickType xBlockTime ) PRIVILEGED_FUNCTION;\r
+portBASE_TYPE xTimerGenericCommand( xTimerHandle xTimer, portBASE_TYPE xCommandID, portTickType xOptionalValue, signed portBASE_TYPE *pxHigherPriorityTaskWoken, portTickType xBlockTime ) PRIVILEGED_FUNCTION;\r
\r
#ifdef __cplusplus\r
}\r