]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/data.c
FIX: strange bug in "lf em em410xwatch" , which the client crasches when it reads...
[proxmark3-svn] / client / data.c
index 1fc7408ffd84d767b4cbc256e98e5d0d24327301..184a63b61220ae06e9fea5c29b3754101d95b2fa 100644 (file)
@@ -1,25 +1,32 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// Data utilities
+//-----------------------------------------------------------------------------
+
 #include <string.h>
 #include <stdint.h>
 #include "data.h"
 #include "ui.h"
-#include "proxusb.h"
+#include "proxmark3.h"
 #include "cmdmain.h"
 
-uint8_t sample_buf[SAMPLE_BUFFER_SIZE];
-
-void GetFromBigBuf(uint8_t *dest, int bytes)
-{
-  int n = bytes/4;
-
-  if (n % 48 != 0) {
-    PrintAndLog("bad len in GetFromBigBuf");
-    return;
-  }
+uint8_t* sample_buf;
 
-  for (int i = 0; i < n; i += 12) {
-    UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {i, 0, 0}};
-    SendCommand(&c);
-    WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K);
-    memcpy(dest+(i*4), sample_buf, 48);
-  }
+void GetFromBigBuf(uint8_t *dest, int bytes, int start_index) {
+       sample_buf = dest;
+       UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {start_index, bytes, 0}};
+       clearCommandBuffer();
+       SendCommand(&c);
 }
+void GetEMLFromBigBuf(uint8_t *dest, uint32_t bytes, uint32_t start_index) {
+       sample_buf = dest;
+       UsbCommand c = {CMD_DOWNLOAD_EML_BIGBUF, {start_index, bytes, 0}};
+       clearCommandBuffer();
+       SendCommand(&c);
+}
+
Impressum, Datenschutz