#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];
+uint8_t* sample_buf;
-void GetFromBigBuf(uint8_t *dest, int bytes)
+void GetFromBigBuf(uint8_t *dest, int bytes, int start_index)
{
- int n = bytes/4;
-
- if (n % 48 != 0) {
- PrintAndLog("bad len in GetFromBigBuf");
- return;
- }
-
- 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);
- }
+ sample_buf = dest;
+ UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {start_index, bytes, 0}};
+ SendCommand(&c);
}