X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/8d183c53b6f6d65593c06d4d40a0c5641798aaf9..349eabe567c5c66bc95279abfd17f203f2ad697a:/client/cmddata.c diff --git a/client/cmddata.c b/client/cmddata.c index 71ef6752..6c2c7841 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -1,8 +1,19 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2010 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Data and Graph commands +//----------------------------------------------------------------------------- + #include #include #include #include -#include "proxusb.h" +//#include "proxusb.h" +#include "proxmark3.h" #include "data.h" #include "ui.h" #include "graph.h" @@ -148,7 +159,7 @@ int CmdBitsamples(const char *Cmd) for (int i = 0; i < n; i += 12) { UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {i, 0, 0}}; SendCommand(&c); - WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K); + WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K, NULL); for (int j = 0; j < 48; j++) { for (int k = 0; k < 8; k++) { @@ -378,6 +389,8 @@ int CmdFSKdemod(const char *Cmd) int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); + PlotGridXdefault= PlotGridX; + PlotGridYdefault= PlotGridY; RepaintGraphWindow(); return 0; } @@ -406,7 +419,7 @@ int CmdHexsamples(const char *Cmd) for (int i = offset; i < n+offset; i += 12) { UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {i, 0, 0}}; SendCommand(&c); - WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K); + WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K, NULL); for (int j = 0; j < 48; j += 8) { PrintAndLog("%02x %02x %02x %02x %02x %02x %02x %02x", sample_buf[j+0], @@ -463,7 +476,7 @@ int CmdSamples(const char *Cmd) for (int i = 0; i < n; i += 12) { UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {i, 0, 0}}; SendCommand(&c); - WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K); + WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K, NULL); for (int j = 0; j < 48; j++) { GraphBuffer[cnt++] = ((int)sample_buf[j]) - 128; } @@ -524,7 +537,7 @@ int CmdManchesterDemod(const char *Cmd) int i, j, invert= 0; int bit; int clock; - int lastval; + int lastval = 0; int low = 0; int high = 0; int hithigh, hitlow, first; @@ -538,6 +551,7 @@ int CmdManchesterDemod(const char *Cmd) { PrintAndLog("Inverting output"); invert = 1; + ++Cmd; do ++Cmd; while(*Cmd == ' '); // in case a 2nd argument was given @@ -550,7 +564,7 @@ int CmdManchesterDemod(const char *Cmd) /* But it does not work if compiling on WIndows: therefore we just allocate a */ /* large array */ - int BitStream[MAX_GRAPH_TRACE_LEN]; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]; /* Detect high and lows */ for (i = 0; i < GraphTraceLen; i++) @@ -858,16 +872,16 @@ static command_t CommandTable[] = {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, - {"samples", CmdSamples, 0, "[128 - 16000] -- Get raw samples for graph window"}, {"load", CmdLoad, 1, " -- Load trace (to graph window"}, {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, - {"plot", CmdPlot, 1, "Show graph window"}, + {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"samples", CmdSamples, 0, "[128 - 16000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, - {"threshold", CmdThreshold, 1, "Maximize/minimize every value in the graph window depending on threshold"}, + {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {NULL, NULL, 0, NULL} };