/*\r
- FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.\r
- \r
+ FreeRTOS V7.4.0 - 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 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
- >>>NOTE<<< The modification to the GPL is included to allow you to\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. FreeRTOS is distributed in the hope that it will be useful, but\r
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
- more details. You should have received a copy of the GNU General Public\r
- License and the FreeRTOS license exception along with FreeRTOS; if not it\r
- can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
- by writing to Richard Barry, contact details for whom are available on the\r
- FreeRTOS WEB site.\r
+ 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
+ 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 itcan 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
\r
- http://www.FreeRTOS.org - Documentation, latest information, license and\r
- contact details.\r
+ ***************************************************************************\r
+ * *\r
+ * Having a problem? Start by reading the FAQ "My application does *\r
+ * not run, what could be wrong?" *\r
+ * *\r
+ * http://www.FreeRTOS.org/FAQHelp.html *\r
+ * *\r
+ ***************************************************************************\r
+\r
\r
- http://www.SafeRTOS.com - A version that is certified for use in safety\r
- critical systems.\r
+ http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
+ license and Real Time Engineers Ltd. contact details.\r
\r
- http://www.OpenRTOS.com - Commercial support, development, porting,\r
- licensing and training services.\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
+ mission critical applications that require provable dependability.\r
*/\r
\r
#include "FreeRTOS.h"\r
/* include the port-dependent configuration */\r
#include "lwipcfg_msvc.h"\r
\r
-/* Dimensions the cTxBuffer array - which is itself used to hold replies from \r
-command line commands. cTxBuffer is a shared buffer, so protected by the \r
+/* Dimensions the cTxBuffer array - which is itself used to hold replies from\r
+command line commands. cTxBuffer is a shared buffer, so protected by the\r
xTxBufferMutex mutex. */\r
#define lwipappsTX_BUFFER_SIZE 1024\r
\r
available. */\r
#define lwipappsMAX_TIME_TO_WAIT_FOR_TX_BUFFER_MS ( 100 / portTICK_RATE_MS )\r
\r
-/* Definitions of the various SSI callback functions within the pccSSITags \r
+/* Definitions of the various SSI callback functions within the pccSSITags\r
array. If pccSSITags is updated, then these definitions must also be updated. */\r
#define ssiTASK_STATS_INDEX 0\r
#define ssiRUN_TIME_STATS_INDEX 1\r
/*-----------------------------------------------------------*/\r
\r
/* The SSI strings that are embedded in the served html files. If this array\r
-is changed, then the index position defined by the #defines such as \r
+is changed, then the index position defined by the #defines such as\r
ssiTASK_STATS_INDEX above must also be updated. */\r
-static const char *pccSSITags[] = \r
+static const char *pccSSITags[] =\r
{\r
"rtos_stats",\r
"run_stats"\r
/* Semaphore used to guard the Tx buffer. */\r
static xSemaphoreHandle xTxBufferMutex = NULL;\r
\r
-/* The Tx buffer itself. This is used to hold the text generated by the \r
-execution of command line commands, and (hopefully) the execution of \r
+/* The Tx buffer itself. This is used to hold the text generated by the\r
+execution of command line commands, and (hopefully) the execution of\r
server side include callbacks. It is a shared buffer so protected by the\r
-xTxBufferMutex mutex. pcLwipAppsBlockingGetTxBuffer() and \r
-vLwipAppsReleaseTxBuffer() are provided to obtain and release the \r
+xTxBufferMutex mutex. pcLwipAppsBlockingGetTxBuffer() and\r
+vLwipAppsReleaseTxBuffer() are provided to obtain and release the\r
xTxBufferMutex respectively. pcLwipAppsBlockingGetTxBuffer() must be used with\r
caution as it has the potential to block. */\r
static signed char cTxBuffer[ lwipappsTX_BUFFER_SIZE ];\r
/* Install the server side include handler. */\r
http_set_ssi_handler( uslwIPAppsSSIHandler, pccSSITags, sizeof( pccSSITags ) / sizeof( char * ) );\r
\r
- /* Create the mutex used to ensure mutual exclusive access to the Tx \r
+ /* Create the mutex used to ensure mutual exclusive access to the Tx\r
buffer. */\r
xTxBufferMutex = xSemaphoreCreateMutex();\r
configASSERT( xTxBufferMutex );\r
\r
/* The SSI handler function that generates text depending on the index of\r
the SSI tag encountered. */\r
- \r
+\r
switch( iIndex )\r
{\r
case ssiTASK_STATS_INDEX :\r