X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/42daa759c16328607aff6ab35ef97656ad2050da..a501c82b196b614295a6e3bf7481da84affb0d8e:/client/cmdmain.c diff --git a/client/cmdmain.c b/client/cmdmain.c index 59ab8bf5..0641f9c8 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -16,7 +16,7 @@ #include "cmdparser.h" #include "proxmark3.h" #include "data.h" -#include "usb_cmd.h" +#include "../include/usb_cmd.h" #include "ui.h" #include "cmdhf.h" #include "cmddata.h" @@ -26,6 +26,10 @@ #include "util.h" #include "cmdscript.h" +int delta125[2]; +int delta134[2]; +int deltahf[2]; +int deltaReset = 0; unsigned int current_command = CMD_UNKNOWN; //unsigned int received_command = CMD_UNKNOWN; @@ -45,17 +49,21 @@ static int cmd_tail;//Starts as 0 static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help. Use ' help' for details of the following commands:\n"}, + {"help", CmdHelp, 1, "This help. Use ' help' for details of a particular command."}, {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, - {"exit", CmdQuit, 1, "Exit program"}, - {"hf", CmdHF, 1, "{ HF commands... }"}, + {"hf", CmdHF, 1, "{ High Frequency commands... }"}, {"hw", CmdHW, 1, "{ Hardware commands... }"}, - {"lf", CmdLF, 1, "{ LF commands... }"}, - {"quit", CmdQuit, 1, "Quit program"}, - {"script", CmdScript, 1,"Run script"}, + {"lf", CmdLF, 1, "{ Low Frequency commands... }"}, + {"script", CmdScript, 1,"{ Scripting commands }"}, + {"quit", CmdQuit, 1, "Exit program"}, + {"exit", CmdQuit, 1, "Exit program"}, {NULL, NULL, 0, NULL} }; +command_t* getTopLevelCommandTable() +{ + return CommandTable; +} int CmdHelp(const char *Cmd) { CmdsHelp(CommandTable); @@ -129,9 +137,11 @@ int getCommand(UsbCommand* response) * @return true if command was returned, otherwise false */ bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) { - + + UsbCommand resp; + if (response == NULL) { - UsbCommand resp; + response = &resp; } @@ -188,10 +198,9 @@ void UsbCommandReceived(UsbCommand *UC) switch(UC->cmd) { // First check if we are handling a debug message case CMD_DEBUG_PRINT_STRING: { - char s[USB_CMD_DATA_SIZE+1]; + char s[USB_CMD_DATA_SIZE+1] = {0x00}; size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); memcpy(s,UC->d.asBytes,len); - s[len] = 0x00; PrintAndLog("#db# %s ", s); return; } break; @@ -206,13 +215,30 @@ void UsbCommandReceived(UsbCommand *UC) int vLf125, vLf134, vHf; vLf125 = UC->arg[0] & 0xffff; vLf134 = UC->arg[0] >> 16; - vHf = UC->arg[1] & 0xffff;; - peakf = UC->arg[2] & 0xffff; - peakv = UC->arg[2] >> 16; + vHf = UC->arg[1] & 0xffff;; + peakf = UC->arg[2] & 0xffff; + peakv = UC->arg[2] >> 16; + + //Reset delta trigger every 3:d time + + if ( deltaReset == 4){ + delta125[0] = vLf125; + delta134[0] = vLf134; + deltahf[0] = vHf; + } else if ( deltaReset == 2){ + delta125[1] = vLf125; + delta134[1] = vLf134; + deltahf[1] = vHf; + } + + if ( deltaReset == 0){ + + } + PrintAndLog(""); PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); - PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + PrintAndLog("# LF optimal: %5.2f V @ %9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); if (peakv<2000) PrintAndLog("# Your LF antenna is unusable."); @@ -222,7 +248,10 @@ void UsbCommandReceived(UsbCommand *UC) PrintAndLog("# Your HF antenna is unusable."); else if (vHf<5000) PrintAndLog("# Your HF antenna is marginal."); - } break; + } + + deltaReset = (deltaReset == 0) ? 4 : deltaReset>>1; + break; case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { // printf("received samples: ");