/*\r
- FreeRTOS V7.5.3 - Copyright (C) 2013 Real Time Engineers Ltd. \r
+ FreeRTOS V8.1.2 - Copyright (C) 2014 Real Time Engineers Ltd.\r
All rights reserved\r
\r
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
the terms of the GNU General Public License (version 2) as published by the\r
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
\r
- >>! NOTE: The modification to the GPL is included to allow you to distribute\r
- >>! a combined work that includes FreeRTOS without being obliged to provide\r
- >>! the source code for proprietary components outside of the FreeRTOS\r
- >>! kernel.\r
+ >>! NOTE: The modification to the GPL is included to allow you to !<<\r
+ >>! distribute a combined work that includes FreeRTOS without being !<<\r
+ >>! obliged to provide the source code for proprietary components !<<\r
+ >>! outside of the FreeRTOS kernel. !<<\r
\r
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
* required to configure the hardware, are defined in main.c.\r
******************************************************************************\r
*\r
- * main_blinky() creates one queue, two tasks, and one software timer. It then \r
+ * main_blinky() creates one queue, two tasks, and one software timer. It then\r
* starts the scheduler.\r
*\r
* The Blinky Software Timer:\r
#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )\r
\r
/* The rate at which data is sent to the queue. The 200ms value is converted\r
-to ticks using the portTICK_RATE_MS constant. */\r
-#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )\r
+to ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_PERIOD_MS )\r
\r
/* The number of items the queue can hold. This is 1 as the receive task\r
will remove items as they are added, meaning the send task should always find\r
#define mainQUEUE_RECEIVE_PARAMETER ( 0x22UL )\r
\r
/* The period of the blinky software timer. The period is specified in ms and\r
-converted to ticks using the portTICK_RATE_MS constant. */\r
-#define mainBLINKY_TIMER_PERIOD ( 50 / portTICK_RATE_MS )\r
+converted to ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainBLINKY_TIMER_PERIOD ( 50 / portTICK_PERIOD_MS )\r
\r
/* The LED used by the communicating tasks and the blinky timer respectively. */\r
#define mainTASKS_LED ( 0 )\r
* The callback function for the blinky software timer, as described at the top\r
* of this file.\r
*/\r
-static void prvBlinkyTimerCallback( xTimerHandle xTimer );\r
- \r
+static void prvBlinkyTimerCallback( TimerHandle_t xTimer );\r
+\r
/*\r
* Called by main() to create the simply blinky style application if\r
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.\r
/*-----------------------------------------------------------*/\r
\r
/* The queue used by both tasks. */\r
-static xQueueHandle xQueue = NULL;\r
+static QueueHandle_t xQueue = NULL;\r
\r
/*-----------------------------------------------------------*/\r
\r
void main_blinky( void )\r
{\r
-xTimerHandle xTimer;\r
+TimerHandle_t xTimer;\r
\r
/* Create the queue. */\r
xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) );\r
/* Create the two tasks as described in the comments at the top of this\r
file. */\r
xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */\r
- ( signed char * ) "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */\r
+ "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */\r
configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */\r
( void * ) mainQUEUE_RECEIVE_PARAMETER, /* The parameter passed to the task - just to check the functionality. */\r
mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */\r
NULL ); /* The task handle is not required, so NULL is passed. */\r
\r
- xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, ( void * ) mainQUEUE_SEND_PARAMETER, mainQUEUE_SEND_TASK_PRIORITY, NULL );\r
+ xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, ( void * ) mainQUEUE_SEND_PARAMETER, mainQUEUE_SEND_TASK_PRIORITY, NULL );\r
\r
/* Create the blinky software timer as described at the top of this\r
file. */\r
- xTimer = xTimerCreate( ( const signed char * ) "Blinky", /* A text name, purely to help debugging. */\r
- ( mainBLINKY_TIMER_PERIOD ), /* The timer period. */\r
- pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
- ( void * ) 0, /* The ID is not used, so can be set to anything. */\r
- prvBlinkyTimerCallback /* The callback function that inspects the status of all the other tasks. */\r
- ); \r
- \r
+ xTimer = xTimerCreate( "Blinky", /* A text name, purely to help debugging. */\r
+ ( mainBLINKY_TIMER_PERIOD ),/* The timer period. */\r
+ pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
+ ( void * ) 0, /* The ID is not used, so can be set to anything. */\r
+ prvBlinkyTimerCallback /* The callback function that inspects the status of all the other tasks. */\r
+ );\r
+\r
if( xTimer != NULL )\r
{\r
xTimerStart( xTimer, mainDONT_BLOCK );\r
}\r
- \r
+\r
/* Start the tasks and timer running. */\r
vTaskStartScheduler();\r
}\r
\r
static void prvQueueSendTask( void *pvParameters )\r
{\r
-portTickType xNextWakeTime;\r
+TickType_t xNextWakeTime;\r
const unsigned long ulValueToSend = 100UL;\r
\r
/* Check the task parameter is as expected. */\r
}\r
/*-----------------------------------------------------------*/\r
\r
-static void prvBlinkyTimerCallback( xTimerHandle xTimer )\r
+static void prvBlinkyTimerCallback( TimerHandle_t xTimer )\r
{\r
/* This function is called when the blinky software time expires. All the\r
function does is toggle the LED. LED mainTIMER_LED should therefore toggle\r