mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Update FreeRTOS+ demos that use FreeRTOS+CLI to remove casting to int8_t * from strings.
This commit is contained in:
parent
42a2338f1c
commit
31609c7c3e
|
@ -95,48 +95,48 @@
|
||||||
/*
|
/*
|
||||||
* Print out information on a single file.
|
* Print out information on a single file.
|
||||||
*/
|
*/
|
||||||
static void prvCreateFileInfoString( int8_t *pcBuffer, F_FIND *pxFindStruct );
|
static void prvCreateFileInfoString( char *pcBuffer, F_FIND *pxFindStruct );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copies an existing file into a newly created file.
|
* Copies an existing file into a newly created file.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvPerformCopy( int8_t *pcSourceFile,
|
static portBASE_TYPE prvPerformCopy( const char *pcSourceFile,
|
||||||
int32_t lSourceFileLength,
|
int32_t lSourceFileLength,
|
||||||
int8_t *pcDestinationFile,
|
const char *pcDestinationFile,
|
||||||
int8_t *pxWriteBuffer,
|
char *pxWriteBuffer,
|
||||||
size_t xWriteBufferLen );
|
size_t xWriteBufferLen );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the DIR command.
|
* Implements the DIR command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDIRCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDIRCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the CD command.
|
* Implements the CD command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvCDCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvCDCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the DEL command.
|
* Implements the DEL command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDELCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDELCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the TYPE command.
|
* Implements the TYPE command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTYPECommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTYPECommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the COPY command.
|
* Implements the COPY command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvCOPYCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvCOPYCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/* Structure that defines the DIR command line command, which lists all the
|
/* Structure that defines the DIR command line command, which lists all the
|
||||||
files in the current directory. */
|
files in the current directory. */
|
||||||
static const CLI_Command_Definition_t xDIR =
|
static const CLI_Command_Definition_t xDIR =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "dir", /* The command string to type. */
|
"dir", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ndir:\r\n Lists the files in the current directory\r\n",
|
"\r\ndir:\r\n Lists the files in the current directory\r\n",
|
||||||
prvDIRCommand, /* The function to run. */
|
prvDIRCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -145,8 +145,8 @@ static const CLI_Command_Definition_t xDIR =
|
||||||
working directory. */
|
working directory. */
|
||||||
static const CLI_Command_Definition_t xCD =
|
static const CLI_Command_Definition_t xCD =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "cd", /* The command string to type. */
|
"cd", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ncd <dir name>:\r\n Changes the working directory\r\n",
|
"\r\ncd <dir name>:\r\n Changes the working directory\r\n",
|
||||||
prvCDCommand, /* The function to run. */
|
prvCDCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -155,8 +155,8 @@ static const CLI_Command_Definition_t xCD =
|
||||||
contents of a file to the console. */
|
contents of a file to the console. */
|
||||||
static const CLI_Command_Definition_t xTYPE =
|
static const CLI_Command_Definition_t xTYPE =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "type", /* The command string to type. */
|
"type", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntype <filename>:\r\n Prints file contents to the terminal\r\n",
|
"\r\ntype <filename>:\r\n Prints file contents to the terminal\r\n",
|
||||||
prvTYPECommand, /* The function to run. */
|
prvTYPECommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -164,8 +164,8 @@ static const CLI_Command_Definition_t xTYPE =
|
||||||
/* Structure that defines the DEL command line command, which deletes a file. */
|
/* Structure that defines the DEL command line command, which deletes a file. */
|
||||||
static const CLI_Command_Definition_t xDEL =
|
static const CLI_Command_Definition_t xDEL =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "del", /* The command string to type. */
|
"del", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ndel <filename>:\r\n deletes a file or directory\r\n",
|
"\r\ndel <filename>:\r\n deletes a file or directory\r\n",
|
||||||
prvDELCommand, /* The function to run. */
|
prvDELCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -173,8 +173,8 @@ static const CLI_Command_Definition_t xDEL =
|
||||||
/* Structure that defines the COPY command line command, which deletes a file. */
|
/* Structure that defines the COPY command line command, which deletes a file. */
|
||||||
static const CLI_Command_Definition_t xCOPY =
|
static const CLI_Command_Definition_t xCOPY =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "copy", /* The command string to type. */
|
"copy", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ncopy <source file> <dest file>:\r\n Copies <source file> to <dest file>\r\n",
|
"\r\ncopy <source file> <dest file>:\r\n Copies <source file> to <dest file>\r\n",
|
||||||
prvCOPYCommand, /* The function to run. */
|
prvCOPYCommand, /* The function to run. */
|
||||||
2 /* Two parameters are expected. */
|
2 /* Two parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -193,9 +193,9 @@ void vRegisterFileSystemCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTYPECommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTYPECommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn = pdTRUE;
|
portBASE_TYPE xParameterStringLength, xReturn = pdTRUE;
|
||||||
static F_FILE *pxFile = NULL;
|
static F_FILE *pxFile = NULL;
|
||||||
int iChar;
|
int iChar;
|
||||||
|
@ -219,7 +219,7 @@ size_t xColumns = 50U;
|
||||||
if( pxFile == NULL )
|
if( pxFile == NULL )
|
||||||
{
|
{
|
||||||
/* The file has not been opened yet. Find the file name. */
|
/* The file has not been opened yet. Find the file name. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -249,7 +249,7 @@ size_t xColumns = 50U;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pcWriteBuffer[ xByte ] = ( int8_t ) iChar;
|
pcWriteBuffer[ xByte ] = ( char ) iChar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -261,21 +261,21 @@ size_t xColumns = 50U;
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvCDCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvCDCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
size_t xStringLength;
|
size_t xStringLength;
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -286,26 +286,26 @@ size_t xStringLength;
|
||||||
configASSERT( pcParameter );
|
configASSERT( pcParameter );
|
||||||
|
|
||||||
/* Attempt to move to the requested directory. */
|
/* Attempt to move to the requested directory. */
|
||||||
ucReturned = f_chdir( ( char * ) pcParameter );
|
ucReturned = f_chdir( pcParameter );
|
||||||
|
|
||||||
if( ucReturned == F_NO_ERROR )
|
if( ucReturned == F_NO_ERROR )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "In: " );
|
sprintf( pcWriteBuffer, "In: " );
|
||||||
xStringLength = strlen( ( const char * ) pcWriteBuffer );
|
xStringLength = strlen( pcWriteBuffer );
|
||||||
f_getcwd( ( char * ) &( pcWriteBuffer[ xStringLength ] ), ( unsigned char ) ( xWriteBufferLen - xStringLength ) );
|
f_getcwd( &( pcWriteBuffer[ xStringLength ] ), ( unsigned char ) ( xWriteBufferLen - xStringLength ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error" );
|
sprintf( pcWriteBuffer, "Error" );
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvDIRCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDIRCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static F_FIND *pxFindStruct = NULL;
|
static F_FIND *pxFindStruct = NULL;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
|
@ -335,12 +335,12 @@ portBASE_TYPE xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
snprintf( ( char * ) pcWriteBuffer, xWriteBufferLen, "Error: f_findfirst() failed." );
|
snprintf( pcWriteBuffer, xWriteBufferLen, "Error: f_findfirst() failed." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
snprintf( ( char * ) pcWriteBuffer, xWriteBufferLen, "Failed to allocate RAM (using heap_4.c will prevent fragmentation)." );
|
snprintf( pcWriteBuffer, xWriteBufferLen, "Failed to allocate RAM (using heap_4.c will prevent fragmentation)." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -365,15 +365,15 @@ portBASE_TYPE xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvDELCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDELCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
|
|
||||||
|
@ -381,7 +381,7 @@ unsigned char ucReturned;
|
||||||
( void ) xWriteBufferLen;
|
( void ) xWriteBufferLen;
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -396,27 +396,27 @@ unsigned char ucReturned;
|
||||||
|
|
||||||
if( ucReturned == F_NO_ERROR )
|
if( ucReturned == F_NO_ERROR )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s was deleted", pcParameter );
|
sprintf( pcWriteBuffer, "%s was deleted", pcParameter );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error" );
|
sprintf( pcWriteBuffer, "Error" );
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvCOPYCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvCOPYCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcSourceFile, *pcDestinationFile;
|
char *pcSourceFile, *pcDestinationFile;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
long lSourceLength, lDestinationLength = 0;
|
long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
/* Obtain the name of the destination file. */
|
/* Obtain the name of the destination file. */
|
||||||
pcDestinationFile = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcDestinationFile = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
2, /* Return the second parameter. */
|
2, /* Return the second parameter. */
|
||||||
|
@ -427,7 +427,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
configASSERT( pcDestinationFile );
|
configASSERT( pcDestinationFile );
|
||||||
|
|
||||||
/* Obtain the name of the source file. */
|
/* Obtain the name of the source file. */
|
||||||
pcSourceFile = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcSourceFile = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -445,7 +445,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
if( lSourceLength == 0 )
|
if( lSourceLength == 0 )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Source file does not exist" );
|
sprintf( pcWriteBuffer, "Source file does not exist" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -454,7 +454,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
if( lDestinationLength != 0 )
|
if( lDestinationLength != 0 )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error: Destination file already exists" );
|
sprintf( pcWriteBuffer, "Error: Destination file already exists" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,24 +464,24 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
{
|
{
|
||||||
if( prvPerformCopy( pcSourceFile, lSourceLength, pcDestinationFile, pcWriteBuffer, xWriteBufferLen ) == pdPASS )
|
if( prvPerformCopy( pcSourceFile, lSourceLength, pcDestinationFile, pcWriteBuffer, xWriteBufferLen ) == pdPASS )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Copy made" );
|
sprintf( pcWriteBuffer, "Copy made" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error during copy" );
|
sprintf( pcWriteBuffer, "Error during copy" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvPerformCopy( int8_t *pcSourceFile,
|
static portBASE_TYPE prvPerformCopy( const char *pcSourceFile,
|
||||||
int32_t lSourceFileLength,
|
int32_t lSourceFileLength,
|
||||||
int8_t *pcDestinationFile,
|
const char *pcDestinationFile,
|
||||||
int8_t *pxWriteBuffer,
|
char *pxWriteBuffer,
|
||||||
size_t xWriteBufferLen )
|
size_t xWriteBufferLen )
|
||||||
{
|
{
|
||||||
int32_t lBytesRead = 0, lBytesToRead, lBytesRemaining;
|
int32_t lBytesRead = 0, lBytesToRead, lBytesRemaining;
|
||||||
|
@ -543,7 +543,7 @@ portBASE_TYPE xReturn = pdPASS;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvCreateFileInfoString( int8_t *pcBuffer, F_FIND *pxFindStruct )
|
static void prvCreateFileInfoString( char *pcBuffer, F_FIND *pxFindStruct )
|
||||||
{
|
{
|
||||||
const char *pcWritableFile = "writable file", *pcReadOnlyFile = "read only file", *pcDirectory = "directory";
|
const char *pcWritableFile = "writable file", *pcReadOnlyFile = "read only file", *pcDirectory = "directory";
|
||||||
const char * pcAttrib;
|
const char * pcAttrib;
|
||||||
|
@ -564,5 +564,5 @@ const char * pcAttrib;
|
||||||
|
|
||||||
/* Create a string that includes the file name, the file size and the
|
/* Create a string that includes the file name, the file size and the
|
||||||
attributes string. */
|
attributes string. */
|
||||||
sprintf( ( char * ) pcBuffer, "%s [%s] [size=%d]", pxFindStruct->filename, pcAttrib, ( int ) pxFindStruct->filesize );
|
sprintf( pcBuffer, "%s [%s] [size=%d]", pxFindStruct->filename, pcAttrib, ( int ) pxFindStruct->filesize );
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,36 +93,36 @@
|
||||||
/*
|
/*
|
||||||
* Implements the task-stats command.
|
* Implements the task-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the run-time-stats command.
|
* Implements the run-time-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-three-parameters command.
|
* Implements the echo-three-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-parameters command.
|
* Implements the echo-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the "trace start" and "trace stop" commands;
|
* Implements the "trace start" and "trace stop" commands;
|
||||||
*/
|
*/
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Structure that defines the "run-time-stats" command line command. This
|
/* Structure that defines the "run-time-stats" command line command. This
|
||||||
generates a table that shows how much run time each task has */
|
generates a table that shows how much run time each task has */
|
||||||
static const CLI_Command_Definition_t xRunTimeStats =
|
static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "run-time-stats", /* The command string to type. */
|
"run-time-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
|
"\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
|
||||||
prvRunTimeStatsCommand, /* The function to run. */
|
prvRunTimeStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -131,8 +131,8 @@ static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
a table that gives information on each task in the system. */
|
a table that gives information on each task in the system. */
|
||||||
static const CLI_Command_Definition_t xTaskStats =
|
static const CLI_Command_Definition_t xTaskStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "task-stats", /* The command string to type. */
|
"task-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n",
|
"\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n",
|
||||||
prvTaskStatsCommand, /* The function to run. */
|
prvTaskStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -142,8 +142,8 @@ takes exactly three parameters that the command simply echos back one at a
|
||||||
time. */
|
time. */
|
||||||
static const CLI_Command_Definition_t xThreeParameterEcho =
|
static const CLI_Command_Definition_t xThreeParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-3-parameters",
|
"echo-3-parameters",
|
||||||
( const int8_t * const ) "\r\necho-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n",
|
"\r\necho-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n",
|
||||||
prvThreeParameterEchoCommand, /* The function to run. */
|
prvThreeParameterEchoCommand, /* The function to run. */
|
||||||
3 /* Three parameters are expected, which can take any value. */
|
3 /* Three parameters are expected, which can take any value. */
|
||||||
};
|
};
|
||||||
|
@ -153,8 +153,8 @@ takes a variable number of parameters that the command simply echos back one at
|
||||||
a time. */
|
a time. */
|
||||||
static const CLI_Command_Definition_t xParameterEcho =
|
static const CLI_Command_Definition_t xParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-parameters",
|
"echo-parameters",
|
||||||
( const int8_t * const ) "\r\necho-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n",
|
"\r\necho-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n",
|
||||||
prvParameterEchoCommand, /* The function to run. */
|
prvParameterEchoCommand, /* The function to run. */
|
||||||
-1 /* The user can enter any number of commands. */
|
-1 /* The user can enter any number of commands. */
|
||||||
};
|
};
|
||||||
|
@ -164,8 +164,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameter, which can be either "start" or "stop". */
|
parameter, which can be either "start" or "stop". */
|
||||||
static const CLI_Command_Definition_t xStartStopTrace =
|
static const CLI_Command_Definition_t xStartStopTrace =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "trace",
|
"trace",
|
||||||
( const int8_t * const ) "\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n",
|
"\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n",
|
||||||
prvStartStopTraceCommand, /* The function to run. */
|
prvStartStopTraceCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
||||||
};
|
};
|
||||||
|
@ -189,9 +189,9 @@ void vRegisterSampleCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stack #\r\n************************************************\r\n";
|
const char *const pcHeader = "Task State Priority Stack #\r\n************************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -201,8 +201,8 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskList( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskList( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -210,9 +210,9 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Time\r\n****************************************\r\n";
|
const char * const pcHeader = "Task Abs Time % Time\r\n****************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -222,8 +222,8 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskGetRunTimeStats( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -231,9 +231,9 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The three parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -261,7 +261,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -273,9 +273,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* If this is the last of the three parameters then there are no more
|
/* If this is the last of the three parameters then there are no more
|
||||||
strings to return after this one. */
|
strings to return after this one. */
|
||||||
|
@ -298,9 +298,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -328,7 +328,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -339,9 +339,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* There might be more parameters to return after this one. */
|
/* There might be more parameters to return after this one. */
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
|
@ -367,9 +367,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength;
|
portBASE_TYPE lParameterStringLength;
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
|
@ -380,7 +380,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -398,17 +398,17 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
vTraceClear();
|
vTraceClear();
|
||||||
vTraceStart();
|
vTraceStart();
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
sprintf( pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
||||||
}
|
}
|
||||||
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
||||||
{
|
{
|
||||||
/* End the trace, if one is running. */
|
/* End the trace, if one is running. */
|
||||||
vTraceStop();
|
vTraceStop();
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Stopping trace recording.\r\n" );
|
sprintf( pcWriteBuffer, "Stopping trace recording.\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
sprintf( pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
|
|
|
@ -91,23 +91,23 @@ commands. */
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out IP address information.
|
* Defines a command that prints out IP address information.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out the gathered demo debug stats.
|
* Defines a command that prints out the gathered demo debug stats.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that sends an ICMP ping request to an IP address.
|
* Defines a command that sends an ICMP ping request to an IP address.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/* Structure that defines the "ip-config" command line command. */
|
/* Structure that defines the "ip-config" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPConfig =
|
static const CLI_Command_Definition_t xIPConfig =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-config",
|
"ip-config",
|
||||||
( const int8_t * const ) "ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
"ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
||||||
prvDisplayIPConfig,
|
prvDisplayIPConfig,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@ -116,8 +116,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
/* Structure that defines the "ip-debug-stats" command line command. */
|
/* Structure that defines the "ip-debug-stats" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPDebugStats =
|
static const CLI_Command_Definition_t xIPDebugStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-debug-stats", /* The command string to type. */
|
"ip-debug-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
"ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
||||||
prvDisplayIPDebugStats, /* The function to run. */
|
prvDisplayIPDebugStats, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -130,8 +130,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
parameters. */
|
parameters. */
|
||||||
static const CLI_Command_Definition_t xPing =
|
static const CLI_Command_Definition_t xPing =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ping",
|
"ping",
|
||||||
( const int8_t * const ) "ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
"ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
||||||
prvPingCommand, /* The function to run. */
|
prvPingCommand, /* The function to run. */
|
||||||
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
||||||
};
|
};
|
||||||
|
@ -162,13 +162,13 @@ void vRegisterUDPCLICommands( void )
|
||||||
|
|
||||||
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t * pcParameter;
|
const char * pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength, xReturn;
|
portBASE_TYPE lParameterStringLength, xReturn;
|
||||||
uint32_t ulIPAddress, ulBytesToPing;
|
uint32_t ulIPAddress, ulBytesToPing;
|
||||||
const uint32_t ulDefaultBytesToPing = 8UL;
|
const uint32_t ulDefaultBytesToPing = 8UL;
|
||||||
int8_t cBuffer[ 16 ];
|
char cBuffer[ 16 ];
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -181,7 +181,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
pcWriteBuffer[ 0 ] = 0x00;
|
pcWriteBuffer[ 0 ] = 0x00;
|
||||||
|
|
||||||
/* Obtain the number of bytes to ping. */
|
/* Obtain the number of bytes to ping. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
2, /* Return the second parameter. */
|
2, /* Return the second parameter. */
|
||||||
|
@ -199,7 +199,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Obtain the IP address string. */
|
/* Obtain the IP address string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -225,7 +225,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
||||||
FreeRTOS_inet_ntoa( ulIPAddress, ( char * ) cBuffer );
|
FreeRTOS_inet_ntoa( ulIPAddress, cBuffer );
|
||||||
|
|
||||||
if( ulIPAddress != 0 )
|
if( ulIPAddress != 0 )
|
||||||
{
|
{
|
||||||
|
@ -238,11 +238,11 @@ void vRegisterUDPCLICommands( void )
|
||||||
|
|
||||||
if( xReturn == pdFALSE )
|
if( xReturn == pdFALSE )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
sprintf( pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, ( int ) xReturn );
|
sprintf( pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, ( int ) xReturn );
|
||||||
}
|
}
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
|
@ -253,7 +253,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
|
|
||||||
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = -1;
|
static portBASE_TYPE xIndex = -1;
|
||||||
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
||||||
|
@ -270,7 +270,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
|
|
||||||
if( xIndex < xExampleDebugStatEntries() )
|
if( xIndex < xExampleDebugStatEntries() )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
sprintf( pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
||||||
xReturn = pdPASS;
|
xReturn = pdPASS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -289,7 +289,7 @@ void vRegisterUDPCLICommands( void )
|
||||||
|
|
||||||
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = 0;
|
static portBASE_TYPE xIndex = 0;
|
||||||
portBASE_TYPE xReturn;
|
portBASE_TYPE xReturn;
|
||||||
|
@ -306,35 +306,35 @@ uint32_t ulAddress;
|
||||||
{
|
{
|
||||||
case 0 :
|
case 0 :
|
||||||
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nIP address " );
|
sprintf( pcWriteBuffer, "\r\nIP address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1 :
|
case 1 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nNet mask " );
|
sprintf( pcWriteBuffer, "\r\nNet mask " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2 :
|
case 2 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nGateway address " );
|
sprintf( pcWriteBuffer, "\r\nGateway address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3 :
|
case 3 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nDNS server address " );
|
sprintf( pcWriteBuffer, "\r\nDNS server address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default :
|
default :
|
||||||
ulAddress = 0;
|
ulAddress = 0;
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\n\r\n" );
|
sprintf( pcWriteBuffer, "\r\n\r\n" );
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
xIndex = 0;
|
xIndex = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -342,7 +342,7 @@ uint32_t ulAddress;
|
||||||
|
|
||||||
if( ulAddress != 0 )
|
if( ulAddress != 0 )
|
||||||
{
|
{
|
||||||
FreeRTOS_inet_ntoa( ulAddress, ( ( char * ) &( pcWriteBuffer[ strlen( ( char * ) pcWriteBuffer ) ] ) ) );
|
FreeRTOS_inet_ntoa( ulAddress, ( &( pcWriteBuffer[ strlen( pcWriteBuffer ) ] ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
|
|
|
@ -96,50 +96,50 @@ commands. */
|
||||||
/*
|
/*
|
||||||
* Implements the run-time-stats command.
|
* Implements the run-time-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the task-stats command.
|
* Implements the task-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-three-parameters command.
|
* Implements the echo-three-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-parameters command.
|
* Implements the echo-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out IP address information.
|
* Defines a command that prints out IP address information.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out the gathered demo debug stats.
|
* Defines a command that prints out the gathered demo debug stats.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that sends an ICMP ping request to an IP address.
|
* Defines a command that sends an ICMP ping request to an IP address.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the "trace start" and "trace stop" commands;
|
* Implements the "trace start" and "trace stop" commands;
|
||||||
*/
|
*/
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Structure that defines the "ip-config" command line command. */
|
/* Structure that defines the "ip-config" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPConfig =
|
static const CLI_Command_Definition_t xIPConfig =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-config",
|
"ip-config",
|
||||||
( const int8_t * const ) "ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
"ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
||||||
prvDisplayIPConfig,
|
prvDisplayIPConfig,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@ -148,8 +148,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
/* Structure that defines the "ip-debug-stats" command line command. */
|
/* Structure that defines the "ip-debug-stats" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPDebugStats =
|
static const CLI_Command_Definition_t xIPDebugStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-debug-stats", /* The command string to type. */
|
"ip-debug-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
"ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
||||||
prvDisplayIPDebugStats, /* The function to run. */
|
prvDisplayIPDebugStats, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -159,8 +159,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
generates a table that shows how much run time each task has */
|
generates a table that shows how much run time each task has */
|
||||||
static const CLI_Command_Definition_t xRunTimeStats =
|
static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "run-time-stats", /* The command string to type. */
|
"run-time-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "run-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
"run-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
||||||
prvRunTimeStatsCommand, /* The function to run. */
|
prvRunTimeStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -169,8 +169,8 @@ static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
a table that gives information on each task in the system. */
|
a table that gives information on each task in the system. */
|
||||||
static const CLI_Command_Definition_t xTaskStats =
|
static const CLI_Command_Definition_t xTaskStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "task-stats", /* The command string to type. */
|
"task-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "task-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
"task-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
||||||
prvTaskStatsCommand, /* The function to run. */
|
prvTaskStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -180,8 +180,8 @@ takes exactly three parameters that the command simply echos back one at a
|
||||||
time. */
|
time. */
|
||||||
static const CLI_Command_Definition_t xThreeParameterEcho =
|
static const CLI_Command_Definition_t xThreeParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-3-parameters",
|
"echo-3-parameters",
|
||||||
( const int8_t * const ) "echo-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
"echo-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
||||||
prvThreeParameterEchoCommand, /* The function to run. */
|
prvThreeParameterEchoCommand, /* The function to run. */
|
||||||
3 /* Three parameters are expected, which can take any value. */
|
3 /* Three parameters are expected, which can take any value. */
|
||||||
};
|
};
|
||||||
|
@ -191,8 +191,8 @@ takes a variable number of parameters that the command simply echos back one at
|
||||||
a time. */
|
a time. */
|
||||||
static const CLI_Command_Definition_t xParameterEcho =
|
static const CLI_Command_Definition_t xParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-parameters",
|
"echo-parameters",
|
||||||
( const int8_t * const ) "echo-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
"echo-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
||||||
prvParameterEchoCommand, /* The function to run. */
|
prvParameterEchoCommand, /* The function to run. */
|
||||||
-1 /* The user can enter any number of commands. */
|
-1 /* The user can enter any number of commands. */
|
||||||
};
|
};
|
||||||
|
@ -204,8 +204,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameters. */
|
parameters. */
|
||||||
static const CLI_Command_Definition_t xPing =
|
static const CLI_Command_Definition_t xPing =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ping",
|
"ping",
|
||||||
( const int8_t * const ) "ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
"ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
||||||
prvPingCommand, /* The function to run. */
|
prvPingCommand, /* The function to run. */
|
||||||
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
||||||
};
|
};
|
||||||
|
@ -217,8 +217,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameter, which can be either "start" or "stop". */
|
parameter, which can be either "start" or "stop". */
|
||||||
static const CLI_Command_Definition_t xStartStopTrace =
|
static const CLI_Command_Definition_t xStartStopTrace =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "trace",
|
"trace",
|
||||||
( const int8_t * const ) "trace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
"trace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
||||||
prvStartStopTraceCommand, /* The function to run. */
|
prvStartStopTraceCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
||||||
};
|
};
|
||||||
|
@ -248,9 +248,9 @@ void vRegisterCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stack #\r\n************************************************\r\n";
|
const char *const pcHeader = "Task State Priority Stack #\r\n************************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -260,8 +260,8 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskList( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskList( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -269,9 +269,9 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Time\r\n****************************************\r\n";
|
const char * const pcHeader = "Task Abs Time % Time\r\n****************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -281,8 +281,8 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskGetRunTimeStats( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -290,9 +290,9 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -307,7 +307,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The three parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -320,7 +320,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -332,9 +332,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* If this is the last of the three parameters then there are no more
|
/* If this is the last of the three parameters then there are no more
|
||||||
strings to return after this one. */
|
strings to return after this one. */
|
||||||
|
@ -357,9 +357,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -387,7 +387,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -398,9 +398,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* There might be more parameters to return after this one. */
|
/* There might be more parameters to return after this one. */
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
|
@ -426,13 +426,13 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t * pcParameter;
|
char * pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength, xReturn;
|
portBASE_TYPE lParameterStringLength, xReturn;
|
||||||
uint32_t ulIPAddress, ulBytesToPing;
|
uint32_t ulIPAddress, ulBytesToPing;
|
||||||
const uint32_t ulDefaultBytesToPing = 8UL;
|
const uint32_t ulDefaultBytesToPing = 8UL;
|
||||||
int8_t cBuffer[ 16 ];
|
char cBuffer[ 16 ];
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -445,7 +445,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
pcWriteBuffer[ 0 ] = 0x00;
|
pcWriteBuffer[ 0 ] = 0x00;
|
||||||
|
|
||||||
/* Obtain the number of bytes to ping. */
|
/* Obtain the number of bytes to ping. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = ( char * ) FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
2, /* Return the second parameter. */
|
2, /* Return the second parameter. */
|
||||||
|
@ -463,7 +463,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Obtain the IP address string. */
|
/* Obtain the IP address string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = ( char * ) FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -489,7 +489,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
||||||
FreeRTOS_inet_ntoa( ulIPAddress, ( char * ) cBuffer );
|
FreeRTOS_inet_ntoa( ulIPAddress, cBuffer );
|
||||||
|
|
||||||
if( ulIPAddress != 0 )
|
if( ulIPAddress != 0 )
|
||||||
{
|
{
|
||||||
|
@ -502,11 +502,11 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
if( xReturn == pdFALSE )
|
if( xReturn == pdFALSE )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
sprintf( pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, xReturn );
|
sprintf( pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, xReturn );
|
||||||
}
|
}
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
|
@ -517,7 +517,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = -1;
|
static portBASE_TYPE xIndex = -1;
|
||||||
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
||||||
|
@ -534,7 +534,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
if( xIndex < xExampleDebugStatEntries() )
|
if( xIndex < xExampleDebugStatEntries() )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
sprintf( pcWriteBuffer, "%s %d\r\n", xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
||||||
xReturn = pdPASS;
|
xReturn = pdPASS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -553,7 +553,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = 0;
|
static portBASE_TYPE xIndex = 0;
|
||||||
portBASE_TYPE xReturn;
|
portBASE_TYPE xReturn;
|
||||||
|
@ -570,35 +570,35 @@ uint32_t ulAddress;
|
||||||
{
|
{
|
||||||
case 0 :
|
case 0 :
|
||||||
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nIP address " );
|
sprintf( pcWriteBuffer, "\r\nIP address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1 :
|
case 1 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nNet mask " );
|
sprintf( pcWriteBuffer, "\r\nNet mask " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2 :
|
case 2 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nGateway address " );
|
sprintf( pcWriteBuffer, "\r\nGateway address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3 :
|
case 3 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nDNS server address " );
|
sprintf( pcWriteBuffer, "\r\nDNS server address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default :
|
default :
|
||||||
ulAddress = 0;
|
ulAddress = 0;
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\n\r\n" );
|
sprintf( pcWriteBuffer, "\r\n\r\n" );
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
xIndex = 0;
|
xIndex = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -606,7 +606,7 @@ uint32_t ulAddress;
|
||||||
|
|
||||||
if( ulAddress != 0 )
|
if( ulAddress != 0 )
|
||||||
{
|
{
|
||||||
FreeRTOS_inet_ntoa( ulAddress, ( ( char * ) &( pcWriteBuffer[ strlen( ( char * ) pcWriteBuffer ) ] ) ) );
|
FreeRTOS_inet_ntoa( ulAddress, &( pcWriteBuffer[ strlen( pcWriteBuffer ) ] ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
|
@ -615,9 +615,9 @@ uint32_t ulAddress;
|
||||||
|
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength;
|
portBASE_TYPE lParameterStringLength;
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
|
@ -628,7 +628,7 @@ uint32_t ulAddress;
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -646,17 +646,17 @@ uint32_t ulAddress;
|
||||||
vTraceClear();
|
vTraceClear();
|
||||||
vTraceStart();
|
vTraceStart();
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
sprintf( pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
||||||
}
|
}
|
||||||
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
else if( strncmp( pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
||||||
{
|
{
|
||||||
/* End the trace, if one is running. */
|
/* End the trace, if one is running. */
|
||||||
vTraceStop();
|
vTraceStop();
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Stopping trace recording.\r\n" );
|
sprintf( pcWriteBuffer, "Stopping trace recording.\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
sprintf( pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
|
|
|
@ -83,37 +83,37 @@ static void prvSaveTraceFile( void );
|
||||||
* Defines a command that returns a table showing the state of each task at the
|
* Defines a command that returns a table showing the state of each task at the
|
||||||
* time the command is called.
|
* time the command is called.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that returns a table showing how much time each task has
|
* Defines a command that returns a table showing how much time each task has
|
||||||
* spent in the Running state.
|
* spent in the Running state.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that expects exactly three parameters. Each of the three
|
* Defines a command that expects exactly three parameters. Each of the three
|
||||||
* parameter are echoed back one at a time.
|
* parameter are echoed back one at a time.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that can take a variable number of parameters. Each
|
* Defines a command that can take a variable number of parameters. Each
|
||||||
* parameter is echoes back one at a time.
|
* parameter is echoes back one at a time.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that starts/stops events being recorded for offline viewing
|
* Defines a command that starts/stops events being recorded for offline viewing
|
||||||
* in FreeRTOS+Trace.
|
* in FreeRTOS+Trace.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/* Structure that defines the "run-time-stats" command line command. */
|
/* Structure that defines the "run-time-stats" command line command. */
|
||||||
static const CLI_Command_Definition_t xRunTimeStats =
|
static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "run-time-stats", /* The command string to type. */
|
"run-time-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
"\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
||||||
prvRunTimeStatsCommand, /* The function to run. */
|
prvRunTimeStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -121,8 +121,8 @@ static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
/* Structure that defines the "task-stats" command line command. */
|
/* Structure that defines the "task-stats" command line command. */
|
||||||
static const CLI_Command_Definition_t xTaskStats =
|
static const CLI_Command_Definition_t xTaskStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "task-stats", /* The command string to type. */
|
"task-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
"\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
||||||
prvTaskStatsCommand, /* The function to run. */
|
prvTaskStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -132,8 +132,8 @@ takes exactly three parameters that the command simply echos back one at a
|
||||||
time. */
|
time. */
|
||||||
static const CLI_Command_Definition_t xThreeParameterEcho =
|
static const CLI_Command_Definition_t xThreeParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo_3_parameters",
|
"echo_3_parameters",
|
||||||
( const int8_t * const ) "\r\necho_3_parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
"\r\necho_3_parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
||||||
prvThreeParameterEchoCommand, /* The function to run. */
|
prvThreeParameterEchoCommand, /* The function to run. */
|
||||||
3 /* Three parameters are expected, which can take any value. */
|
3 /* Three parameters are expected, which can take any value. */
|
||||||
};
|
};
|
||||||
|
@ -143,8 +143,8 @@ takes a variable number of parameters that the command simply echos back one at
|
||||||
a time. */
|
a time. */
|
||||||
static const CLI_Command_Definition_t xParameterEcho =
|
static const CLI_Command_Definition_t xParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo_parameters",
|
"echo_parameters",
|
||||||
( const int8_t * const ) "\r\necho_parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
"\r\necho_parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
||||||
prvParameterEchoCommand, /* The function to run. */
|
prvParameterEchoCommand, /* The function to run. */
|
||||||
-1 /* The user can enter any number of commands. */
|
-1 /* The user can enter any number of commands. */
|
||||||
};
|
};
|
||||||
|
@ -153,8 +153,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameter, which can be either "start" or "stop". */
|
parameter, which can be either "start" or "stop". */
|
||||||
static const CLI_Command_Definition_t xStartTrace =
|
static const CLI_Command_Definition_t xStartTrace =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "trace",
|
"trace",
|
||||||
( const int8_t * const ) "\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
"\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
||||||
prvStartStopTraceCommand, /* The function to run. */
|
prvStartStopTraceCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
||||||
};
|
};
|
||||||
|
@ -172,9 +172,9 @@ void vRegisterCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stack #\r\n************************************************\r\n";
|
const char *const pcHeader = "Task State Priority Stack #\r\n************************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -184,8 +184,8 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskList( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskList( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -193,9 +193,9 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Time\r\n****************************************\r\n";
|
const char * const pcHeader = "Task Abs Time % Time\r\n****************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -205,8 +205,8 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskGetRunTimeStats( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -214,9 +214,9 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength, xReturn;
|
portBASE_TYPE lParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The three parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -244,7 +244,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -256,9 +256,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, lParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, lParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* If this is the last of the three parameters then there are no more
|
/* If this is the last of the three parameters then there are no more
|
||||||
strings to return after this one. */
|
strings to return after this one. */
|
||||||
|
@ -281,9 +281,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength, xReturn;
|
portBASE_TYPE lParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -311,7 +311,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -322,9 +322,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, lParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, lParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* There might be more parameters to return after this one. */
|
/* There might be more parameters to return after this one. */
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
|
@ -348,9 +348,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength;
|
portBASE_TYPE lParameterStringLength;
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
|
@ -361,7 +361,7 @@ portBASE_TYPE lParameterStringLength;
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -379,18 +379,18 @@ portBASE_TYPE lParameterStringLength;
|
||||||
vTraceClear();
|
vTraceClear();
|
||||||
uiTraceStart();
|
uiTraceStart();
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
sprintf( pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
||||||
}
|
}
|
||||||
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
||||||
{
|
{
|
||||||
/* End the trace, if one is running. */
|
/* End the trace, if one is running. */
|
||||||
vTraceStop();
|
vTraceStop();
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Stopping trace recording and dumping log to disk.\r\n" );
|
sprintf( pcWriteBuffer, "Stopping trace recording and dumping log to disk.\r\n" );
|
||||||
prvSaveTraceFile();
|
prvSaveTraceFile();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
sprintf( pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
|
|
|
@ -94,53 +94,53 @@
|
||||||
/*
|
/*
|
||||||
* Print out information on a single file.
|
* Print out information on a single file.
|
||||||
*/
|
*/
|
||||||
static void prvCreateFileInfoString( int8_t *pcBuffer, F_FIND *pxFindStruct );
|
static void prvCreateFileInfoString( char *pcBuffer, F_FIND *pxFindStruct );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copies an existing file into a newly created file.
|
* Copies an existing file into a newly created file.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvPerformCopy( int8_t *pcSourceFile,
|
static portBASE_TYPE prvPerformCopy( const char *pcSourceFile,
|
||||||
int32_t lSourceFileLength,
|
int32_t lSourceFileLength,
|
||||||
int8_t *pcDestinationFile,
|
const char *pcDestinationFile,
|
||||||
int8_t *pxWriteBuffer,
|
char *pxWriteBuffer,
|
||||||
size_t xWriteBufferLen );
|
size_t xWriteBufferLen );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the DIR command.
|
* Implements the DIR command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDIRCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDIRCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the CD command.
|
* Implements the CD command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvCDCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvCDCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the DEL command.
|
* Implements the DEL command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDELCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDELCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the TYPE command.
|
* Implements the TYPE command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTYPECommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTYPECommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the COPY command.
|
* Implements the COPY command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvCOPYCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvCOPYCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the TEST command.
|
* Implements the TEST command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTESTFSCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTESTFSCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/* Structure that defines the DIR command line command, which lists all the
|
/* Structure that defines the DIR command line command, which lists all the
|
||||||
files in the current directory. */
|
files in the current directory. */
|
||||||
static const CLI_Command_Definition_t xDIR =
|
static const CLI_Command_Definition_t xDIR =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "dir", /* The command string to type. */
|
"dir", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ndir:\r\n Lists the files in the current directory\r\n",
|
"\r\ndir:\r\n Lists the files in the current directory\r\n",
|
||||||
prvDIRCommand, /* The function to run. */
|
prvDIRCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -149,8 +149,8 @@ static const CLI_Command_Definition_t xDIR =
|
||||||
working directory. */
|
working directory. */
|
||||||
static const CLI_Command_Definition_t xCD =
|
static const CLI_Command_Definition_t xCD =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "cd", /* The command string to type. */
|
"cd", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ncd <dir name>:\r\n Changes the working directory\r\n",
|
"\r\ncd <dir name>:\r\n Changes the working directory\r\n",
|
||||||
prvCDCommand, /* The function to run. */
|
prvCDCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -159,8 +159,8 @@ static const CLI_Command_Definition_t xCD =
|
||||||
contents of a file to the console. */
|
contents of a file to the console. */
|
||||||
static const CLI_Command_Definition_t xTYPE =
|
static const CLI_Command_Definition_t xTYPE =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "type", /* The command string to type. */
|
"type", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntype <filename>:\r\n Prints file contents to the terminal\r\n",
|
"\r\ntype <filename>:\r\n Prints file contents to the terminal\r\n",
|
||||||
prvTYPECommand, /* The function to run. */
|
prvTYPECommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -168,8 +168,8 @@ static const CLI_Command_Definition_t xTYPE =
|
||||||
/* Structure that defines the DEL command line command, which deletes a file. */
|
/* Structure that defines the DEL command line command, which deletes a file. */
|
||||||
static const CLI_Command_Definition_t xDEL =
|
static const CLI_Command_Definition_t xDEL =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "del", /* The command string to type. */
|
"del", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ndel <filename>:\r\n deletes a file or directory\r\n",
|
"\r\ndel <filename>:\r\n deletes a file or directory\r\n",
|
||||||
prvDELCommand, /* The function to run. */
|
prvDELCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. */
|
1 /* One parameter is expected. */
|
||||||
};
|
};
|
||||||
|
@ -177,8 +177,8 @@ static const CLI_Command_Definition_t xDEL =
|
||||||
/* Structure that defines the COPY command line command, which deletes a file. */
|
/* Structure that defines the COPY command line command, which deletes a file. */
|
||||||
static const CLI_Command_Definition_t xCOPY =
|
static const CLI_Command_Definition_t xCOPY =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "copy", /* The command string to type. */
|
"copy", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ncopy <source file> <dest file>:\r\n Copies <source file> to <dest file>\r\n",
|
"\r\ncopy <source file> <dest file>:\r\n Copies <source file> to <dest file>\r\n",
|
||||||
prvCOPYCommand, /* The function to run. */
|
prvCOPYCommand, /* The function to run. */
|
||||||
2 /* Two parameters are expected. */
|
2 /* Two parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -187,8 +187,8 @@ static const CLI_Command_Definition_t xCOPY =
|
||||||
file system driver tests. */
|
file system driver tests. */
|
||||||
static const CLI_Command_Definition_t xTEST_FS =
|
static const CLI_Command_Definition_t xTEST_FS =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "test-fs", /* The command string to type. */
|
"test-fs", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntest-fs:\r\n Executes file system tests. ALL FILES WILL BE DELETED!!!\r\n",
|
"\r\ntest-fs:\r\n Executes file system tests. ALL FILES WILL BE DELETED!!!\r\n",
|
||||||
prvTESTFSCommand, /* The function to run. */
|
prvTESTFSCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -207,9 +207,9 @@ void vRegisterFileSystemCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTYPECommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTYPECommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn = pdTRUE;
|
portBASE_TYPE xParameterStringLength, xReturn = pdTRUE;
|
||||||
static F_FILE *pxFile = NULL;
|
static F_FILE *pxFile = NULL;
|
||||||
int iChar;
|
int iChar;
|
||||||
|
@ -233,7 +233,7 @@ size_t xColumns = 50U;
|
||||||
if( pxFile == NULL )
|
if( pxFile == NULL )
|
||||||
{
|
{
|
||||||
/* The file has not been opened yet. Find the file name. */
|
/* The file has not been opened yet. Find the file name. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -263,7 +263,7 @@ size_t xColumns = 50U;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pcWriteBuffer[ xByte ] = ( int8_t ) iChar;
|
pcWriteBuffer[ xByte ] = ( char ) iChar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -275,21 +275,21 @@ size_t xColumns = 50U;
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvCDCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvCDCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
size_t xStringLength;
|
size_t xStringLength;
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -300,26 +300,26 @@ size_t xStringLength;
|
||||||
configASSERT( pcParameter );
|
configASSERT( pcParameter );
|
||||||
|
|
||||||
/* Attempt to move to the requested directory. */
|
/* Attempt to move to the requested directory. */
|
||||||
ucReturned = f_chdir( ( char * ) pcParameter );
|
ucReturned = f_chdir( pcParameter );
|
||||||
|
|
||||||
if( ucReturned == F_NO_ERROR )
|
if( ucReturned == F_NO_ERROR )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "In: " );
|
sprintf( pcWriteBuffer, "In: " );
|
||||||
xStringLength = strlen( ( const char * ) pcWriteBuffer );
|
xStringLength = strlen( ( const char * ) pcWriteBuffer );
|
||||||
f_getcwd( ( char * ) &( pcWriteBuffer[ xStringLength ] ), ( unsigned char ) ( xWriteBufferLen - xStringLength ) );
|
f_getcwd( &( pcWriteBuffer[ xStringLength ] ), ( unsigned char ) ( xWriteBufferLen - xStringLength ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error" );
|
sprintf( pcWriteBuffer, "Error" );
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvDIRCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDIRCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static F_FIND *pxFindStruct = NULL;
|
static F_FIND *pxFindStruct = NULL;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
|
@ -349,12 +349,12 @@ portBASE_TYPE xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
snprintf( ( char * ) pcWriteBuffer, xWriteBufferLen, "Error: f_findfirst() failed." );
|
snprintf( pcWriteBuffer, xWriteBufferLen, "Error: f_findfirst() failed." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
snprintf( ( char * ) pcWriteBuffer, xWriteBufferLen, "Failed to allocate RAM (using heap_4.c will prevent fragmentation)." );
|
snprintf( pcWriteBuffer, xWriteBufferLen, "Failed to allocate RAM (using heap_4.c will prevent fragmentation)." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -379,15 +379,15 @@ portBASE_TYPE xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvDELCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDELCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
unsigned char ucReturned;
|
unsigned char ucReturned;
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ unsigned char ucReturned;
|
||||||
( void ) xWriteBufferLen;
|
( void ) xWriteBufferLen;
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -410,20 +410,20 @@ unsigned char ucReturned;
|
||||||
|
|
||||||
if( ucReturned == F_NO_ERROR )
|
if( ucReturned == F_NO_ERROR )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s was deleted", pcParameter );
|
sprintf( pcWriteBuffer, "%s was deleted", pcParameter );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error" );
|
sprintf( pcWriteBuffer, "Error" );
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTESTFSCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTESTFSCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
unsigned portBASE_TYPE uxOriginalPriority;
|
unsigned portBASE_TYPE uxOriginalPriority;
|
||||||
|
|
||||||
|
@ -444,20 +444,21 @@ unsigned portBASE_TYPE uxOriginalPriority;
|
||||||
/* Reset back to the original priority. */
|
/* Reset back to the original priority. */
|
||||||
vTaskPrioritySet( NULL, uxOriginalPriority );
|
vTaskPrioritySet( NULL, uxOriginalPriority );
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s", "Test results were sent to Windows console" );
|
sprintf( pcWriteBuffer, "%s", "Test results were sent to Windows console" );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvCOPYCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvCOPYCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcSourceFile, *pcDestinationFile;
|
char *pcSourceFile;
|
||||||
|
const char *pcDestinationFile;
|
||||||
portBASE_TYPE xParameterStringLength;
|
portBASE_TYPE xParameterStringLength;
|
||||||
long lSourceLength, lDestinationLength = 0;
|
long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
/* Obtain the name of the destination file. */
|
/* Obtain the name of the destination file. */
|
||||||
pcDestinationFile = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcDestinationFile = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
2, /* Return the second parameter. */
|
2, /* Return the second parameter. */
|
||||||
|
@ -468,7 +469,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
configASSERT( pcDestinationFile );
|
configASSERT( pcDestinationFile );
|
||||||
|
|
||||||
/* Obtain the name of the source file. */
|
/* Obtain the name of the source file. */
|
||||||
pcSourceFile = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcSourceFile = ( char * ) FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -486,7 +487,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
if( lSourceLength == 0 )
|
if( lSourceLength == 0 )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Source file does not exist" );
|
sprintf( pcWriteBuffer, "Source file does not exist" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -495,7 +496,7 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
|
|
||||||
if( lDestinationLength != 0 )
|
if( lDestinationLength != 0 )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error: Destination file already exists" );
|
sprintf( pcWriteBuffer, "Error: Destination file already exists" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -505,24 +506,24 @@ long lSourceLength, lDestinationLength = 0;
|
||||||
{
|
{
|
||||||
if( prvPerformCopy( pcSourceFile, lSourceLength, pcDestinationFile, pcWriteBuffer, xWriteBufferLen ) == pdPASS )
|
if( prvPerformCopy( pcSourceFile, lSourceLength, pcDestinationFile, pcWriteBuffer, xWriteBufferLen ) == pdPASS )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Copy made" );
|
sprintf( pcWriteBuffer, "Copy made" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Error during copy" );
|
sprintf( pcWriteBuffer, "Error during copy" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcat( ( char * ) pcWriteBuffer, cliNEW_LINE );
|
strcat( pcWriteBuffer, cliNEW_LINE );
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvPerformCopy( int8_t *pcSourceFile,
|
static portBASE_TYPE prvPerformCopy( const char *pcSourceFile,
|
||||||
int32_t lSourceFileLength,
|
int32_t lSourceFileLength,
|
||||||
int8_t *pcDestinationFile,
|
const char *pcDestinationFile,
|
||||||
int8_t *pxWriteBuffer,
|
char *pxWriteBuffer,
|
||||||
size_t xWriteBufferLen )
|
size_t xWriteBufferLen )
|
||||||
{
|
{
|
||||||
int32_t lBytesRead = 0, lBytesToRead, lBytesRemaining;
|
int32_t lBytesRead = 0, lBytesToRead, lBytesRemaining;
|
||||||
|
@ -584,7 +585,7 @@ portBASE_TYPE xReturn = pdPASS;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static void prvCreateFileInfoString( int8_t *pcBuffer, F_FIND *pxFindStruct )
|
static void prvCreateFileInfoString( char *pcBuffer, F_FIND *pxFindStruct )
|
||||||
{
|
{
|
||||||
const char *pcWritableFile = "writable file", *pcReadOnlyFile = "read only file", *pcDirectory = "directory";
|
const char *pcWritableFile = "writable file", *pcReadOnlyFile = "read only file", *pcDirectory = "directory";
|
||||||
const char * pcAttrib;
|
const char * pcAttrib;
|
||||||
|
@ -605,5 +606,5 @@ const char * pcAttrib;
|
||||||
|
|
||||||
/* Create a string that includes the file name, the file size and the
|
/* Create a string that includes the file name, the file size and the
|
||||||
attributes string. */
|
attributes string. */
|
||||||
sprintf( ( char * ) pcBuffer, "%s [%s] [size=%d]", pxFindStruct->filename, pcAttrib, pxFindStruct->filesize );
|
sprintf( pcBuffer, "%s [%s] [size=%d]", pxFindStruct->filename, pcAttrib, pxFindStruct->filesize );
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,36 +91,36 @@
|
||||||
/*
|
/*
|
||||||
* Implements the run-time-stats command.
|
* Implements the run-time-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the task-stats command.
|
* Implements the task-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-three-parameters command.
|
* Implements the echo-three-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-parameters command.
|
* Implements the echo-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the "trace start" and "trace stop" commands;
|
* Implements the "trace start" and "trace stop" commands;
|
||||||
*/
|
*/
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Structure that defines the "run-time-stats" command line command. This
|
/* Structure that defines the "run-time-stats" command line command. This
|
||||||
generates a table that shows how much run time each task has */
|
generates a table that shows how much run time each task has */
|
||||||
static const CLI_Command_Definition_t xRunTimeStats =
|
static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "run-time-stats", /* The command string to type. */
|
"run-time-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
|
"\r\nrun-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n",
|
||||||
prvRunTimeStatsCommand, /* The function to run. */
|
prvRunTimeStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -129,8 +129,8 @@ static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
a table that gives information on each task in the system. */
|
a table that gives information on each task in the system. */
|
||||||
static const CLI_Command_Definition_t xTaskStats =
|
static const CLI_Command_Definition_t xTaskStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "task-stats", /* The command string to type. */
|
"task-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n",
|
"\r\ntask-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n",
|
||||||
prvTaskStatsCommand, /* The function to run. */
|
prvTaskStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -140,8 +140,8 @@ takes exactly three parameters that the command simply echos back one at a
|
||||||
time. */
|
time. */
|
||||||
static const CLI_Command_Definition_t xThreeParameterEcho =
|
static const CLI_Command_Definition_t xThreeParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-3-parameters",
|
"echo-3-parameters",
|
||||||
( const int8_t * const ) "\r\necho-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n",
|
"\r\necho-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n",
|
||||||
prvThreeParameterEchoCommand, /* The function to run. */
|
prvThreeParameterEchoCommand, /* The function to run. */
|
||||||
3 /* Three parameters are expected, which can take any value. */
|
3 /* Three parameters are expected, which can take any value. */
|
||||||
};
|
};
|
||||||
|
@ -151,8 +151,8 @@ takes a variable number of parameters that the command simply echos back one at
|
||||||
a time. */
|
a time. */
|
||||||
static const CLI_Command_Definition_t xParameterEcho =
|
static const CLI_Command_Definition_t xParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-parameters",
|
"echo-parameters",
|
||||||
( const int8_t * const ) "\r\necho-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n",
|
"\r\necho-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n",
|
||||||
prvParameterEchoCommand, /* The function to run. */
|
prvParameterEchoCommand, /* The function to run. */
|
||||||
-1 /* The user can enter any number of commands. */
|
-1 /* The user can enter any number of commands. */
|
||||||
};
|
};
|
||||||
|
@ -162,8 +162,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameter, which can be either "start" or "stop". */
|
parameter, which can be either "start" or "stop". */
|
||||||
static const CLI_Command_Definition_t xStartStopTrace =
|
static const CLI_Command_Definition_t xStartStopTrace =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "trace",
|
"trace",
|
||||||
( const int8_t * const ) "\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n",
|
"\r\ntrace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n",
|
||||||
prvStartStopTraceCommand, /* The function to run. */
|
prvStartStopTraceCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
||||||
};
|
};
|
||||||
|
@ -187,9 +187,9 @@ void vRegisterSampleCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stack #\r\n************************************************\r\n";
|
const char *const pcHeader = "Task State Priority Stack #\r\n************************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -199,8 +199,8 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskList( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskList( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -208,9 +208,9 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Time\r\n****************************************\r\n";
|
const char * const pcHeader = "Task Abs Time % Time\r\n****************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -220,8 +220,8 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskGetRunTimeStats( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -229,9 +229,9 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The three parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -259,7 +259,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -271,9 +271,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* If this is the last of the three parameters then there are no more
|
/* If this is the last of the three parameters then there are no more
|
||||||
strings to return after this one. */
|
strings to return after this one. */
|
||||||
|
@ -296,9 +296,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -326,7 +326,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -337,9 +337,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* There might be more parameters to return after this one. */
|
/* There might be more parameters to return after this one. */
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
|
@ -365,9 +365,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength;
|
portBASE_TYPE lParameterStringLength;
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
|
@ -378,7 +378,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -396,17 +396,17 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
vTraceClear();
|
vTraceClear();
|
||||||
vTraceStart();
|
vTraceStart();
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
sprintf( pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
||||||
}
|
}
|
||||||
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
else if( strncmp( pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
||||||
{
|
{
|
||||||
/* End the trace, if one is running. */
|
/* End the trace, if one is running. */
|
||||||
vTraceStop();
|
vTraceStop();
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Stopping trace recording.\r\n" );
|
sprintf( pcWriteBuffer, "Stopping trace recording.\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
sprintf( pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
|
|
|
@ -96,50 +96,50 @@ commands. */
|
||||||
/*
|
/*
|
||||||
* Implements the run-time-stats command.
|
* Implements the run-time-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the task-stats command.
|
* Implements the task-stats command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-three-parameters command.
|
* Implements the echo-three-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the echo-parameters command.
|
* Implements the echo-parameters command.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out IP address information.
|
* Defines a command that prints out IP address information.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that prints out the gathered demo debug stats.
|
* Defines a command that prints out the gathered demo debug stats.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines a command that sends an ICMP ping request to an IP address.
|
* Defines a command that sends an ICMP ping request to an IP address.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implements the "trace start" and "trace stop" commands;
|
* Implements the "trace start" and "trace stop" commands;
|
||||||
*/
|
*/
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Structure that defines the "ip-config" command line command. */
|
/* Structure that defines the "ip-config" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPConfig =
|
static const CLI_Command_Definition_t xIPConfig =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-config",
|
"ip-config",
|
||||||
( const int8_t * const ) "ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
"ip-config:\r\n Displays IP address configuration\r\n\r\n",
|
||||||
prvDisplayIPConfig,
|
prvDisplayIPConfig,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@ -148,8 +148,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
/* Structure that defines the "ip-debug-stats" command line command. */
|
/* Structure that defines the "ip-debug-stats" command line command. */
|
||||||
static const CLI_Command_Definition_t xIPDebugStats =
|
static const CLI_Command_Definition_t xIPDebugStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ip-debug-stats", /* The command string to type. */
|
"ip-debug-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
"ip-debug-stats:\r\n Shows some IP stack stats useful for debug - an example only.\r\n\r\n",
|
||||||
prvDisplayIPDebugStats, /* The function to run. */
|
prvDisplayIPDebugStats, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -159,8 +159,8 @@ static const CLI_Command_Definition_t xIPConfig =
|
||||||
generates a table that shows how much run time each task has */
|
generates a table that shows how much run time each task has */
|
||||||
static const CLI_Command_Definition_t xRunTimeStats =
|
static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "run-time-stats", /* The command string to type. */
|
"run-time-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "run-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
"run-time-stats:\r\n Displays a table showing how much processing time each FreeRTOS task has used\r\n\r\n",
|
||||||
prvRunTimeStatsCommand, /* The function to run. */
|
prvRunTimeStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -169,8 +169,8 @@ static const CLI_Command_Definition_t xRunTimeStats =
|
||||||
a table that gives information on each task in the system. */
|
a table that gives information on each task in the system. */
|
||||||
static const CLI_Command_Definition_t xTaskStats =
|
static const CLI_Command_Definition_t xTaskStats =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "task-stats", /* The command string to type. */
|
"task-stats", /* The command string to type. */
|
||||||
( const int8_t * const ) "task-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
"task-stats:\r\n Displays a table showing the state of each FreeRTOS task\r\n\r\n",
|
||||||
prvTaskStatsCommand, /* The function to run. */
|
prvTaskStatsCommand, /* The function to run. */
|
||||||
0 /* No parameters are expected. */
|
0 /* No parameters are expected. */
|
||||||
};
|
};
|
||||||
|
@ -180,8 +180,8 @@ takes exactly three parameters that the command simply echos back one at a
|
||||||
time. */
|
time. */
|
||||||
static const CLI_Command_Definition_t xThreeParameterEcho =
|
static const CLI_Command_Definition_t xThreeParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-3-parameters",
|
"echo-3-parameters",
|
||||||
( const int8_t * const ) "echo-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
"echo-3-parameters <param1> <param2> <param3>:\r\n Expects three parameters, echos each in turn\r\n\r\n",
|
||||||
prvThreeParameterEchoCommand, /* The function to run. */
|
prvThreeParameterEchoCommand, /* The function to run. */
|
||||||
3 /* Three parameters are expected, which can take any value. */
|
3 /* Three parameters are expected, which can take any value. */
|
||||||
};
|
};
|
||||||
|
@ -191,8 +191,8 @@ takes a variable number of parameters that the command simply echos back one at
|
||||||
a time. */
|
a time. */
|
||||||
static const CLI_Command_Definition_t xParameterEcho =
|
static const CLI_Command_Definition_t xParameterEcho =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "echo-parameters",
|
"echo-parameters",
|
||||||
( const int8_t * const ) "echo-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
"echo-parameters <...>:\r\n Take variable number of parameters, echos each in turn\r\n\r\n",
|
||||||
prvParameterEchoCommand, /* The function to run. */
|
prvParameterEchoCommand, /* The function to run. */
|
||||||
-1 /* The user can enter any number of commands. */
|
-1 /* The user can enter any number of commands. */
|
||||||
};
|
};
|
||||||
|
@ -204,8 +204,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameters. */
|
parameters. */
|
||||||
static const CLI_Command_Definition_t xPing =
|
static const CLI_Command_Definition_t xPing =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "ping",
|
"ping",
|
||||||
( const int8_t * const ) "ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
"ping <ipaddress> <optional:bytes to send>:\r\n for example, ping 192.168.0.3 8, or ping www.example.com\r\n\r\n",
|
||||||
prvPingCommand, /* The function to run. */
|
prvPingCommand, /* The function to run. */
|
||||||
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
-1 /* Ping can take either one or two parameter, so the number of parameters has to be determined by the ping command implementation. */
|
||||||
};
|
};
|
||||||
|
@ -217,8 +217,8 @@ static const CLI_Command_Definition_t xParameterEcho =
|
||||||
parameter, which can be either "start" or "stop". */
|
parameter, which can be either "start" or "stop". */
|
||||||
static const CLI_Command_Definition_t xStartStopTrace =
|
static const CLI_Command_Definition_t xStartStopTrace =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "trace",
|
"trace",
|
||||||
( const int8_t * const ) "trace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
"trace [start | stop]:\r\n Starts or stops a trace recording for viewing in FreeRTOS+Trace\r\n\r\n",
|
||||||
prvStartStopTraceCommand, /* The function to run. */
|
prvStartStopTraceCommand, /* The function to run. */
|
||||||
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
1 /* One parameter is expected. Valid values are "start" and "stop". */
|
||||||
};
|
};
|
||||||
|
@ -248,9 +248,9 @@ void vRegisterCLICommands( void )
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvTaskStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvTaskStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stack #\r\n************************************************\r\n";
|
const char *const pcHeader = "Task State Priority Stack #\r\n************************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -260,8 +260,8 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskList( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskList( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -269,9 +269,9 @@ const int8_t *const pcHeader = ( int8_t * ) "Task State Priority Stac
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvRunTimeStatsCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvRunTimeStatsCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Time\r\n****************************************\r\n";
|
const char * const pcHeader = "Task Abs Time % Time\r\n****************************************\r\n";
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -281,8 +281,8 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Generate a table of task stats. */
|
/* Generate a table of task stats. */
|
||||||
strcpy( ( char * ) pcWriteBuffer, ( char * ) pcHeader );
|
strcpy( pcWriteBuffer, pcHeader );
|
||||||
vTaskGetRunTimeStats( ( char * ) pcWriteBuffer + strlen( ( char * ) pcHeader ) );
|
vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
pdFALSE. */
|
pdFALSE. */
|
||||||
|
@ -290,9 +290,9 @@ const int8_t * const pcHeader = ( int8_t * ) "Task Abs Time % Ti
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvThreeParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvThreeParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -307,7 +307,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The three parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The three parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -320,7 +320,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -332,9 +332,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* If this is the last of the three parameters then there are no more
|
/* If this is the last of the three parameters then there are no more
|
||||||
strings to return after this one. */
|
strings to return after this one. */
|
||||||
|
@ -357,9 +357,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvParameterEchoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvParameterEchoCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE xParameterStringLength, xReturn;
|
portBASE_TYPE xParameterStringLength, xReturn;
|
||||||
static portBASE_TYPE lParameterNumber = 0;
|
static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* The first time the function is called after the command has been
|
/* The first time the function is called after the command has been
|
||||||
entered just a header string is returned. */
|
entered just a header string is returned. */
|
||||||
sprintf( ( char * ) pcWriteBuffer, "The parameters were:\r\n" );
|
sprintf( pcWriteBuffer, "The parameters were:\r\n" );
|
||||||
|
|
||||||
/* Next time the function is called the first parameter will be echoed
|
/* Next time the function is called the first parameter will be echoed
|
||||||
back. */
|
back. */
|
||||||
|
@ -387,7 +387,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
lParameterNumber, /* Return the next parameter. */
|
lParameterNumber, /* Return the next parameter. */
|
||||||
|
@ -398,9 +398,9 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
{
|
{
|
||||||
/* Return the parameter string. */
|
/* Return the parameter string. */
|
||||||
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
memset( pcWriteBuffer, 0x00, xWriteBufferLen );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
sprintf( pcWriteBuffer, "%d: ", ( int ) lParameterNumber );
|
||||||
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
strncat( pcWriteBuffer, ( const char * ) pcParameter, xParameterStringLength );
|
||||||
strncat( ( char * ) pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
strncat( pcWriteBuffer, "\r\n", strlen( "\r\n" ) );
|
||||||
|
|
||||||
/* There might be more parameters to return after this one. */
|
/* There might be more parameters to return after this one. */
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
|
@ -426,13 +426,13 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
#if ipconfigSUPPORT_OUTGOING_PINGS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvPingCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvPingCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t * pcParameter;
|
char * pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength, xReturn;
|
portBASE_TYPE lParameterStringLength, xReturn;
|
||||||
uint32_t ulIPAddress, ulBytesToPing;
|
uint32_t ulIPAddress, ulBytesToPing;
|
||||||
const uint32_t ulDefaultBytesToPing = 8UL;
|
const uint32_t ulDefaultBytesToPing = 8UL;
|
||||||
int8_t cBuffer[ 16 ];
|
char cBuffer[ 16 ];
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
write buffer is not NULL. NOTE - for simplicity, this example assumes the
|
||||||
|
@ -445,7 +445,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
pcWriteBuffer[ 0 ] = 0x00;
|
pcWriteBuffer[ 0 ] = 0x00;
|
||||||
|
|
||||||
/* Obtain the number of bytes to ping. */
|
/* Obtain the number of bytes to ping. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = ( char * ) FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
2, /* Return the second parameter. */
|
2, /* Return the second parameter. */
|
||||||
|
@ -459,11 +459,11 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ulBytesToPing = atol( ( const char * ) pcParameter );
|
ulBytesToPing = atol( pcParameter );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Obtain the IP address string. */
|
/* Obtain the IP address string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = ( char * ) FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -489,7 +489,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
/* Convert IP address, which may have come from a DNS lookup, to string. */
|
||||||
FreeRTOS_inet_ntoa( ulIPAddress, ( char * ) cBuffer );
|
FreeRTOS_inet_ntoa( ulIPAddress, cBuffer );
|
||||||
|
|
||||||
if( ulIPAddress != 0 )
|
if( ulIPAddress != 0 )
|
||||||
{
|
{
|
||||||
|
@ -502,11 +502,11 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
if( xReturn == pdFALSE )
|
if( xReturn == pdFALSE )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
sprintf( pcWriteBuffer, "%s", "Could not send ping request\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, xReturn );
|
sprintf( pcWriteBuffer, "Ping sent to %s with identifier %d\r\n", cBuffer, xReturn );
|
||||||
}
|
}
|
||||||
|
|
||||||
return pdFALSE;
|
return pdFALSE;
|
||||||
|
@ -517,7 +517,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
#if configINCLUDE_DEMO_DEBUG_STATS != 0
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPDebugStats( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPDebugStats( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = -1;
|
static portBASE_TYPE xIndex = -1;
|
||||||
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
extern xExampleDebugStatEntry_t xIPTraceValues[];
|
||||||
|
@ -534,7 +534,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
if( xIndex < xExampleDebugStatEntries() )
|
if( xIndex < xExampleDebugStatEntries() )
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "%s %d\r\n", ( char * ) xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
sprintf( pcWriteBuffer, "%s %d\r\n", xIPTraceValues[ xIndex ].pucDescription, ( int ) xIPTraceValues[ xIndex ].ulData );
|
||||||
xReturn = pdPASS;
|
xReturn = pdPASS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -553,7 +553,7 @@ static portBASE_TYPE lParameterNumber = 0;
|
||||||
|
|
||||||
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
#endif /* configINCLUDE_DEMO_DEBUG_STATS */
|
||||||
|
|
||||||
static portBASE_TYPE prvDisplayIPConfig( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvDisplayIPConfig( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static portBASE_TYPE xIndex = 0;
|
static portBASE_TYPE xIndex = 0;
|
||||||
portBASE_TYPE xReturn;
|
portBASE_TYPE xReturn;
|
||||||
|
@ -570,35 +570,35 @@ uint32_t ulAddress;
|
||||||
{
|
{
|
||||||
case 0 :
|
case 0 :
|
||||||
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( &ulAddress, NULL, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nIP address " );
|
sprintf( pcWriteBuffer, "\r\nIP address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1 :
|
case 1 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, &ulAddress, NULL, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nNet mask " );
|
sprintf( pcWriteBuffer, "\r\nNet mask " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2 :
|
case 2 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, &ulAddress, NULL );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nGateway address " );
|
sprintf( pcWriteBuffer, "\r\nGateway address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3 :
|
case 3 :
|
||||||
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
FreeRTOS_GetAddressConfiguration( NULL, NULL, NULL, &ulAddress );
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\nDNS server address " );
|
sprintf( pcWriteBuffer, "\r\nDNS server address " );
|
||||||
xReturn = pdTRUE;
|
xReturn = pdTRUE;
|
||||||
xIndex++;
|
xIndex++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default :
|
default :
|
||||||
ulAddress = 0;
|
ulAddress = 0;
|
||||||
sprintf( ( char * ) pcWriteBuffer, "\r\n\r\n" );
|
sprintf( pcWriteBuffer, "\r\n\r\n" );
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
xIndex = 0;
|
xIndex = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -606,7 +606,7 @@ uint32_t ulAddress;
|
||||||
|
|
||||||
if( ulAddress != 0 )
|
if( ulAddress != 0 )
|
||||||
{
|
{
|
||||||
FreeRTOS_inet_ntoa( ulAddress, ( ( char * ) &( pcWriteBuffer[ strlen( ( char * ) pcWriteBuffer ) ] ) ) );
|
FreeRTOS_inet_ntoa( ulAddress, &( pcWriteBuffer[ strlen( pcWriteBuffer ) ] ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
return xReturn;
|
return xReturn;
|
||||||
|
@ -615,9 +615,9 @@ uint32_t ulAddress;
|
||||||
|
|
||||||
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
#if configINCLUDE_TRACE_RELATED_CLI_COMMANDS == 1
|
||||||
|
|
||||||
static portBASE_TYPE prvStartStopTraceCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvStartStopTraceCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t *pcParameter;
|
const char *pcParameter;
|
||||||
portBASE_TYPE lParameterStringLength;
|
portBASE_TYPE lParameterStringLength;
|
||||||
|
|
||||||
/* Remove compile time warnings about unused parameters, and check the
|
/* Remove compile time warnings about unused parameters, and check the
|
||||||
|
@ -628,7 +628,7 @@ uint32_t ulAddress;
|
||||||
configASSERT( pcWriteBuffer );
|
configASSERT( pcWriteBuffer );
|
||||||
|
|
||||||
/* Obtain the parameter string. */
|
/* Obtain the parameter string. */
|
||||||
pcParameter = ( int8_t * ) FreeRTOS_CLIGetParameter
|
pcParameter = FreeRTOS_CLIGetParameter
|
||||||
(
|
(
|
||||||
pcCommandString, /* The command string itself. */
|
pcCommandString, /* The command string itself. */
|
||||||
1, /* Return the first parameter. */
|
1, /* Return the first parameter. */
|
||||||
|
@ -646,17 +646,17 @@ uint32_t ulAddress;
|
||||||
vTraceClear();
|
vTraceClear();
|
||||||
vTraceStart();
|
vTraceStart();
|
||||||
|
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
sprintf( pcWriteBuffer, "Trace recording (re)started.\r\n" );
|
||||||
}
|
}
|
||||||
else if( strncmp( ( const char * ) pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
else if( strncmp( pcParameter, "stop", strlen( "stop" ) ) == 0 )
|
||||||
{
|
{
|
||||||
/* End the trace, if one is running. */
|
/* End the trace, if one is running. */
|
||||||
vTraceStop();
|
vTraceStop();
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Stopping trace recording.\r\n" );
|
sprintf( pcWriteBuffer, "Stopping trace recording.\r\n" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf( ( char * ) pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
sprintf( pcWriteBuffer, "Valid parameters are 'start' and 'stop'.\r\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is no more data to return after this single string, so return
|
/* There is no more data to return after this single string, so return
|
||||||
|
|
|
@ -61,19 +61,19 @@ typedef struct xCOMMAND_INPUT_LIST
|
||||||
* The callback function that is executed when "help" is entered. This is the
|
* The callback function that is executed when "help" is entered. This is the
|
||||||
* only default command that is always present.
|
* only default command that is always present.
|
||||||
*/
|
*/
|
||||||
static portBASE_TYPE prvHelpCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
|
static portBASE_TYPE prvHelpCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the number of parameters that follow the command name.
|
* Return the number of parameters that follow the command name.
|
||||||
*/
|
*/
|
||||||
static int8_t prvGetNumberOfParameters( const int8_t * pcCommandString );
|
static int8_t prvGetNumberOfParameters( const char *pcCommandString );
|
||||||
|
|
||||||
/* The definition of the "help" command. This command is always at the front
|
/* The definition of the "help" command. This command is always at the front
|
||||||
of the list of registered commands. */
|
of the list of registered commands. */
|
||||||
static const CLI_Command_Definition_t xHelpCommand =
|
static const CLI_Command_Definition_t xHelpCommand =
|
||||||
{
|
{
|
||||||
( const int8_t * const ) "help",
|
"help",
|
||||||
( const int8_t * const ) "\r\nhelp:\r\n Lists all the registered commands\r\n\r\n",
|
"\r\nhelp:\r\n Lists all the registered commands\r\n\r\n",
|
||||||
prvHelpCommand,
|
prvHelpCommand,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
@ -94,7 +94,7 @@ to save RAM. Note, however, that the command console itself is not re-entrant,
|
||||||
so only one command interpreter interface can be used at any one time. For that
|
so only one command interpreter interface can be used at any one time. For that
|
||||||
reason, no attempt at providing mutual exclusion to the cOutputBuffer array is
|
reason, no attempt at providing mutual exclusion to the cOutputBuffer array is
|
||||||
attempted. */
|
attempted. */
|
||||||
static int8_t cOutputBuffer[ configCOMMAND_INT_MAX_OUTPUT_SIZE ];
|
static char cOutputBuffer[ configCOMMAND_INT_MAX_OUTPUT_SIZE ];
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -139,11 +139,11 @@ portBASE_TYPE xReturn = pdFAIL;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
portBASE_TYPE FreeRTOS_CLIProcessCommand( const int8_t * const pcCommandInput, int8_t * pcWriteBuffer, size_t xWriteBufferLen )
|
portBASE_TYPE FreeRTOS_CLIProcessCommand( const char * const pcCommandInput, char * pcWriteBuffer, size_t xWriteBufferLen )
|
||||||
{
|
{
|
||||||
static const CLI_Definition_List_Item_t *pxCommand = NULL;
|
static const CLI_Definition_List_Item_t *pxCommand = NULL;
|
||||||
portBASE_TYPE xReturn = pdTRUE;
|
portBASE_TYPE xReturn = pdTRUE;
|
||||||
const int8_t *pcRegisteredCommandString;
|
const char *pcRegisteredCommandString;
|
||||||
size_t xCommandStringLength;
|
size_t xCommandStringLength;
|
||||||
|
|
||||||
/* Note: This function is not re-entrant. It must not be called from more
|
/* Note: This function is not re-entrant. It must not be called from more
|
||||||
|
@ -155,7 +155,7 @@ size_t xCommandStringLength;
|
||||||
for( pxCommand = &xRegisteredCommands; pxCommand != NULL; pxCommand = pxCommand->pxNext )
|
for( pxCommand = &xRegisteredCommands; pxCommand != NULL; pxCommand = pxCommand->pxNext )
|
||||||
{
|
{
|
||||||
pcRegisteredCommandString = pxCommand->pxCommandLineDefinition->pcCommand;
|
pcRegisteredCommandString = pxCommand->pxCommandLineDefinition->pcCommand;
|
||||||
xCommandStringLength = strlen( ( const char * ) pcRegisteredCommandString );
|
xCommandStringLength = strlen( pcRegisteredCommandString );
|
||||||
|
|
||||||
/* To ensure the string lengths match exactly, so as not to pick up
|
/* To ensure the string lengths match exactly, so as not to pick up
|
||||||
a sub-string of a longer command, check the byte after the expected
|
a sub-string of a longer command, check the byte after the expected
|
||||||
|
@ -163,7 +163,7 @@ size_t xCommandStringLength;
|
||||||
a parameter. */
|
a parameter. */
|
||||||
if( ( pcCommandInput[ xCommandStringLength ] == ' ' ) || ( pcCommandInput[ xCommandStringLength ] == 0x00 ) )
|
if( ( pcCommandInput[ xCommandStringLength ] == ' ' ) || ( pcCommandInput[ xCommandStringLength ] == 0x00 ) )
|
||||||
{
|
{
|
||||||
if( strncmp( ( const char * ) pcCommandInput, ( const char * ) pcRegisteredCommandString, xCommandStringLength ) == 0 )
|
if( strncmp( pcCommandInput, pcRegisteredCommandString, xCommandStringLength ) == 0 )
|
||||||
{
|
{
|
||||||
/* The command has been found. Check it has the expected
|
/* The command has been found. Check it has the expected
|
||||||
number of parameters. If cExpectedNumberOfParameters is -1,
|
number of parameters. If cExpectedNumberOfParameters is -1,
|
||||||
|
@ -187,7 +187,7 @@ size_t xCommandStringLength;
|
||||||
{
|
{
|
||||||
/* The command was found, but the number of parameters with the command
|
/* The command was found, but the number of parameters with the command
|
||||||
was incorrect. */
|
was incorrect. */
|
||||||
strncpy( ( char * ) pcWriteBuffer, "Incorrect command parameter(s). Enter \"help\" to view a list of available commands.\r\n\r\n", xWriteBufferLen );
|
strncpy( pcWriteBuffer, "Incorrect command parameter(s). Enter \"help\" to view a list of available commands.\r\n\r\n", xWriteBufferLen );
|
||||||
pxCommand = NULL;
|
pxCommand = NULL;
|
||||||
}
|
}
|
||||||
else if( pxCommand != NULL )
|
else if( pxCommand != NULL )
|
||||||
|
@ -206,7 +206,7 @@ size_t xCommandStringLength;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* pxCommand was NULL, the command was not found. */
|
/* pxCommand was NULL, the command was not found. */
|
||||||
strncpy( ( char * ) pcWriteBuffer, ( const char * const ) "Command not recognised. Enter 'help' to view a list of available commands.\r\n\r\n", xWriteBufferLen );
|
strncpy( pcWriteBuffer, "Command not recognised. Enter 'help' to view a list of available commands.\r\n\r\n", xWriteBufferLen );
|
||||||
xReturn = pdFALSE;
|
xReturn = pdFALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,16 +214,16 @@ size_t xCommandStringLength;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
int8_t *FreeRTOS_CLIGetOutputBuffer( void )
|
char *FreeRTOS_CLIGetOutputBuffer( void )
|
||||||
{
|
{
|
||||||
return cOutputBuffer;
|
return cOutputBuffer;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
const int8_t *FreeRTOS_CLIGetParameter( const int8_t *pcCommandString, unsigned portBASE_TYPE uxWantedParameter, portBASE_TYPE *pxParameterStringLength )
|
const char *FreeRTOS_CLIGetParameter( const char *pcCommandString, unsigned portBASE_TYPE uxWantedParameter, portBASE_TYPE *pxParameterStringLength )
|
||||||
{
|
{
|
||||||
unsigned portBASE_TYPE uxParametersFound = 0;
|
unsigned portBASE_TYPE uxParametersFound = 0;
|
||||||
const int8_t *pcReturn = NULL;
|
const char *pcReturn = NULL;
|
||||||
|
|
||||||
*pxParameterStringLength = 0;
|
*pxParameterStringLength = 0;
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ const int8_t *pcReturn = NULL;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvHelpCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
|
static portBASE_TYPE prvHelpCommand( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString )
|
||||||
{
|
{
|
||||||
static const CLI_Definition_List_Item_t * pxCommand = NULL;
|
static const CLI_Definition_List_Item_t * pxCommand = NULL;
|
||||||
signed portBASE_TYPE xReturn;
|
signed portBASE_TYPE xReturn;
|
||||||
|
@ -291,7 +291,7 @@ signed portBASE_TYPE xReturn;
|
||||||
|
|
||||||
/* Return the next command help string, before moving the pointer on to
|
/* Return the next command help string, before moving the pointer on to
|
||||||
the next command in the list. */
|
the next command in the list. */
|
||||||
strncpy( ( char * ) pcWriteBuffer, ( const char * ) pxCommand->pxCommandLineDefinition->pcHelpString, xWriteBufferLen );
|
strncpy( pcWriteBuffer, pxCommand->pxCommandLineDefinition->pcHelpString, xWriteBufferLen );
|
||||||
pxCommand = pxCommand->pxNext;
|
pxCommand = pxCommand->pxNext;
|
||||||
|
|
||||||
if( pxCommand == NULL )
|
if( pxCommand == NULL )
|
||||||
|
@ -309,7 +309,7 @@ signed portBASE_TYPE xReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static int8_t prvGetNumberOfParameters( const int8_t * pcCommandString )
|
static int8_t prvGetNumberOfParameters( const char *pcCommandString )
|
||||||
{
|
{
|
||||||
int8_t cParameters = 0;
|
int8_t cParameters = 0;
|
||||||
portBASE_TYPE xLastCharacterWasSpace = pdFALSE;
|
portBASE_TYPE xLastCharacterWasSpace = pdFALSE;
|
||||||
|
|
|
@ -48,14 +48,14 @@ commands must comply. pcWriteBuffer is a buffer into which the output from
|
||||||
executing the command can be written, xWriteBufferLen is the length, in bytes of
|
executing the command can be written, xWriteBufferLen is the length, in bytes of
|
||||||
the pcWriteBuffer buffer, and pcCommandString is the entire string as input by
|
the pcWriteBuffer buffer, and pcCommandString is the entire string as input by
|
||||||
the user (from which parameters can be extracted).*/
|
the user (from which parameters can be extracted).*/
|
||||||
typedef portBASE_TYPE (*pdCOMMAND_LINE_CALLBACK)( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t * pcCommandString );
|
typedef portBASE_TYPE (*pdCOMMAND_LINE_CALLBACK)( char *pcWriteBuffer, size_t xWriteBufferLen, const char *pcCommandString );
|
||||||
|
|
||||||
/* The structure that defines command line commands. A command line command
|
/* The structure that defines command line commands. A command line command
|
||||||
should be defined by declaring a const structure of this type. */
|
should be defined by declaring a const structure of this type. */
|
||||||
typedef struct xCOMMAND_LINE_INPUT
|
typedef struct xCOMMAND_LINE_INPUT
|
||||||
{
|
{
|
||||||
const int8_t * const pcCommand; /* The command that causes pxCommandInterpreter to be executed. For example "help". Must be all lower case. */
|
const char * const pcCommand; /* The command that causes pxCommandInterpreter to be executed. For example "help". Must be all lower case. */
|
||||||
const int8_t * const pcHelpString; /* String that describes how to use the command. Should start with the command itself, and end with "\r\n". For example "help: Returns a list of all the commands\r\n". */
|
const char * const pcHelpString; /* String that describes how to use the command. Should start with the command itself, and end with "\r\n". For example "help: Returns a list of all the commands\r\n". */
|
||||||
const pdCOMMAND_LINE_CALLBACK pxCommandInterpreter; /* A pointer to the callback function that will return the output generated by the command. */
|
const pdCOMMAND_LINE_CALLBACK pxCommandInterpreter; /* A pointer to the callback function that will return the output generated by the command. */
|
||||||
int8_t cExpectedNumberOfParameters; /* Commands expect a fixed number of parameters, which may be zero. */
|
int8_t cExpectedNumberOfParameters; /* Commands expect a fixed number of parameters, which may be zero. */
|
||||||
} CLI_Command_Definition_t;
|
} CLI_Command_Definition_t;
|
||||||
|
@ -82,7 +82,7 @@ portBASE_TYPE FreeRTOS_CLIRegisterCommand( const CLI_Command_Definition_t * cons
|
||||||
* pcCmdIntProcessCommand is not reentrant. It must not be called from more
|
* pcCmdIntProcessCommand is not reentrant. It must not be called from more
|
||||||
* than one task - or at least - by more than one task at a time.
|
* than one task - or at least - by more than one task at a time.
|
||||||
*/
|
*/
|
||||||
portBASE_TYPE FreeRTOS_CLIProcessCommand( const int8_t * const pcCommandInput, int8_t * pcWriteBuffer, size_t xWriteBufferLen );
|
portBASE_TYPE FreeRTOS_CLIProcessCommand( const char * const pcCommandInput, char * pcWriteBuffer, size_t xWriteBufferLen );
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -97,12 +97,12 @@ portBASE_TYPE FreeRTOS_CLIProcessCommand( const int8_t * const pcCommandInput, i
|
||||||
*
|
*
|
||||||
* FreeRTOS_CLIGetOutputBuffer() returns the address of the output buffer.
|
* FreeRTOS_CLIGetOutputBuffer() returns the address of the output buffer.
|
||||||
*/
|
*/
|
||||||
int8_t *FreeRTOS_CLIGetOutputBuffer( void );
|
char *FreeRTOS_CLIGetOutputBuffer( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return a pointer to the xParameterNumber'th word in pcCommandString.
|
* Return a pointer to the xParameterNumber'th word in pcCommandString.
|
||||||
*/
|
*/
|
||||||
const int8_t *FreeRTOS_CLIGetParameter( const int8_t *pcCommandString, unsigned portBASE_TYPE uxWantedParameter, portBASE_TYPE *pxParameterStringLength );
|
const char *FreeRTOS_CLIGetParameter( const char *pcCommandString, unsigned portBASE_TYPE uxWantedParameter, portBASE_TYPE *pxParameterStringLength );
|
||||||
|
|
||||||
#endif /* COMMAND_INTERPRETER_H */
|
#endif /* COMMAND_INTERPRETER_H */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue