]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/RX600_RX62N-RSK_Renesas/RTOSDemo/uIP_Task.c
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Demo / RX600_RX62N-RSK_Renesas / RTOSDemo / uIP_Task.c
index e11449e20702c1db67b3f12c769e0a83617ad410..f32d16b5a8bd48e862e7db8b05d366e077fe7960 100644 (file)
@@ -1,75 +1,70 @@
 /*\r
 /*\r
-    FreeRTOS V7.4.1 - Copyright (C) 2013 Real Time Engineers Ltd.\r
-\r
-    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT\r
-    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\r
-    ***************************************************************************\r
+    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
+    All rights reserved\r
 \r
 \r
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
 \r
     This file is part of the FreeRTOS distribution.\r
 \r
     FreeRTOS is free software; you can redistribute it and/or modify it under\r
     the terms of the GNU General Public License (version 2) as published by the\r
 \r
     This file is part of the FreeRTOS distribution.\r
 \r
     FreeRTOS is free software; you can redistribute it and/or modify it under\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
+    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
 \r
 \r
-    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.\r
+    ***************************************************************************\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
 \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
 \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
-    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\r
-    details. You should have received a copy of the GNU General Public License\r
-    and the FreeRTOS license exception along with FreeRTOS; if not it can be\r
-    viewed here: http://www.freertos.org/a00114.html and also obtained by\r
-    writing to Real Time Engineers Ltd., contact details for whom are available\r
-    on the FreeRTOS WEB site.\r
-\r
-    1 tab == 4 spaces!\r
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
+    link: http://www.freertos.org/a00114.html\r
 \r
     ***************************************************************************\r
      *                                                                       *\r
 \r
     ***************************************************************************\r
      *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?"                                     *\r
+     *    FreeRTOS provides completely free yet professionally developed,    *\r
+     *    robust, strictly quality controlled, supported, and cross          *\r
+     *    platform software that is more than just the market leader, it     *\r
+     *    is the industry's de facto standard.                               *\r
      *                                                                       *\r
      *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
+     *    Help yourself get started quickly while simultaneously helping     *\r
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
+     *    tutorial book, reference manual, or both:                          *\r
+     *    http://www.FreeRTOS.org/Documentation                              *\r
      *                                                                       *\r
     ***************************************************************************\r
 \r
      *                                                                       *\r
     ***************************************************************************\r
 \r
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
+\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
 \r
 \r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions, \r
-    license and Real Time Engineers Ltd. contact details.\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
 \r
     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
 \r
     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, and our new\r
-    fully thread aware and reentrant UDP/IP stack.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High \r
-    Integrity Systems, who sell the code with commercial support, \r
-    indemnification and middleware, under the OpenRTOS brand.\r
-    \r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety \r
-    engineered and independently SIL3 certified version for use in safety and \r
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
+\r
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+    licenses offer ticketed support, indemnification and commercial middleware.\r
+\r
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+    engineered and independently SIL3 certified version for use in safety and\r
     mission critical applications that require provable dependability.\r
     mission critical applications that require provable dependability.\r
+\r
+    1 tab == 4 spaces!\r
 */\r
 \r
 /* Standard includes. */\r
 */\r
 \r
 /* Standard includes. */\r
@@ -95,7 +90,7 @@
 /*-----------------------------------------------------------*/\r
 \r
 /* How long to wait before attempting to connect the MAC again. */\r
 /*-----------------------------------------------------------*/\r
 \r
 /* How long to wait before attempting to connect the MAC again. */\r
-#define uipINIT_WAIT    ( 100 / portTICK_RATE_MS )\r
+#define uipINIT_WAIT    ( 100 / portTICK_PERIOD_MS )\r
 \r
 /* Shortcut to the header within the Rx buffer. */\r
 #define xHeader ((struct uip_eth_hdr *) &uip_buf[ 0 ])\r
 \r
 /* Shortcut to the header within the Rx buffer. */\r
 #define xHeader ((struct uip_eth_hdr *) &uip_buf[ 0 ])\r
