]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmddata.c
test: hf 15 sim..
[proxmark3-svn] / client / cmddata.c
index e7be98840f5459443cfb2aa2e681b9f6d332c1f9..b01b45ba02c582f9bc209f0a8feff1d3a7c936c8 100644 (file)
@@ -456,25 +456,23 @@ int CmdHpf(const char *Cmd)
 
 int CmdSamples(const char *Cmd)
 {
 
 int CmdSamples(const char *Cmd)
 {
-  int cnt = 0;
-  int n;
-  uint8_t got[40000];
-
-  n = strtol(Cmd, NULL, 0);
-  if (n == 0) n = 512;
-  if (n > sizeof(got)) n = sizeof(got);
+       uint8_t got[36440] = {0x00};
+       
+       int n = strtol(Cmd, NULL, 0);
+       if (n == 0) 
+               n = 512;
+       if (n > sizeof(got)) 
+               n = sizeof(got);
   
   
-  PrintAndLog("Reading %d samples\n", n);
-  GetFromBigBuf(got,n,0);
-  WaitForResponse(CMD_ACK,NULL);
-  for (int j = 0; j < n; j++) {
-    GraphBuffer[cnt++] = ((int)got[j]) - 128;
-  }
-  
-  PrintAndLog("Done!\n");
-  GraphTraceLen = n;
-  RepaintGraphWindow();
-  return 0;
+       PrintAndLog("Reading %d samples from device memory\n", n);
+       GetFromBigBuf(got,n,3560);
+       WaitForResponse(CMD_ACK,NULL);
+       for (int j = 0; j < n; ++j) {
+               GraphBuffer[j] = ((int)got[j]) - 128;
+       }
+       GraphTraceLen = n;
+       RepaintGraphWindow();
+       return 0;
 }
 
 int CmdLoad(const char *Cmd)
 }
 
 int CmdLoad(const char *Cmd)
@@ -554,7 +552,7 @@ int CmdManchesterDemod(const char *Cmd)
 
   /* But it does not work if compiling on WIndows: therefore we just allocate a */
   /* large array */
 
   /* But it does not work if compiling on WIndows: therefore we just allocate a */
   /* large array */
-  uint8_t BitStream[MAX_GRAPH_TRACE_LEN];
+  uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0x00};
 
   /* Detect high and lows */
   for (i = 0; i < GraphTraceLen; i++)
 
   /* Detect high and lows */
   for (i = 0; i < GraphTraceLen; i++)
@@ -566,8 +564,7 @@ int CmdManchesterDemod(const char *Cmd)
   }
 
   /* Get our clock */
   }
 
   /* Get our clock */
-  clock = GetClock(Cmd, high, 1);
-
+  clock = GetClock(Cmd, high, 1); 
   int tolerance = clock/4;
 
   /* Detect first transition */
   int tolerance = clock/4;
 
   /* Detect first transition */
@@ -585,8 +582,6 @@ int CmdManchesterDemod(const char *Cmd)
       break;
     }
   }
       break;
     }
   }
-
-  PrintAndLog("Clock:  %d", clock); 
   
   /* If we're not working with 1/0s, demod based off clock */
   if (high != 1)
   
   /* If we're not working with 1/0s, demod based off clock */
   if (high != 1)
@@ -684,7 +679,7 @@ int CmdManchesterDemod(const char *Cmd)
       // We cannot end up in this state, this means we are unsynchronized,
       // move up 1 bit:
       i++;
       // We cannot end up in this state, this means we are unsynchronized,
       // move up 1 bit:
       i++;
-        warnings++;
+      warnings++;
       PrintAndLog("Unsynchronized, resync...");
       PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)");
 
       PrintAndLog("Unsynchronized, resync...");
       PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)");
 
@@ -725,21 +720,22 @@ int CmdManchesterDemod(const char *Cmd)
 int CmdManchesterMod(const char *Cmd)
 {
   int i, j;
 int CmdManchesterMod(const char *Cmd)
 {
   int i, j;
-  int clock;
   int bit, lastbit, wave;
   int bit, lastbit, wave;
-
-  /* Get our clock */
-  clock = GetClock(Cmd, 0, 1);
-
+  int clock = GetClock(Cmd, 0, 1);
+  int clock1 = GetT55x7Clock( GraphBuffer, GraphTraceLen, 0 );
+  PrintAndLog("MAN MOD CLOCKS:  %d  ice %d", clock,clock1);
+  
+  int half = (int)(clock/2);
+  
   wave = 0;
   lastbit = 1;
   for (i = 0; i < (int)(GraphTraceLen / clock); i++)
   {
     bit = GraphBuffer[i * clock] ^ 1;
 
   wave = 0;
   lastbit = 1;
   for (i = 0; i < (int)(GraphTraceLen / clock); i++)
   {
     bit = GraphBuffer[i * clock] ^ 1;
 
-    for (j = 0; j < (int)(clock/2); j++)
+    for (j = 0; j < half; ++j)
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave;
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave;
-    for (j = (int)(clock/2); j < clock; j++)
+    for (j = half; j < clock; ++j)
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1;
 
     /* Keep track of how we start our wave and if we changed or not this time */
       GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1;
 
     /* Keep track of how we start our wave and if we changed or not this time */
Impressum, Datenschutz