]> git.sur5r.net Git - freertos/blobdiff - Demo/PC/main.c
Added xQueueSendToBack, xQueueSendToFront, xQueuePeek and xSemaphoreCreateMutex ...
[freertos] / Demo / PC / main.c
index f70aeeede00f04ebcd52d945c29737dd679e5ae9..6811bbb103cd2abf56da9a57e35aedc7783b7cc1 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V4.0.3 - Copyright (C) 2003-2006 Richard Barry.\r
+       FreeRTOS.org V4.4.0 - Copyright (C) 2003-2007 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \r
@@ -27,6 +27,9 @@
        See http://www.FreeRTOS.org for documentation, latest information, license \r
        and contact details.  Please ensure to read the configuration and relevant \r
        port sections of the online documentation.\r
+\r
+       Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along\r
+       with commercial development and support options.\r
        ***************************************************************************\r
 */\r
 \r
@@ -115,6 +118,8 @@ Changes from V3.2.4
 #include "dynamic.h"\r
 #include "mevents.h"\r
 #include "crhook.h"\r
+#include "blocktim.h"\r
+#include "GenQTest.h"\r
 \r
 /* Priority definitions for the tasks in the demo application. */\r
 #define mainLED_TASK_PRIORITY          ( tskIDLE_PRIORITY + 1 )\r
@@ -124,6 +129,7 @@ Changes from V3.2.4
 #define mainQUEUE_BLOCK_PRIORITY       ( tskIDLE_PRIORITY + 3 )\r
 #define mainCOM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 2 )\r
 #define mainSEMAPHORE_TASK_PRIORITY    ( tskIDLE_PRIORITY + 1 )\r
+#define mainGENERIC_QUEUE_PRIORITY     ( tskIDLE_PRIORITY )\r
 \r
 #define mainPRINT_STACK_SIZE           ( ( unsigned portSHORT ) 512 )\r
 #define mainDEBUG_LOG_BUFFER_SIZE      ( ( unsigned portSHORT ) 20480 )\r
@@ -149,7 +155,7 @@ being used. */
 #endif\r
 \r
 /* Constant definition used to turn on/off the pre-emptive scheduler. */\r
-static const portSHORT sUsingPreemption = pdTRUE;\r
+static const portSHORT sUsingPreemption = configUSE_PREEMPTION;\r
 \r
 /* Start the math tasks appropriate to the build.  The Borland port does\r
 not yet support floating point so uses the integer equivalent. */\r
@@ -171,7 +177,8 @@ portSHORT main( void )
        vStartComTestTasks( mainCOM_TEST_PRIORITY, serCOM1, ser115200 );\r
        vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
        vStartBlockingQueueTasks( mainQUEUE_BLOCK_PRIORITY );\r
-       \r
+       vCreateBlockTimeTasks();\r
+       vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );\r
        vStartSemaphoreTasks( mainSEMAPHORE_TASK_PRIORITY );\r
        vStartDynamicPriorityTasks();\r
        vStartMultiEventTasks();\r
@@ -380,6 +387,18 @@ static portSHORT sErrorHasOccurred = pdFALSE;
                sErrorHasOccurred = pdTRUE;\r
        }\r
 \r
+       if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
+       {\r
+               vDisplayMessage( "Error in block time test tasks!\r\n" );\r
+               sErrorHasOccurred = pdTRUE;\r
+       }\r
+\r
+       if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
+       {\r
+               vDisplayMessage( "Error in generic queue test task!\r\n" );\r
+               sErrorHasOccurred = pdTRUE;             \r
+       }\r
+\r
        if( sErrorHasOccurred == pdFALSE )\r
        {\r
                vDisplayMessage( "OK " );\r