X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/f2fc0a9c4df18f9650c30320308a95b6a948e16d..fe346768b35409677b6c7f40a6f2a6768cf54ac3:/client/cmdlfviking.c diff --git a/client/cmdlfviking.c b/client/cmdlfviking.c index edbc3500..779156c8 100644 --- a/client/cmdlfviking.c +++ b/client/cmdlfviking.c @@ -4,12 +4,14 @@ // at your option, any later version. See the LICENSE.txt file for the text of // the license. //----------------------------------------------------------------------------- -// Low frequency Viking tag commands +// Low frequency Viking tag commands (AKA FDI Matalec Transit) +// ASK/Manchester, RF/32, 64 bits (complete) //----------------------------------------------------------------------------- #include #include #include #include "proxmark3.h" +#include "cmdlfviking.h" #include "ui.h" #include "util.h" #include "graph.h" @@ -50,7 +52,6 @@ uint64_t getVikingBits(uint32_t id) { return ((uint64_t)0xF2 << 56) | ((uint64_t)id << 8) | checksum; } -//could be moved to a viking file //by marshmellow //see ASKDemod for what args are accepted int CmdVikingDemod(const char *Cmd) { @@ -72,7 +73,8 @@ int CmdVikingDemod(const char *Cmd) { uint8_t checksum = bytebits_to_byte(DemodBuffer+ans+32+24, 8); PrintAndLog("Viking Tag Found: Card ID %08X, Checksum: %02X", cardid, (unsigned int) checksum); PrintAndLog("Raw: %08X%08X", raw1,raw2); - setDemodBuf(DemodBuffer+ans, 64, 0); + setDemodBuf(DemodBuffer, 64, ans); + setClockGrid(g_DemodClock, g_DemodStartIdx + (ans*g_DemodClock)); return 1; } @@ -80,9 +82,7 @@ int CmdVikingDemod(const char *Cmd) { //see ASKDemod for what args are accepted int CmdVikingRead(const char *Cmd) { // read lf silently - CmdLFRead("s"); - // get samples silently - getSamples("10000",false); + lf_read(true, 10000); // demod and output viking ID return CmdVikingDemod(Cmd); }