@@ -120,7 +115,7 @@ constants are assigned to the timer IDs. */
 static void prvSetMACAddress( void );\r
 \r
 /*\r
 static void prvSetMACAddress( void );\r
 \r
 /*\r
- * Perform any uIP initialisation necessary. \r
+ * Perform any uIP initialisation necessary.\r
  */\r
 static void prvInitialise_uIP( void );\r
 \r
  */\r
 static void prvInitialise_uIP( void );\r
 \r
@@ -128,7 +123,7 @@ static void prvInitialise_uIP( void );
  * The callback function that is assigned to both the periodic timer and the\r
  * ARP timer.\r
  */\r
  * The callback function that is assigned to both the periodic timer and the\r
  * ARP timer.\r
  */\r
-static void prvUIPTimerCallback( xTimerHandle xTimer );\r
+static void prvUIPTimerCallback( TimerHandle_t xTimer );\r
 \r
 /*\r
  * Port functions required by the uIP stack.\r
 \r
 /*\r
  * Port functions required by the uIP stack.\r
@@ -138,7 +133,7 @@ clock_time_t clock_time( void );
 /*-----------------------------------------------------------*/\r
 \r
 /* The queue used to send TCP/IP events to the uIP stack. */\r
 /*-----------------------------------------------------------*/\r
 \r
 /* The queue used to send TCP/IP events to the uIP stack. */\r
-xQueueHandle xEMACEventQueue = NULL;\r
+QueueHandle_t xEMACEventQueue = NULL;\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
 \r
 /*-----------------------------------------------------------*/\r
 \r
@@ -155,7 +150,7 @@ unsigned long ulNewEvent = 0UL;
 unsigned long ulUIP_Events = 0UL;\r
 \r
        ( void ) pvParameters;\r
 unsigned long ulUIP_Events = 0UL;\r
 \r
        ( void ) pvParameters;\r
-       \r
+\r
        /* Initialise the uIP stack. */\r
        prvInitialise_uIP();\r
 \r
        /* Initialise the uIP stack. */\r
        prvInitialise_uIP();\r
 \r
@@ -170,10 +165,10 @@ unsigned long ulUIP_Events = 0UL;
        for( ;; )\r
        {\r
                if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )\r
        for( ;; )\r
        {\r
                if( ( ulUIP_Events & uipETHERNET_RX_EVENT ) != 0UL )\r
-               {               \r
+               {\r
                        /* Is there received data ready to be processed? */\r
                        uip_len = ( unsigned short ) ulEMACRead();\r
                        /* Is there received data ready to be processed? */\r
                        uip_len = ( unsigned short ) ulEMACRead();\r
-                       \r
+\r
                        if( ( uip_len > 0 ) && ( uip_buf != NULL ) )\r
                        {\r
                                /* Standard uIP loop taken from the uIP manual. */\r
                        if( ( uip_len > 0 ) && ( uip_buf != NULL ) )\r
                        {\r
                                /* Standard uIP loop taken from the uIP manual. */\r
@@ -209,11 +204,11 @@ unsigned long ulUIP_Events = 0UL;
                                ulUIP_Events &= ~uipETHERNET_RX_EVENT;\r
                        }\r
                }\r
                                ulUIP_Events &= ~uipETHERNET_RX_EVENT;\r
                        }\r
                }\r
-               \r
+\r
                if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )\r
                {\r
                        ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;\r
                if( ( ulUIP_Events & uipPERIODIC_TIMER_EVENT ) != 0UL )\r
                {\r
                        ulUIP_Events &= ~uipPERIODIC_TIMER_EVENT;\r
-                                       \r
+\r
                        for( i = 0; i < UIP_CONNS; i++ )\r
                        {\r
                                uip_periodic( i );\r
                        for( i = 0; i < UIP_CONNS; i++ )\r
                        {\r
                                uip_periodic( i );\r
@@ -228,14 +223,14 @@ unsigned long ulUIP_Events = 0UL;
                                }\r
                        }\r
                }\r
                                }\r
                        }\r
                }\r
