X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/68541dddc2734755f4fd306e327dffa89640ecdd..999d57c20113c76bab27fc190c5fa394f9274629:/client/cmdlf.c?ds=inline diff --git a/client/cmdlf.c b/client/cmdlf.c index 7670136f..b18cf215 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -548,10 +548,10 @@ int CmdLFfskSim(const char *Cmd) { return usage_lf_simfsk(); } - + int firstClockEdge = 0; if (dataLen == 0){ //using DemodBuffer if (clk==0 || fcHigh==0 || fcLow==0){ //manual settings must set them all - uint8_t ans = fskClocks(&fcHigh, &fcLow, &clk, 0); + uint8_t ans = fskClocks(&fcHigh, &fcLow, &clk, 0, &firstClockEdge); if (ans==0){ if (!fcHigh) fcHigh=10; if (!fcLow) fcLow=8; @@ -877,19 +877,20 @@ int CmdVchDemod(const char *Cmd) int CheckChipType(char cmdp) { uint32_t wordData = 0; - //check for em4x05/em4x69 chips first + if (offline || cmdp == '1') return 0; + save_restoreGB(1); save_restoreDB(1); - if ((!offline && (cmdp != '1')) && EM4x05Block0Test(&wordData)) { + //check for em4x05/em4x69 chips first + if (EM4x05Block0Test(&wordData)) { PrintAndLog("\nValid EM4x05/EM4x69 Chip Found\nTry lf em 4x05... commands\n"); save_restoreGB(0); save_restoreDB(0); return 1; } - //TODO check for t55xx chip... - - if ((!offline && (cmdp != '1')) && tryDetectP1(true)) { + //check for t55xx chip... + if (tryDetectP1(true)) { PrintAndLog("\nValid T55xx Chip Found\nTry lf t55xx ... commands\n"); save_restoreGB(0); save_restoreDB(0); @@ -1059,14 +1060,14 @@ int CmdLFfind(const char *Cmd) ans=CheckChipType(cmdp); //test unknown tag formats (raw mode)0 PrintAndLog("\nChecking for Unknown tags:\n"); - ans=AutoCorrelate(4000, false, false); + ans=AutoCorrelate(GraphBuffer, GraphBuffer, GraphTraceLen, 4000, false, false); if (ans > 0) PrintAndLog("Possible Auto Correlation of %d repeating samples",ans); ans=GetFskClock("",false,false); if (ans != 0) { //fsk ans=FSKrawDemod("",true); if (ans>0) { PrintAndLog("\nUnknown FSK Modulated Tag Found!"); - return CheckChipType(cmdp);; + return CheckChipType(cmdp); } } bool st = true; @@ -1074,14 +1075,14 @@ int CmdLFfind(const char *Cmd) if (ans>0) { PrintAndLog("\nUnknown ASK Modulated and Manchester encoded Tag Found!"); PrintAndLog("\nif it does not look right it could instead be ASK/Biphase - try 'data rawdemod ab'"); - return CheckChipType(cmdp);; + return CheckChipType(cmdp); } ans=CmdPSK1rawDemod(""); if (ans>0) { PrintAndLog("Possible unknown PSK1 Modulated Tag Found above!\n\nCould also be PSK2 - try 'data rawdemod p2'"); PrintAndLog("\nCould also be PSK3 - [currently not supported]"); PrintAndLog("\nCould also be NRZ - try 'data nrzrawdemod'"); - return CheckChipType(cmdp);; + return CheckChipType(cmdp); } ans = CheckChipType(cmdp); PrintAndLog("\nNo Data Found!\n");