ADD: started with adding a "LS" command that lists the commands without the help text printed. To give easy clean list.

This commit is contained in:
iceman1001 2015-07-22 11:19:15 +02:00
commit f445df401e
5 changed files with 26 additions and 3 deletions

View file

@ -1007,7 +1007,7 @@ void iso14443b_setup() {
LED_D_ON(); LED_D_ON();
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX | FPGA_HF_READER_TX_SHALLOW_MOD); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX | FPGA_HF_READER_TX_SHALLOW_MOD);
SpinDelay(100); //SpinDelay(100);
// Start the timer // Start the timer
//StartCountSspClk(); //StartCountSspClk();

View file

@ -225,7 +225,10 @@ void annotateIso7816(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize){
} }
// R-block (ack) // R-block (ack)
else if ( ((cmd[0] & 0xD0) == 0x80) && ( cmdsize > 2) ) { else if ( ((cmd[0] & 0xD0) == 0x80) && ( cmdsize > 2) ) {
snprintf(exp, size, "R-block"); if ( (cmd[0] & 0x10) == 0 )
snprintf(exp, size, "R-block ACK");
else
snprintf(exp, size, "R-block NACK");
} }
// I-block // I-block
else { else {

View file

@ -33,6 +33,7 @@ unsigned int current_command = CMD_UNKNOWN;
static int CmdHelp(const char *Cmd); static int CmdHelp(const char *Cmd);
static int CmdQuit(const char *Cmd); static int CmdQuit(const char *Cmd);
static int CmdRev(const char *Cmd); static int CmdRev(const char *Cmd);
static int CmdLS(const char *Cmd);
//For storing command that are received from the device //For storing command that are received from the device
static UsbCommand cmdBuffer[CMD_BUFFER_SIZE]; static UsbCommand cmdBuffer[CMD_BUFFER_SIZE];
@ -44,11 +45,12 @@ static int cmd_tail;//Starts as 0
static command_t CommandTable[] = static command_t CommandTable[] =
{ {
{"help", CmdHelp, 1, "This help. Use '<command> help' for details of a particular command."}, {"help", CmdHelp, 1, "This help. Use '<command> help' for details of a particular command."},
{"ls", CmdLS, 1, "list commands"},
{"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"},
{"hf", CmdHF, 1, "{ High Frequency commands... }"}, {"hf", CmdHF, 1, "{ High Frequency commands... }"},
{"hw", CmdHW, 1, "{ Hardware commands... }"}, {"hw", CmdHW, 1, "{ Hardware commands... }"},
{"lf", CmdLF, 1, "{ Low Frequency commands... }"}, {"lf", CmdLF, 1, "{ Low Frequency commands... }"},
{"reveng",CmdRev, 1, "Crc calculations from the software reveng1-30"}, {"reveng", CmdRev, 1, "Crc calculations from the software reveng 1.30"},
{"script", CmdScript, 1, "{ Scripting commands }"}, {"script", CmdScript, 1, "{ Scripting commands }"},
{"quit", CmdQuit, 1, "Exit program"}, {"quit", CmdQuit, 1, "Exit program"},
{"exit", CmdQuit, 1, "Exit program"}, {"exit", CmdQuit, 1, "Exit program"},
@ -64,6 +66,10 @@ int CmdHelp(const char *Cmd)
CmdsHelp(CommandTable); CmdsHelp(CommandTable);
return 0; return 0;
} }
int CmdLS(const char *Cmd){
CmdsLS(CommandTable);
return 0;
}
int CmdQuit(const char *Cmd) int CmdQuit(const char *Cmd)
{ {

View file

@ -28,6 +28,18 @@ void CmdsHelp(const command_t Commands[])
} }
} }
void CmdsLS(const command_t Commands[])
{
if (Commands[0].Name == NULL) return;
int i = 0;
while (Commands[i].Name)
{
if (!offline || Commands[i].Offline)
PrintAndLog("%-16s", Commands[i].Name);
++i;
}
}
void CmdsParse(const command_t Commands[], const char *Cmd) void CmdsParse(const command_t Commands[], const char *Cmd)
{ {
if(strcmp( Cmd, "XX_internal_command_dump_XX") == 0) if(strcmp( Cmd, "XX_internal_command_dump_XX") == 0)

View file

@ -23,6 +23,8 @@ typedef struct command_s
// Print help for each command in the command array // Print help for each command in the command array
void CmdsHelp(const command_t Commands[]); void CmdsHelp(const command_t Commands[]);
// Print each command in the command array without help
void CmdsLS(const command_t Commands[]);
// Parse a command line // Parse a command line
void CmdsParse(const command_t Commands[], const char *Cmd); void CmdsParse(const command_t Commands[], const char *Cmd);
void dumpCommandsRecursive(const command_t cmds[], int markdown); void dumpCommandsRecursive(const command_t cmds[], int markdown);