From 13024283676d477113b2a9d5a5ccf71c50bc7bbe Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 9 Mar 2015 16:56:00 -0400 Subject: [PATCH] finish data printdemodbuffer command --- client/cmddata.c | 21 +++++++++++++++++++-- common/lfdemod.c | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index e6e4dc0a..95c7dc87 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -86,7 +86,24 @@ void printDemodBuff(void) int CmdPrintDemodBuff(const char *Cmd) { - printDemodBuff(); + char hex; + char printBuff[512]={0x00}; + uint8_t numBits = DemodBufferLen & 0xFFF0; + sscanf(Cmd, "%c", &hex); + if (hex == 'h'){ + PrintAndLog("Usage: data printdemodbuffer [x]"); + PrintAndLog("Options: "); + PrintAndLog(" h This help"); + PrintAndLog(" x output in hex (omit for binary output)"); + return 0; + } + if (hex == 'x'){ + numBits = binarraytohex(printBuff, (char *)DemodBuffer, numBits); + if (numBits==0) return 0; + PrintAndLog("DemodBuffer: %s",printBuff); + } else { + printDemodBuff(); + } return 1; } int CmdAmp(const char *Cmd) @@ -2595,7 +2612,7 @@ static command_t CommandTable[] = //{"nrzrawdemod", CmdNRZrawDemod, 1, "[clock] [invert<0|1>] [maxErr] -- Attempt to demodulate nrz tags and output binary (args optional)"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, //{"pskdetectclock",CmdDetectPSKClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"printdemodbuffer",CmdPrintDemodBuff,1, "[clock] [invert<0|1>] -- Demodulate an indala tag (PSK1) from GraphBuffer (args optional)"}, + {"printdemodbuffer",CmdPrintDemodBuff,1, "[x] -- print the data in the DemodBuffer - 'x' for hex output"}, {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Demodulate an indala tag (PSK1) from GraphBuffer (args optional)"}, //{"psk1rawdemod", CmdPSK1rawDemod, 1, "[clock] [invert<0|1>] [maxErr] -- Attempt to demodulate psk1 tags and output binary (args optional)"}, //{"psk2rawdemod", CmdPSK2rawDemod, 1, "[clock] [invert<0|1>] [maxErr] -- Attempt to demodulate psk2 tags and output binary (args optional)"}, diff --git a/common/lfdemod.c b/common/lfdemod.c index b6135fb7..a42566ad 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -1598,7 +1598,7 @@ int pskRawDemod(uint8_t dest[], size_t *size, int *clock, int *invert) *clock = DetectPSKClock(dest, *size, *clock); if (*clock==0) return -1; int avgWaveVal=0, lastAvgWaveVal=0; - //find first full wave + //find first phase shift for (i=0; i= dest[i+2]){ if (waveStart == 0) { -- 2.39.5