X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/d66d48434751ea6d2f593a213f29d2282485ecde..f7048dc8a930d5d1fbbc30a3caaa030a85564fdc:/client/cmddata.c diff --git a/client/cmddata.c b/client/cmddata.c index 0bd8a7a9..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) @@ -520,6 +537,7 @@ int CmdBiphaseDecodeRaw(const char *Cmd) PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); printBitStream(BitStream, size); PrintAndLog("\nif bitstream does not look right try offset=1"); + if (offset == 1) setDemodBuf(DemodBuffer,DemodBufferLen-1,1); //remove first bit from raw demod return 1; } @@ -534,7 +552,7 @@ void setBiphaseDemodBuf(uint8_t *BitStream, size_t size) return; } for (size_t idx=0; idx] [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)"},