]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/WIN32-MingW/main_full.c
Fix buffer clean up in \FreeRTOS_Plus_TCP_Minimal_Windows_Simulator\demo_logging.c.
[freertos] / FreeRTOS / Demo / WIN32-MingW / main_full.c
index 4f3c1676f7f66a76f14fa66dd4e22a0e791186db..b67a6fd0cc3398d58acdf6fcdbf8ddb211358747 100644 (file)
 #include "AbortDelay.h"\r
 #include "MessageBufferDemo.h"\r
 #include "StreamBufferDemo.h"\r
+#include "StreamBufferInterrupt.h"\r
+#include "MessageBufferAMP.h"\r
 \r
 /* Priorities at which the tasks are created. */\r
 #define mainCHECK_TASK_PRIORITY                        ( configMAX_PRIORITIES - 2 )\r
@@ -204,6 +206,8 @@ int main_full( void )
 \r
        vStartMessageBufferTasks();\r
        vStartStreamBufferTasks();\r
+       vStartStreamBufferInterruptDemo();\r
+       vStartMessageBufferAMPTasks();\r
 \r
        #if( configUSE_PREEMPTION != 0  )\r
        {\r
@@ -342,10 +346,28 @@ const TickType_t xCycleFrequency = pdMS_TO_TICKS( 2500UL );
                {\r
                        pcStatusMessage = "Error: Abort delay";\r
                }\r
+               else if( xIsInterruptStreamBufferDemoStillRunning() != pdPASS )\r
+               {\r
+                       pcStatusMessage = "Error: Stream buffer interrupt";\r
+               }\r
+               else if( xAreMessageBufferAMPTasksStillRunning() != pdPASS )\r
+               {\r
+                       pcStatusMessage = "Error: Message buffer AMP";\r
+               }\r
+\r
+               #if( configSUPPORT_STATIC_ALLOCATION == 1 )\r
+                       else if( xAreStaticAllocationTasksStillRunning() != pdPASS )\r
+                       {\r
+                               pcStatusMessage = "Error: Static allocation";\r
+                       }\r
+               #endif /* configSUPPORT_STATIC_ALLOCATION */\r
 \r
                /* This is the only task that uses stdout so its ok to call printf()\r
                directly. */\r
-               printf( ( char * ) "%s - %u\r\n", pcStatusMessage, ( unsigned int ) xTaskGetTickCount() );\r
+               printf( "%s - tick count %u - free heap %u - min free heap %u\r\n", pcStatusMessage,\r
+                                                                                                                                                          xTaskGetTickCount(),\r
+                                                                                                                                                          xPortGetFreeHeapSize(),\r
+                                                                                                                                                          xPortGetMinimumEverFreeHeapSize() );\r
                fflush( stdout );\r
        }\r
 }\r
@@ -454,6 +476,10 @@ TaskHandle_t xTimerTask;
        level functionality. */\r
        vPeriodicStreamBufferProcessing();\r
 \r
+       /* Writes a string to a string buffer four bytes at a time to demonstrate\r
+       a stream being sent from an interrupt to a task. */\r
+       vBasicStreamBufferSendFromISR();\r
+\r
        /* For code coverage purposes. */\r
        xTimerTask = xTimerGetTimerDaemonTaskHandle();\r
        configASSERT( uxTaskPriorityGetFromISR( xTimerTask ) == configTIMER_TASK_PRIORITY );\r