X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/7669409547dcf1148a9651a7a911076a103a6691..refs/pull/301/head:/client/cmdlfpresco.c diff --git a/client/cmdlfpresco.c b/client/cmdlfpresco.c index abae165d..8ac3a71e 100644 --- a/client/cmdlfpresco.c +++ b/client/cmdlfpresco.c @@ -5,9 +5,11 @@ // the license. //----------------------------------------------------------------------------- // Low frequency Presco tag commands +// ASK/Manchester, rf/32, 128 bits (complete) //----------------------------------------------------------------------------- #include #include +#include #include "cmdlfpresco.h" #include "proxmark3.h" #include "ui.h" @@ -128,7 +130,7 @@ int CmdPrescoDemod(const char *Cmd) { return 0; } size_t size = DemodBufferLen; - //call lfdemod.c demod for Viking + //call lfdemod.c demod for presco int ans = PrescoDemod(DemodBuffer, &size); if (ans < 0) { if (g_debugMode) PrintAndLog("Error Presco_Demod %d", ans); @@ -142,8 +144,9 @@ int CmdPrescoDemod(const char *Cmd) { uint32_t cardid = raw4; PrintAndLog("Presco Tag Found: Card ID %08X", cardid); PrintAndLog("Raw: %08X%08X%08X%08X", raw1,raw2,raw3,raw4); - setDemodBuf(DemodBuffer+ans, 128, 0); - + setDemodBuf(DemodBuffer, 128, ans); + setClockGrid(g_DemodClock, g_DemodStartIdx + (ans*g_DemodClock)); + uint32_t sitecode = 0, usercode = 0, fullcode = 0; bool Q5=false; char cmd[12] = {0}; @@ -159,9 +162,7 @@ int CmdPrescoRead(const char *Cmd) { // Presco Number: 123456789 --> Sitecode 30 | usercode 8665 // read lf silently - CmdLFRead("s"); - // get samples silently - getSamples("30000",false); + lf_read(true, 10000); // demod and output Presco ID return CmdPrescoDemod(Cmd); } @@ -178,7 +179,7 @@ int CmdPrescoClone(const char *Cmd) { if (GetWiegandFromPresco(Cmd, &sitecode, &usercode, &fullcode, &Q5) == -1) return usage_lf_presco_clone(); if (Q5) - blocks[0] = T5555_MODULATION_MANCHESTER | 32<>1)<