# HG changeset patch # User Rowan Decker # Date 1427956706 25200 # Node ID a0ad3a1722694877d93f49baf1dbe85dfb6efe34 # Parent a2df35fa4f0b346518e05195826cdd9e4f602ffc Add Clear CLI function Sometimes it would be nice to clear the screen if it has a lot of information (ex: when in debug information). Some terminals support ^L to clear screen, but not all (iTerm2 on my mac does not), so I think this is worthwhile to add. Edit: Forgot cli.h diff -r a2df35fa4f0b -r a0ad3a172269 Debug/cli/cli.c --- a/Debug/cli/cli.c Sun Mar 15 21:37:57 2015 -0700 +++ b/Debug/cli/cli.c Wed Apr 01 23:38:26 2015 -0700 @@ -35,6 +35,7 @@ // ----- Variables ----- // Basic command dictionary +CLIDict_Entry( clear, "Clear the screen."); CLIDict_Entry( cliDebug, "Enables/Disables hex output of the most recent cli input." ); CLIDict_Entry( help, "You're looking at it :P" ); CLIDict_Entry( led, "Enables/Disables indicator LED. Try a couple times just in case the LED is in an odd state.\r\n\t\t\033[33mWarning\033[0m: May adversely affect some modules..." ); @@ -44,6 +45,7 @@ CLIDict_Entry( version, "Version information about this firmware." ); CLIDict_Def( basicCLIDict, "General Commands" ) = { + CLIDict_Item( clear ), CLIDict_Item( cliDebug ), CLIDict_Item( help ), CLIDict_Item( led ), @@ -350,6 +352,11 @@ // ----- CLI Command Functions ----- +void cliFunc_clear( char* args) +{ + print("\033[2J\033[H\r"); // Erases the whole screen +} + void cliFunc_cliDebug( char* args ) { // Toggle Hex Debug Mode diff -r a2df35fa4f0b -r a0ad3a172269 Debug/cli/cli.h --- a/Debug/cli/cli.h Sun Mar 15 21:37:57 2015 -0700 +++ b/Debug/cli/cli.h Wed Apr 01 23:38:26 2015 -0700 @@ -108,6 +108,7 @@ // CLI Command Functions void cliFunc_arch ( char* args ); void cliFunc_chip ( char* args ); +void cliFunc_clear ( char* args ); void cliFunc_cliDebug( char* args ); void cliFunc_device ( char* args ); void cliFunc_help ( char* args );