X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/41f4bcabc6e44b9fb71414d4c5fb41fcd2dab7ea..d3521ae609658fa00955c8fd57f69eb84ce7a7cd:/client/cmdlfviking.c?ds=sidebyside diff --git a/client/cmdlfviking.c b/client/cmdlfviking.c index 601c29f2..73a9126a 100644 --- a/client/cmdlfviking.c +++ b/client/cmdlfviking.c @@ -4,13 +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 "cmdlfviking.h" +#include "comms.h" #include "ui.h" #include "util.h" #include "graph.h" @@ -51,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) { @@ -73,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; } @@ -81,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); }