]> git.donarmstrong.com Git - kiibohd-controller.git/commitdiff
Adding dictionary titles.
authorJacob Alexander <haata@kiibohd.com>
Fri, 24 Jan 2014 09:56:44 +0000 (01:56 -0800)
committerJacob Alexander <haata@kiibohd.com>
Sat, 22 Mar 2014 21:13:44 +0000 (14:13 -0700)
Debug/cli/cli.c
Debug/cli/cli.h

index 7b38a436adab88f03d056ad17defa8a69bf5247b..ba3bfc01334525c1de7aec0ec6b2e6ed806c1cb1 100644 (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++ )
index b4ce72ad11800fd50ff625a396947868ddefe0ab..0a2080308ebbc1962a06b47301b123755bcb4cc5 100644 (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();