Browse Source

Adding dictionary titles.

simple
Jacob Alexander 10 years ago
parent
commit
d72bf79a26
2 changed files with 10 additions and 8 deletions
  1. 6
    5
      Debug/cli/cli.c
  2. 4
    3
      Debug/cli/cli.h

+ 6
- 5
Debug/cli/cli.c View File

@@ -35,6 +35,7 @@
// ----- Variables -----

// Basic command dictionary
char* basicCLIDictName = "General Commands";
CLIDictItem basicCLIDict[] = {
{ "cliDebug", "Enables/Disables hex output of the most recent cli input.", cliFunc_cliDebug },
{ "help", "You're looking at it :P", cliFunc_help },
@@ -67,7 +68,7 @@ inline void init_cli()

// Register first dictionary
CLIDictionariesUsed = 0;
registerDictionary_cli( basicCLIDict );
registerDictionary_cli( basicCLIDict, basicCLIDictName );

// Initialize main LED
init_errorLED();
@@ -258,7 +259,7 @@ void commandLookup_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
if ( CLIDictionariesUsed >= CLIMaxDictionaries )
@@ -268,6 +269,7 @@ inline void registerDictionary_cli( CLIDictItem *cmdDict )
}

// Add dictionary
CLIDictNames[CLIDictionariesUsed] = dictName;
CLIDict[CLIDictionariesUsed++] = cmdDict;
}

@@ -298,9 +300,8 @@ void cliFunc_help( char* args )
// (no alphabetical here, too much processing/memory to sort...)
for ( uint8_t dict = 0; dict < CLIDictionariesUsed; dict++ )
{
print( NL "\033[1;32mCOMMAND SET\033[0m " );
printInt8( dict + 1 );
print( NL );
// Print the name of each dictionary as a title
dPrintStrsNL( NL, "\033[1;32m", CLIDictNames[dict], "\033[0m" );

// Parse each cmd/description until a null command entry is found
for ( uint8_t cmd = 0; CLIDict[dict][cmd].name != 0; cmd++ )

+ 4
- 3
Debug/cli/cli.h View File

@@ -55,8 +55,9 @@ char CLILineBuffer[CLILineBufferMaxSize+1]; // +1 for an additional NULL
uint8_t CLILineBufferCurrent;

// Main command dictionary
CLIDictItem *CLIDict[CLIMaxDictionaries];
uint8_t CLIDictionariesUsed;
CLIDictItem *CLIDict [CLIMaxDictionaries];
char* CLIDictNames[CLIMaxDictionaries];
uint8_t CLIDictionariesUsed;

uint8_t CLILEDState;
uint8_t CLIHexDebugMode;
@@ -67,7 +68,7 @@ uint8_t CLIHexDebugMode;

void init_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 commandLookup_cli();