-#ifndef LFSAMPLING_H
-#define LFSAMPLING_H
+#ifndef __LFSAMPLING_H
+#define __LFSAMPLING_H
+
+#include "proxmark3.h"
+#include "apps.h"
+#include "util.h"
+#include "string.h"
+#include "usb_cdc.h" // for usb_poll_validate_length
+#include "ticks.h" // for StartTicks
+
+typedef struct BitstreamOut BitstreamOut;
/**
-* acquisition of T55x7 LF signal. Similart to other LF, but adjusted with @marshmellows thresholds
+* acquisition of Cotag LF signal. Similar to other LF, since the Cotag has such long datarate RF/384
+* and is Manchester?, we directly gather the manchester data into bigbuff
+**/
+void doCotagAcquisition(size_t sample_size);
+uint32_t doCotagAcquisitionManchester(void);
+
+/**
+* acquisition of T55x7 LF signal. Similar to other LF, but adjusted with @marshmellows thresholds
* the data is collected in BigBuf.
**/
-void doT55x7Acquisition(void);
+void doT55x7Acquisition(size_t sample_size);
/**
* Initializes the FPGA for reader-mode (field on), and acquires the samples.
uint32_t SnoopLF();
+// adds sample size to default options
+uint32_t DoPartialAcquisition(int trigger_threshold, bool silent, int sample_size);
+
/**
* @brief Does sample acquisition, ignoring the config values set in the sample_config.
* This method is typically used by tag-specific readers who just wants to read the samples
**/
void LFSetupFPGAForADC(int divisor, bool lf_field);
-
/**
* Called from the USB-handler to set the sampling configuration
* The sampling config is used for std reading and snooping.
void printConfig();
-#endif // LFSAMPLING_H
+#endif // __LFSAMPLING_H