*****************************************************************************/\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
\r
//*****************************************************************************\r
//\r
-//! A simple sprintf function supporting \%c, \%d, \%s, \%u, \%x, and \%X.\r
+//! A simple vsnprintf function supporting \%c, \%d, \%s, \%u, \%x, and \%X.\r
//!\r
-//! \param pcBuf is the buffer where the converted string is stored.\r
+//! \param pcBuf points to the buffer where the converted string is stored.\r
+//! \param ulSize is the size of the buffer.\r
//! \param pcString is the format string.\r
-//! \param ... are the optional arguments, which depend on the contents of the\r
-//! format string.\r
+//! \param vaArgP is the list of optional arguments, which depend on the\r
+//! contents of the format string.\r
//!\r
-//! This function is very similar to the C library <tt>sprintf()</tt> function.\r
-//! Only the following formatting characters are supported:\r
+//! This function is very similar to the C library <tt>vsnprintf()</tt>\r
+//! function. Only the following formatting characters are supported:\r
//!\r
//! - \%c to print a character\r
//! - \%d to print a decimal value\r
//! the format string. For example, if an integer was passed where a string\r
//! was expected, an error of some kind will most likely occur.\r
//!\r
-//! The caller must ensure that the buffer pcBuf is large enough to hold the\r
-//! entire converted string, including the null termination character.\r
+//! The \b ulSize parameter limits the number of characters that will be\r
+//! stored in the buffer pointed to by \b pcBuf to prevent the possibility\r
+//! of a buffer overflow. The buffer size should be large enough to hold\r
+//! the expected converted output string, including the null termination\r
+//! character.\r
+//!\r
+//! The function will return the number of characters that would be\r
+//! converted as if there were no limit on the buffer size. Therefore\r
+//! it is possible for the function to return a count that is greater than\r
+//! the specified buffer size. If this happens, it means that the output\r
+//! was truncated.\r
//!\r
-//! \return None.\r
+//! \return the number of characters that were to be stored, not including\r
+//! the NULL termination character, regardless of space in the buffer.\r
//\r
//*****************************************************************************\r
int\r
uvsnprintf(char *pcBuf, unsigned long ulSize, const char *pcString,\r
va_list vaArgP)\r
{\r
- unsigned long ulIdx, ulValue, ulPos, ulCount, ulBase;\r
- char *pcStr, cFill, *pcOriginalBuf = pcBuf;\r
+ unsigned long ulIdx, ulValue, ulCount, ulBase;\r
+ char *pcStr, cFill;\r
+ int iConvertCount = 0;\r
\r
//\r
// Check the arguments.\r
}\r
\r
//\r
- // Loop while there are more characters in the string, and\r
- // there is more room in the destination buffer.\r
+ // Initialize the count of characters converted.\r
//\r
- while(*pcString && ulSize)\r
+ iConvertCount = 0;\r
+\r
+ //\r
+ // Loop while there are more characters in the format string.\r
+ //\r
+ while(*pcString)\r
{\r
//\r
// Find the first non-% character, or the end of the string.\r
}\r
\r
//\r
- // Limit the number of characters that can be copied to the\r
- // space remaining in the buffer.\r
+ // Write this portion of the string to the output buffer. If\r
+ // there are more characters to write than there is space in the\r
+ // buffer, then only write as much as will fit in the buffer.\r
//\r
if(ulIdx > ulSize)\r
{\r
- ulIdx = ulSize;\r
+ strncpy(pcBuf, pcString, ulSize);\r
+ pcBuf += ulSize;\r
+ ulSize = 0;\r
+ }\r
+ else\r
+ {\r
+ strncpy(pcBuf, pcString, ulIdx);\r
+ pcBuf += ulIdx;\r
+ ulSize -= ulIdx;\r
}\r
\r
//\r
- // Write this portion of the string and update the buffer pointer.\r
+ // Update the conversion count. This will be the number of\r
+ // characters that should have been written, even if there was\r
+ // not room in the buffer.\r
//\r
- strncpy(pcBuf, pcString, ulIdx);\r
- pcBuf += ulIdx;\r
+ iConvertCount += ulIdx;\r
\r
//\r
- // Update the size limit, and check to see if the buffer\r
- // limit is reached.\r
- //\r
- ulSize -= ulIdx;\r
- if(ulSize == 0)\r
- {\r
- break;\r
- }\r
-\r
- //\r
- // Skip the portion of the string that was written.\r
+ // Skip the portion of the format string that was written.\r
//\r
pcString += ulIdx;\r
\r
ulValue = va_arg(vaArgP, unsigned long);\r
\r
//\r
- // Print out the character.\r
+ // Copy the character to the output buffer, if\r
+ // there is room. Update the buffer size remaining.\r
//\r
- *pcBuf++ = (char)ulValue;\r
+ if(ulSize != 0)\r
+ {\r
+ *pcBuf++ = (char)ulValue;\r
+ ulSize--;\r
+ }\r
\r
//\r
- // Decrement the buffer limit.\r
+ // Update the conversion count.\r
//\r
- ulSize--;\r
+ iConvertCount++;\r
\r
//\r
// This command has been handled.\r
//\r
ulValue = va_arg(vaArgP, unsigned long);\r
\r
- //\r
- // Reset the buffer position.\r
- //\r
- ulPos = 0;\r
-\r
//\r
// If the value is negative, make it positive and stick a\r
// minus sign in the beginning of the buffer.\r
//\r
if((long)ulValue < 0)\r
{\r
- *pcBuf++ = '-';\r
- ulPos++;\r
ulValue = -(long)ulValue;\r
\r
- //\r
- // Decrement the buffer size limit and check\r
- // if the limit is reached.\r
- //\r
- ulSize--;\r
- if(ulSize == 0)\r
+ if(ulSize != 0)\r
{\r
- break;\r
+ *pcBuf++ = '-';\r
+ ulSize--;\r
}\r
+\r
+ //\r
+ // Update the conversion count.\r
+ //\r
+ iConvertCount++;\r
}\r
\r
//\r
}\r
\r
//\r
- // Limit the number of characters that can be copied to the\r
- // space remaining in the buffer.\r
+ // Copy the string to the output buffer. Only copy\r
+ // as much as will fit in the buffer. Update the\r
+ // output buffer pointer and the space remaining.\r
//\r
if(ulIdx > ulSize)\r
{\r
- ulIdx = ulSize;\r
+ strncpy(pcBuf, pcStr, ulSize);\r
+ pcBuf += ulSize;\r
+ ulSize = 0;\r
+ }\r
+ else\r
+ {\r
+ strncpy(pcBuf, pcStr, ulIdx);\r
+ pcBuf += ulIdx;\r
+ ulSize -= ulIdx;\r
}\r
\r
//\r
- // Write the string and update the buffer pointer.\r
- //\r
- strncpy(pcBuf, pcStr, ulIdx);\r
- pcBuf += ulIdx;\r
-\r
- //\r
- // Decrement the buffer size limit.\r
+ // Update the conversion count. This will be the number of\r
+ // characters that should have been written, even if there\r
+ // was not room in the buffer.\r
//\r
- ulSize -= ulIdx;\r
+ iConvertCount += ulIdx;\r
\r
//\r
//\r
//\r
ulValue = va_arg(vaArgP, unsigned long);\r
\r
- //\r
- // Reset the buffer position.\r
- //\r
- ulPos = 0;\r
-\r
//\r
// Set the base to 10.\r
//\r
//\r
ulValue = va_arg(vaArgP, unsigned long);\r
\r
- //\r
- // Reset the buffer position.\r
- //\r
- ulPos = 0;\r
-\r
//\r
// Set the base to 16.\r
//\r
{\r
for(ulCount--; ulCount; ulCount--)\r
{\r
- *pcBuf++ = cFill;\r
- ulPos++;\r
-\r
//\r
- // Decrement buffer size and check to see if\r
- // buffer limit is reached.\r
+ // Copy the character to the output buffer if\r
+ // there is room.\r
//\r
- ulSize--;\r
- if(ulSize == 0)\r
+ if(ulSize != 0)\r
{\r
- break;\r
+ *pcBuf++ = cFill;\r
+ ulSize--;\r
}\r
+\r
+ //\r
+ // Update the conversion count.\r
+ //\r
+ iConvertCount++;\r
}\r
}\r
\r
//\r
for(; ulIdx; ulIdx /= ulBase)\r
{\r
- *pcBuf++ = g_pcHex[(ulValue / ulIdx) % ulBase];\r
- ulPos++;\r
-\r
//\r
- // Decrement buffer size and check to see if\r
- // buffer limit is reached.\r
+ // Copy the character to the output buffer if\r
+ // there is room.\r
//\r
- ulSize--;\r
- if(ulSize == 0)\r
+ if(ulSize != 0)\r
{\r
- break;\r
+ *pcBuf++ = g_pcHex[(ulValue / ulIdx) % ulBase];\r
+ ulSize--;\r
}\r
+\r
+ //\r
+ // Update the conversion count.\r
+ //\r
+ iConvertCount++;\r
}\r
\r
//\r
//\r
// Simply write a single %.\r
//\r
- *pcBuf++ = pcString[-1];\r
- ulSize--;\r
+ if(ulSize != 0)\r
+ {\r
+ *pcBuf++ = pcString[-1];\r
+ ulSize--;\r
+ }\r
+\r
+ //\r
+ // Update the conversion count.\r
+ //\r
+ iConvertCount++;\r
\r
//\r
// This command has been handled.\r
//\r
// Indicate an error.\r
//\r
- if(ulSize > 5)\r
+ if(ulSize >= 5)\r
{\r
strncpy(pcBuf, "ERROR", 5);\r
pcBuf += 5;\r
ulSize -= 5;\r
}\r
+ else\r
+ {\r
+ strncpy(pcBuf, "ERROR", ulSize);\r
+ pcBuf += ulSize;\r
+ ulSize = 0;\r
+ }\r
+\r
+ //\r
+ // Update the conversion count.\r
+ //\r
+ iConvertCount += 5;\r
\r
//\r
// This command has been handled.\r
// Null terminate the string in the buffer.\r
//\r
*pcBuf = 0;\r
- return ( int ) pcBuf - ( int ) pcOriginalBuf;\r
+ return(iConvertCount);\r
}\r
\r
//*****************************************************************************\r
//! The caller must ensure that the buffer pcBuf is large enough to hold the\r
//! entire converted string, including the null termination character.\r
//!\r
-//! \return None.\r
+//! \return The count of characters that were written to the output buffer,\r
+//! not including the NULL termination character.\r
//\r
//*****************************************************************************\r
-void\r
+int\r
usprintf(char *pcBuf, const char *pcString, ...)\r
{\r
va_list vaArgP;\r
+ int iRet;\r
\r
//\r
// Start the varargs processing.\r
// Call vsnprintf to perform the conversion. Use a\r
// large number for the buffer size.\r
//\r
- uvsnprintf(pcBuf, 0xffff, pcString, vaArgP);\r
+ iRet = uvsnprintf(pcBuf, 0xffff, pcString, vaArgP);\r
\r
//\r
// End the varargs processing.\r
//\r
va_end(vaArgP);\r
+\r
+ //\r
+ // Return the conversion count.\r
+ //\r
+ return(iRet);\r
}\r
\r
//*****************************************************************************\r
//! buffer \b pcBuf. One space is reserved in the buffer for the null\r
//! termination character.\r
//!\r
-//! \return None.\r
+//! The function will return the number of characters that would be\r
+//! converted as if there were no limit on the buffer size. Therefore\r
+//! it is possible for the function to return a count that is greater than\r
+//! the specified buffer size. If this happens, it means that the output\r
+//! was truncated.\r
+//!\r
+//! \return the number of characters that were to be stored, not including\r
+//! the NULL termination character, regardless of space in the buffer.\r
//\r
//*****************************************************************************\r
int\r
usnprintf(char *pcBuf, unsigned long ulSize, const char *pcString, ...)\r
{\r
-int iReturn;\r
+int iRet;\r
\r
va_list vaArgP;\r
\r
//\r
// Call vsnprintf to perform the conversion.\r
//\r
- iReturn = uvsnprintf(pcBuf, ulSize, pcString, vaArgP);\r
+ iRet = uvsnprintf(pcBuf, ulSize, pcString, vaArgP);\r
\r
//\r
// End the varargs processing.\r
//\r
va_end(vaArgP);\r
\r
- return iReturn;\r
+ //\r
+ // Return the conversion count.\r
+ //\r
+ return(iRet);\r
}\r
\r
//*****************************************************************************\r
// uartstdlib.h - Prototypes for simple standard library functions.\r
//\r
// Copyright (c) 2007 Luminary Micro, Inc. All rights reserved.\r
-// \r
+//\r
// Software License Agreement\r
-// \r
+//\r
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
// exclusively on LMI's microcontroller products.\r
-// \r
+//\r
// The software is owned by LMI and/or its suppliers, and is protected under\r
// applicable copyright laws. All rights are reserved. Any use in violation\r
// of the foregoing restrictions may subject the user to criminal sanctions\r
// under applicable laws, as well as to civil liability for the breach of the\r
// terms and conditions of this license.\r
-// \r
+//\r
// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
-// \r
+//\r
//\r
//*****************************************************************************\r
\r
// Prototypes for the APIs.\r
//\r
//*****************************************************************************\r
-extern void usprintf(char *, const char *pcString, ...);\r
+extern int usprintf(char *, const char *pcString, ...);\r
+extern int usnprintf(char *pcBuf, unsigned long ulSize,\r
+ const char *pcString, ...);\r
\r
#ifdef __cplusplus\r
}\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
\r
A special exception to the GPL can be applied should you wish to distribute\r
a combined work that includes FreeRTOS.org, without being obliged to provide\r
- the source code for any proprietary components. See the licensing section \r
+ the source code for any proprietary components. See the licensing section\r
of http://www.FreeRTOS.org for full details of how and when the exception\r
can be applied.\r
\r
***************************************************************************\r
- See http://www.FreeRTOS.org for documentation, latest information, license \r
- and contact details. Please ensure to read the configuration and relevant \r
+ 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
\r
/*\r
* This file contains some test scenarios that ensure tasks do not exit queue\r
- * send or receive functions prematurely. A description of the tests is \r
+ * send or receive functions prematurely. A description of the tests is\r
* included within the code.\r
*/\r
\r
#include "task.h"\r
#include "queue.h"\r
\r
+/* Demo includes. */\r
+#include "blocktim.h"\r
+\r
/* Task priorities. */\r
#define bktPRIMARY_PRIORITY ( 3 )\r
#define bktSECONDARY_PRIORITY ( 2 )\r
static portBASE_TYPE xPrimaryCycles = 0, xSecondaryCycles = 0;\r
static portBASE_TYPE xErrorOccurred = pdFALSE;\r
\r
-/* Provides a simple mechanism for the primary task to know when the \r
+/* Provides a simple mechanism for the primary task to know when the\r
secondary task has executed. */\r
static volatile unsigned portBASE_TYPE xRunIndicator;\r
\r
}\r
portEXIT_CRITICAL();\r
\r
- if( xBlockedTime < xTimeToBlock ) \r
+ if( xBlockedTime < xTimeToBlock )\r
{\r
/* Should not have blocked for less than we requested. */\r
xErrorOccurred = pdTRUE;\r
if( xBlockedTime > ( xTimeToBlock + bktALLOWABLE_MARGIN ) )\r
{\r
/* Should not have blocked for longer than we requested,\r
- although we would not necessarily run as soon as we were \r
+ although we would not necessarily run as soon as we were\r
unblocked so a margin is allowed. */\r
xErrorOccurred = pdTRUE;\r
}\r
}\r
portEXIT_CRITICAL();\r
\r
- if( xBlockedTime < xTimeToBlock ) \r
+ if( xBlockedTime < xTimeToBlock )\r
{\r
/* Should not have blocked for less than we requested. */\r
xErrorOccurred = pdTRUE;\r
if( xBlockedTime > ( xTimeToBlock + bktALLOWABLE_MARGIN ) )\r
{\r
/* Should not have blocked for longer than we requested,\r
- although we would not necessarily run as soon as we were \r
+ although we would not necessarily run as soon as we were\r
unblocked so a margin is allowed. */\r
xErrorOccurred = pdTRUE;\r
}\r
}\r
\r
/* Now fill the queue again before the other task gets a chance to\r
- execute. If the other task had executed we would find the queue \r
+ execute. If the other task had executed we would find the queue\r
full ourselves, and the other task have set xRunIndicator. */\r
if( xQueueSend( xTestQueue, &xItem, bktDONT_BLOCK ) != pdPASS )\r
{\r
/*********************************************************************\r
Test 4\r
\r
- As per test 3 - but with the send and receive the other way around. \r
+ As per test 3 - but with the send and receive the other way around.\r
The other task blocks attempting to read from the queue.\r
\r
Empty the queue. We should find that it is full. */\r
}\r
}\r
\r
- /* Wake the other task so it blocks attempting to read from the \r
+ /* Wake the other task so it blocks attempting to read from the\r
already empty queue. */\r
vTaskResume( xSecondary );\r
\r
\r
for( xItem = 0; xItem < bktQUEUE_LENGTH; xItem++ )\r
{\r
- /* Now when we place an item on the queue the other task should \r
+ /* Now when we place an item on the queue the other task should\r
wake but not execute as this task has higher priority. */ \r
if( xQueueSend( xTestQueue, &xItem, bktDONT_BLOCK ) != pdPASS )\r
{\r
}\r
\r
/* Now empty the queue again before the other task gets a chance to\r
- execute. If the other task had executed we would find the queue \r
+ execute. If the other task had executed we would find the queue\r
empty ourselves, and the other task would be suspended. */\r
if( xQueueReceive( xTestQueue, &xData, bktDONT_BLOCK ) != pdPASS )\r
{\r
on the queue again. */\r
vTaskPrioritySet( xSecondary, bktPRIMARY_PRIORITY + 2 );\r
\r
- /* The other task should now have re-blocked without exiting the \r
+ /* The other task should now have re-blocked without exiting the\r
queue function. */\r
if( xRunIndicator == bktRUN_INDICATOR )\r
{\r
xErrorOccurred = pdTRUE;\r
}\r
\r
- /* We should of not blocked for much longer than bktALLOWABLE_MARGIN \r
+ /* We should of not blocked for much longer than bktALLOWABLE_MARGIN\r
either. A margin is permitted as we would not necessarily run as\r
soon as we unblocked. */\r
if( xBlockedTime > ( bktTIME_TO_BLOCK + bktALLOWABLE_MARGIN ) )\r
xErrorOccurred = pdTRUE;\r
}\r
\r
- /* We should of not blocked for much longer than bktALLOWABLE_MARGIN \r
+ /* We should of not blocked for much longer than bktALLOWABLE_MARGIN\r
either. A margin is permitted as we would not necessarily run as soon\r
as we unblocked. */\r
if( xBlockedTime > ( bktTIME_TO_BLOCK + bktALLOWABLE_MARGIN ) )\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
/*\r
- FreeRTOS.org V4.3.0 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r