]> git.sur5r.net Git - freertos/blobdiff - Demo/CORTEX_A2F200_IAR_and_Keil/uIP_Task.c
Update the IO page served by the A2F web server to use the correct LED for the A2F...
[freertos] / Demo / CORTEX_A2F200_IAR_and_Keil / uIP_Task.c
index 5f35cf5324544c0efb7aa088182473ea44581fed..3a6ea91e6867efdfd921cc7d1fec4f8ca9fefb06 100644 (file)
@@ -269,49 +269,6 @@ struct uip_eth_addr xAddr;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vApplicationProcessFormInput( char *pcInputString )\r
-{\r
-char *c;\r
-\r
-       /* Only interested in processing form input if this is the IO page. */\r
-       c = strstr( pcInputString, "io.shtml" );\r
-       \r
-       if( c )\r
-       {\r
-               /* Is there a command in the string? */\r
-               c = strstr( pcInputString, "?" );\r
-           if( c )\r
-           {\r
-                       /* Turn the LED's on or off in accordance with the check box status. */\r
-                       if( strstr( c, "LED0=1" ) != NULL )\r
-                       {\r
-                               /* Turn the LEDs on. */\r
-                               vParTestSetLED( 7, 1 );\r
-                               vParTestSetLED( 8, 1 );\r
-                               vParTestSetLED( 9, 1 );\r
-                               vParTestSetLED( 10, 1 );\r
-                       }\r
-                       else\r
-                       {\r
-                               /* Turn the LEDs off. */\r
-                               vParTestSetLED( 7, 0 );\r
-                               vParTestSetLED( 8, 0 );\r
-                               vParTestSetLED( 9, 0 );\r
-                               vParTestSetLED( 10, 0 );\r
-                       }\r
-           }\r
-               else\r
-               {\r
-                       /* Commands to turn LEDs off are not always explicit. */\r
-                       vParTestSetLED( 7, 0 );\r
-                       vParTestSetLED( 8, 0 );\r
-                       vParTestSetLED( 9, 0 );\r
-                       vParTestSetLED( 10, 0 );\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
 static void prvInitialise_uIP( void )\r
 {\r
 uip_ipaddr_t xIPAddr;\r
@@ -357,7 +314,7 @@ xTimerHandle xARPTimer, xPeriodicTimer;
 static void prvEMACEventListener( unsigned long ulISREvents )\r
 {\r
 long lHigherPriorityTaskWoken = pdFALSE;\r
-unsigned long ulUIPEvents = 0UL;\r
+const unsigned long ulRxEvent = uipETHERNET_RX_EVENT;\r
 \r
        /* Sanity check that the event queue was indeed created. */\r
        configASSERT( xEMACEventQueue );\r
@@ -365,20 +322,13 @@ unsigned long ulUIPEvents = 0UL;
        if( ( ulISREvents & MSS_MAC_EVENT_PACKET_SEND ) != 0UL )\r
        {\r
                /* An Ethernet Tx event has occurred. */\r
-               MSS_MAC_CheckTxBufferStatus();\r
+               MSS_MAC_FreeTxBuffers();\r
        }\r
 \r
        if( ( ulISREvents & MSS_MAC_EVENT_PACKET_RECEIVED ) != 0UL )\r
        {\r
                /* An Ethernet Rx event has occurred. */\r
-               ulUIPEvents |= uipETHERNET_RX_EVENT;\r
-       }\r
-\r
-       if( ulUIPEvents != 0UL )\r
-       {\r
-               /* Send any events that have occurred to the uIP stack (the uIP task in\r
-               this case). */\r
-               xQueueSendFromISR( xEMACEventQueue, &ulUIPEvents, &lHigherPriorityTaskWoken );\r
+               xQueueSendFromISR( xEMACEventQueue, &ulRxEvent, &lHigherPriorityTaskWoken );\r
        }\r
 \r
        portEND_SWITCHING_ISR( lHigherPriorityTaskWoken );\r
@@ -447,3 +397,40 @@ static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
+\r
+void vApplicationProcessFormInput( char *pcInputString )\r
+{\r
+char *c;\r
+\r
+       /* Only interested in processing form input if this is the IO page. */\r
+       c = strstr( pcInputString, "io.shtml" );\r
+       \r
+       if( c )\r
+       {\r
+               /* Is there a command in the string? */\r
+               c = strstr( pcInputString, "?" );\r
+           if( c )\r
+           {\r
+                       /* Turn the LED's on or off in accordance with the check box status. */\r
+                       if( strstr( c, "LED0=1" ) != NULL )\r
+                       {\r
+                               /* Turn the LEDs on. */\r
+                               vParTestSetLED( 3, 1 );\r
+                               vParTestSetLED( 4, 1 );\r
+                       }\r
+                       else\r
+                       {\r
+                               /* Turn the LEDs off. */\r
+                               vParTestSetLED( 3, 0 );\r
+                               vParTestSetLED( 4, 0 );\r
+                       }\r
+           }\r
+               else\r
+               {\r
+                       /* Commands to turn LEDs off are not always explicit. */\r
+                       vParTestSetLED( 3, 0 );\r
+                       vParTestSetLED( 4, 0 );\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r