X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/275111f6ff2071a6ffb87f77c3a65730c6ec3d02..dc3e2acf33a1f62b530d3a199073c1b9bfebf9b5:/client/cmdlfviking.c diff --git a/client/cmdlfviking.c b/client/cmdlfviking.c index edbc3500..73a9126a 100644 --- a/client/cmdlfviking.c +++ b/client/cmdlfviking.c @@ -4,12 +4,16 @@ // 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 "cmdlfviking.h" + #include #include #include -#include "proxmark3.h" +#include "comms.h" #include "ui.h" #include "util.h" #include "graph.h" @@ -50,7 +54,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 +75,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 +84,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); }