]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - winsrc/command.cpp
more extended help
[proxmark3-svn] / winsrc / command.cpp
index 349ede695886c17c79dad93cf893e9854efb3be0..eb4342fe28eda5e04bca94401417df0cc404df46 100644 (file)
@@ -2638,7 +2638,7 @@ static struct {
        {"scale",                       CmdScale,1,             "<int> -- Set cursor display scale"},\r
        {"setlfdivisor",                CmdSetDivisor,0,        "<19 - 255> -- Drive LF antenna at 12Mhz/(divisor+1)"},\r
        {"sri512read",          CmdSri512read,0,        "<int> -- Read contents of a SRI512 tag"},\r
-       {"sweeplf",                     CmdSweepLF,0,           "    Sweep through LF freq range and store results in buffer"},\r
+       {"sweeplf",                     CmdSweepLF,0,           "    Sweep through LF freq range, store results in buffer and show resonant frequency of antenna"},\r
        {"tibits",                      CmdTibits,0,            "    Get raw bits for TI-type LF tag"},\r
        {"tidemod",                     CmdTidemod,0,           "    Demodulate raw bits for TI-type LF tag"},\r
        {"tiread",                      CmdTiread,0,            "    Read a TI-type 134 kHz tag"},\r
@@ -2647,6 +2647,15 @@ static struct {
        {"zerocrossings",       CmdZerocrossings,1,     "    Count time between zero-crossings"},\r
 };\r
 \r
+static struct {\r
+       char *name;\r
+       char *args;\r
+       char *argshelp;\r
+       char *description;\r
+       }       CommandExtendedHelp[]= {\r
+               {"detectreader","'l'|'h'","'l' specifies LF antenna scan only, 'h' specifies HF antenna scan only.","Monitor antenna for changes in voltage. Output is in three fields: CHANGED, CURRENT, PERIOD,\nwhere CHANGED is the value just changed from, CURRENT is the current value and PERIOD is the\nnumber of program loops since the last change.\n\nThe RED LED indicates LF field detected, and the GREEN LED indicates HF field detected."},\r
+               {"sweeplf","","","Drive LF antenna at all divisor range values (19 - 255) and store the results in the output\nbuffer. Issuing 'losamples' and then 'plot' commands will display the resulting peak. 12MHz\ndivided by the peak's position plus one gives the antenna's resonant frequency. For convenience,\nthis value is also printed out by the command."},\r
+               };\r
 \r
 //-----------------------------------------------------------------------------\r
 // Entry point into our code: called whenever the user types a command and\r
@@ -2655,15 +2664,30 @@ static struct {
 void CommandReceived(char *cmd)\r
 {\r
        int i;\r
+       char line[256];\r
 \r
        PrintToScrollback("> %s", cmd);\r
 \r
-       if(strcmp(cmd, "help")==0) {\r
+       if(strcmp(cmd, "help") == 0 || strncmp(cmd,"help ",strlen("help ")) == 0) {\r
+               // check if we're doing extended help\r
+               if(strlen(cmd) > strlen("help ")) {\r
+                       cmd += strlen("help ");\r
+                       for(i = 0; i < sizeof(CommandExtendedHelp) / sizeof(CommandExtendedHelp[0]); i++) {\r
+                               if(strcmp(CommandExtendedHelp[i].name,cmd) == 0) {\r
+                                       PrintToScrollback("\nExtended help for '%s':\n", cmd);\r
+                                       PrintToScrollback("Args: %s\t- %s\n",CommandExtendedHelp[i].args,CommandExtendedHelp[i].argshelp);\r
+                                       PrintToScrollback(CommandExtendedHelp[i].description);\r
+                                       PrintToScrollback("");\r
+                                       return;\r
+                               }\r
+                       }\r
+               PrintToScrollback("No extended help available for '%s'", cmd);\r
+               return;\r
+               }\r
                if (offline) PrintToScrollback("Operating in OFFLINE mode (no device connected)");\r
                PrintToScrollback("\r\nAvailable commands:");\r
                for(i = 0; i < sizeof(CommandTable) / sizeof(CommandTable[0]); i++) {\r
                        if (offline && (CommandTable[i].offline==0)) continue;\r
-                       char line[256];\r
                        memset(line, ' ', sizeof(line));\r
                        strcpy(line+2, CommandTable[i].name);\r
                        line[strlen(line)] = ' ';\r
@@ -2671,7 +2695,7 @@ void CommandReceived(char *cmd)
                        PrintToScrollback("%s", line);\r
                }\r
                PrintToScrollback("");\r
-               PrintToScrollback("and also: help, cls");\r
+               PrintToScrollback("'help <command>' for extended help on that command\n");\r
                return;\r
        }\r
 \r
Impressum, Datenschutz