Archived
1
0

Adding dictionary titles.

This commit is contained in:
Jacob Alexander 2014-01-24 01:56:44 -08:00
parent 9de815f8a7
commit d72bf79a26
2 changed files with 10 additions and 8 deletions

View File

@ -35,6 +35,7 @@
// ----- Variables ----- // ----- Variables -----
// Basic command dictionary // Basic command dictionary
char* basicCLIDictName = "General Commands";
CLIDictItem basicCLIDict[] = { CLIDictItem basicCLIDict[] = {
{ "cliDebug", "Enables/Disables hex output of the most recent cli input.", cliFunc_cliDebug }, { "cliDebug", "Enables/Disables hex output of the most recent cli input.", cliFunc_cliDebug },
{ "help", "You're looking at it :P", cliFunc_help }, { "help", "You're looking at it :P", cliFunc_help },
@ -67,7 +68,7 @@ inline void init_cli()
// Register first dictionary // Register first dictionary
CLIDictionariesUsed = 0; CLIDictionariesUsed = 0;
registerDictionary_cli( basicCLIDict ); registerDictionary_cli( basicCLIDict, basicCLIDictName );
// Initialize main LED // Initialize main LED
init_errorLED(); init_errorLED();
@ -258,7 +259,7 @@ void commandLookup_cli()
} }
// Registers a command dictionary with the CLI // Registers a command dictionary with the CLI
inline void registerDictionary_cli( CLIDictItem *cmdDict ) inline void registerDictionary_cli( CLIDictItem *cmdDict, char* dictName )
{ {
// Make sure this max limit of dictionaries hasn't been reached // Make sure this max limit of dictionaries hasn't been reached
if ( CLIDictionariesUsed >= CLIMaxDictionaries ) if ( CLIDictionariesUsed >= CLIMaxDictionaries )
@ -268,6 +269,7 @@ inline void registerDictionary_cli( CLIDictItem *cmdDict )
} }
// Add dictionary // Add dictionary
CLIDictNames[CLIDictionariesUsed] = dictName;
CLIDict[CLIDictionariesUsed++] = cmdDict; CLIDict[CLIDictionariesUsed++] = cmdDict;
} }
@ -298,9 +300,8 @@ void cliFunc_help( char* args )
// (no alphabetical here, too much processing/memory to sort...) // (no alphabetical here, too much processing/memory to sort...)
for ( uint8_t dict = 0; dict < CLIDictionariesUsed; dict++ ) for ( uint8_t dict = 0; dict < CLIDictionariesUsed; dict++ )
{ {
print( NL "\033[1;32mCOMMAND SET\033[0m " ); // Print the name of each dictionary as a title
printInt8( dict + 1 ); dPrintStrsNL( NL, "\033[1;32m", CLIDictNames[dict], "\033[0m" );
print( NL );
// Parse each cmd/description until a null command entry is found // Parse each cmd/description until a null command entry is found
for ( uint8_t cmd = 0; CLIDict[dict][cmd].name != 0; cmd++ ) for ( uint8_t cmd = 0; CLIDict[dict][cmd].name != 0; cmd++ )

View File

@ -55,7 +55,8 @@ char CLILineBuffer[CLILineBufferMaxSize+1]; // +1 for an additional NULL
uint8_t CLILineBufferCurrent; uint8_t CLILineBufferCurrent;
// Main command dictionary // Main command dictionary
CLIDictItem *CLIDict[CLIMaxDictionaries]; CLIDictItem *CLIDict [CLIMaxDictionaries];
char* CLIDictNames[CLIMaxDictionaries];
uint8_t CLIDictionariesUsed; uint8_t CLIDictionariesUsed;
uint8_t CLILEDState; uint8_t CLILEDState;
@ -67,7 +68,7 @@ uint8_t CLIHexDebugMode;
void init_cli(); void init_cli();
void process_cli(); void process_cli();
void registerDictionary_cli( CLIDictItem *cmdDict ); void registerDictionary_cli( CLIDictItem *cmdDict, char* dictName );
void argumentIsolation_cli( char* string, char** first, char** second ); void argumentIsolation_cli( char* string, char** first, char** second );
void commandLookup_cli(); void commandLookup_cli();