X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/76c7e6c36368c3fc23dc4fab1fe5852023c78fac..a501c82b196b614295a6e3bf7481da84affb0d8e:/client/cmdmain.c diff --git a/client/cmdmain.c b/client/cmdmain.c index c56aaa63..0641f9c8 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -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; @@ -47,9 +51,9 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help. Use ' help' for details of a particular command."}, {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, - {"hf", CmdHF, 1, "{ HF commands... }"}, + {"hf", CmdHF, 1, "{ High Frequency commands... }"}, {"hw", CmdHW, 1, "{ Hardware commands... }"}, - {"lf", CmdLF, 1, "{ LF commands... }"}, + {"lf", CmdLF, 1, "{ Low Frequency commands... }"}, {"script", CmdScript, 1,"{ Scripting commands }"}, {"quit", CmdQuit, 1, "Exit program"}, {"exit", CmdQuit, 1, "Exit program"}, @@ -133,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; } @@ -192,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; @@ -210,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."); @@ -226,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: ");