X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/c4809fd411a00e9d0ce2b7ad62dc9a19a9c7a89d..refs/pull/304/head:/client/cmddata.c diff --git a/client/cmddata.c b/client/cmddata.c index e291c924..c12c2ce6 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -68,15 +68,21 @@ void save_restoreDB(uint8_t saveOpt) static uint8_t SavedDB[MAX_DEMOD_BUF_LEN]; static size_t SavedDBlen; static bool DB_Saved = false; + static int savedDemodStartIdx = 0; + static int savedDemodClock = 0; - if (saveOpt==1) { //save + if (saveOpt == GRAPH_SAVE) { //save memcpy(SavedDB, DemodBuffer, sizeof(DemodBuffer)); SavedDBlen = DemodBufferLen; DB_Saved=true; + savedDemodStartIdx = g_DemodStartIdx; + savedDemodClock = g_DemodClock; } else if (DB_Saved) { //restore memcpy(DemodBuffer, SavedDB, sizeof(DemodBuffer)); DemodBufferLen = SavedDBlen; + g_DemodClock = savedDemodClock; + g_DemodStartIdx = savedDemodStartIdx; } return; } @@ -803,7 +809,7 @@ int FSKrawDemod(const char *Cmd, bool verbose) if (!rfLen) rfLen = 50; } int startIdx = 0; - int size = fskdemod_ext(BitStream, BitLen, rfLen, invert, fchigh, fclow, &startIdx); + int size = fskdemod(BitStream, BitLen, rfLen, invert, fchigh, fclow, &startIdx); if (size > 0) { setDemodBuf(BitStream,size,0); setClockGrid(rfLen, startIdx); @@ -1071,7 +1077,7 @@ void setClockGrid(int clk, int offset) { g_DemodClock = clk; if (g_debugMode) PrintAndLog("demodoffset %d, clk %d",offset,clk); - if (offset > clk) offset %= clk; + if (offset > clk) offset %= clk; if (offset < 0) offset += clk; if (offset > GraphTraceLen || offset < 0) return;