]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlfpyramid.c
fix 'hf mf sim': access conditions to write Key B were not decoded correctly
[proxmark3-svn] / client / cmdlfpyramid.c
index 9cd4b207bbecfcef2be82b6e4d7bd06a8296c9fd..823677203a3ba9c7eeb7d89aad8d5ccb15fbcaed 100644 (file)
@@ -7,11 +7,13 @@
 // Low frequency Farpoint / Pyramid tag commands
 // FSK2a, rf/50, 128 bits (complete)
 //-----------------------------------------------------------------------------
 // Low frequency Farpoint / Pyramid tag commands
 // FSK2a, rf/50, 128 bits (complete)
 //-----------------------------------------------------------------------------
+
+#include "cmdlfpyramid.h"
+
 #include <string.h>
 #include <inttypes.h>
 #include <stdio.h>
 #include <string.h>
 #include <inttypes.h>
 #include <stdio.h>
-#include "cmdlfpyramid.h"
-#include "proxmark3.h"
+#include "comms.h"
 #include "ui.h"
 #include "util.h"
 #include "graph.h"
 #include "ui.h"
 #include "util.h"
 #include "graph.h"
@@ -96,8 +98,9 @@ int CmdFSKdemodPyramid(const char *Cmd)
        size_t size = getFromGraphBuf(BitStream);
        if (size==0) return 0;
 
        size_t size = getFromGraphBuf(BitStream);
        if (size==0) return 0;
 
+       int waveIdx=0;
        //get binary from fsk wave
        //get binary from fsk wave
-       int idx = PyramiddemodFSK(BitStream, &size);
+       int idx = PyramiddemodFSK(BitStream, &size, &waveIdx);
        if (idx < 0){
                if (g_debugMode){
                        if (idx == -5)
        if (idx < 0){
                if (g_debugMode){
                        if (idx == -5)
@@ -152,6 +155,7 @@ int CmdFSKdemodPyramid(const char *Cmd)
        uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32);
        uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32);
        setDemodBuf(BitStream,128,idx);
        uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32);
        uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32);
        setDemodBuf(BitStream,128,idx);
+       setClockGrid(50, waveIdx + (idx*50));
 
        size = removeParity(BitStream, idx+8, 8, 1, 120);
        if (size != 105){
 
        size = removeParity(BitStream, idx+8, 8, 1, 120);
        if (size != 105){
Impressum, Datenschutz