-               \r
+\r
                /* Call the ARP timer function every 10 seconds. */\r
                if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )\r
                {\r
                        ulUIP_Events &= ~uipARP_TIMER_EVENT;\r
                        uip_arp_timer();\r
                }\r
                /* Call the ARP timer function every 10 seconds. */\r
                if( ( ulUIP_Events & uipARP_TIMER_EVENT ) != 0 )\r
                {\r
                        ulUIP_Events &= ~uipARP_TIMER_EVENT;\r
                        uip_arp_timer();\r
                }\r
-                       \r
+\r
                if( ulUIP_Events == pdFALSE )\r
                {\r
                        xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );\r
                if( ulUIP_Events == pdFALSE )\r
                {\r
                        xQueueReceive( xEMACEventQueue, &ulNewEvent, portMAX_DELAY );\r
@@ -247,7 +242,7 @@ unsigned long ulUIP_Events = 0UL;
 \r
 static void prvInitialise_uIP( void )\r
 {\r
 \r
 static void prvInitialise_uIP( void )\r
 {\r
-xTimerHandle xARPTimer, xPeriodicTimer;\r
+TimerHandle_t xARPTimer, xPeriodicTimer;\r
 uip_ipaddr_t xIPAddr;\r
 const unsigned long ul_uIPEventQueueLength = 10UL;\r
 \r
 uip_ipaddr_t xIPAddr;\r
 const unsigned long ul_uIPEventQueueLength = 10UL;\r
 \r
@@ -264,15 +259,15 @@ const unsigned long ul_uIPEventQueueLength = 10UL;
        xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );\r
 \r
        /* Create and start the uIP timers. */\r
        xEMACEventQueue = xQueueCreate( ul_uIPEventQueueLength, sizeof( unsigned long ) );\r
 \r
        /* Create and start the uIP timers. */\r
-       xARPTimer = xTimerCreate(       ( const signed char * const ) "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */\r
-                                                               ( 10000UL / portTICK_RATE_MS ), /* Timer period. */\r
+       xARPTimer = xTimerCreate(       "ARPTimer", /* Just a name that is helpful for debugging, not used by the kernel. */\r
+                                                               ( 10000UL / portTICK_PERIOD_MS ), /* Timer period. */\r
                                                                pdTRUE, /* Autor-reload. */\r
                                                                ( void * ) uipARP_TIMER,\r
                                                                prvUIPTimerCallback\r
                                                        );\r
 \r
                                                                pdTRUE, /* Autor-reload. */\r
                                                                ( void * ) uipARP_TIMER,\r
                                                                prvUIPTimerCallback\r
                                                        );\r
 \r
-       xPeriodicTimer = xTimerCreate(  ( const signed char * const ) "PeriodicTimer",\r
-                                                                       ( 50 / portTICK_RATE_MS ),\r
+       xPeriodicTimer = xTimerCreate(  "PeriodicTimer",\r
+                                                                       ( 50 / portTICK_PERIOD_MS ),\r
                                                                        pdTRUE, /* Autor-reload. */\r
                                                                        ( void * ) uipPERIODIC_TIMER,\r
                                                                        prvUIPTimerCallback\r
                                                                        pdTRUE, /* Autor-reload. */\r
                                                                        ( void * ) uipPERIODIC_TIMER,\r
                                                                        prvUIPTimerCallback\r
@@ -286,7 +281,7 @@ const unsigned long ul_uIPEventQueueLength = 10UL;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvUIPTimerCallback( xTimerHandle xTimer )\r
+static void prvUIPTimerCallback( TimerHandle_t xTimer )\r
 {\r
 static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;\r
 static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;\r
 {\r
 static const unsigned long ulARPTimerExpired = uipARP_TIMER_EVENT;\r
 static const unsigned long ulPeriodicTimerExpired = uipPERIODIC_TIMER_EVENT;\r
@@ -328,7 +323,7 @@ char *c;
 \r
        /* Only interested in processing form input if this is the IO page. */\r
        c = strstr( pcInputString, "io.shtml" );\r
 \r
        /* Only interested in processing form input if this is the IO page. */\r
        c = strstr( pcInputString, "io.shtml" );\r
-       \r
+\r
        if( c )\r
        {\r
                /* Is there a command in the string? */\r
        if( c )\r
        {\r
                /* Is there a command in the string? */\r