X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/fb25b48308752a7ea8f49085956536d2fc2ff5d4..aae8787c039b0f8c87a34877c92297e8b7a89914:/armsrc/apps.h

diff --git a/armsrc/apps.h b/armsrc/apps.h
index 1dc22e51..6f146f78 100644
--- a/armsrc/apps.h
+++ b/armsrc/apps.h
@@ -7,60 +7,78 @@
 #ifndef __APPS_H
 #define __APPS_H
 
-/// appmain.c
+// The large multi-purpose buffer, typically used to hold A/D samples,
+// maybe processed in some way.
+DWORD BigBuf[12000];
+
+/// appmain.h
+void ReadMem(int addr);
 void AppMain(void);
+void SamyRun(void);
 void DbpIntegers(int a, int b, int c);
 void DbpString(char *str);
-void SpinDelay(int ms);
 void ToSendStuffBit(int b);
 void ToSendReset(void);
+void ListenReaderField(int limit);
+void AcquireRawAdcSamples125k(BOOL at134khz);
+void DoAcquisition125k(BOOL at134khz);
 extern int ToSendMax;
 extern BYTE ToSend[];
 extern DWORD BigBuf[];
 
-/// fpga.c
+/// fpga.h
 void FpgaSendCommand(WORD cmd, WORD v);
 void FpgaWriteConfWord(BYTE v);
 void FpgaDownloadAndGo(void);
+void FpgaGatherVersion(char *dst, int len);
 void FpgaSetupSsc(void);
 void SetupSpi(int mode);
 void FpgaSetupSscDma(BYTE *buf, int len);
 void SetAdcMuxFor(int whichGpio);
 
 // Definitions for the FPGA commands.
-#define FPGA_CMD_SET_CONFREG				(1<<12)
-#define FPGA_CMD_SET_DIVISOR				(2<<12)
+#define FPGA_CMD_SET_CONFREG								(1<<12)
+#define FPGA_CMD_SET_DIVISOR								(2<<12)
 // Definitions for the FPGA configuration word.
-#define FPGA_MAJOR_MODE_LF_READER			(0<<5)
-#define FPGA_MAJOR_MODE_LF_SIMULATOR		(1<<5)
-#define FPGA_MAJOR_MODE_HF_READER_TX		(2<<5)
+#define FPGA_MAJOR_MODE_LF_READER						(0<<5)
+#define FPGA_MAJOR_MODE_LF_SIMULATOR				(1<<5)
+#define FPGA_MAJOR_MODE_HF_READER_TX				(2<<5)
 #define FPGA_MAJOR_MODE_HF_READER_RX_XCORR	(3<<5)
-#define FPGA_MAJOR_MODE_HF_SIMULATOR		(4<<5)
-#define FPGA_MAJOR_MODE_HF_ISO14443A		(5<<5)
-#define FPGA_MAJOR_MODE_UNUSED				(6<<5)
-#define FPGA_MAJOR_MODE_OFF					(7<<5)
-// Options for the LF reader
-#define FPGA_LF_READER_USE_125_KHZ			(1<<3)
-#define FPGA_LF_READER_USE_134_KHZ			(0<<3)
+#define FPGA_MAJOR_MODE_HF_SIMULATOR				(4<<5)
+#define FPGA_MAJOR_MODE_HF_ISO14443A				(5<<5)
+#define FPGA_MAJOR_MODE_LF_PASSTHRU					(6<<5)
+#define FPGA_MAJOR_MODE_OFF									(7<<5)
 // Options for the HF reader, tx to tag
-#define FPGA_HF_READER_TX_SHALLOW_MOD		(1<<0)
+#define FPGA_HF_READER_TX_SHALLOW_MOD				(1<<0)
 // Options for the HF reader, correlating against rx from tag
-#define FPGA_HF_READER_RX_XCORR_848_KHZ		(1<<0)
-#define FPGA_HF_READER_RX_XCORR_SNOOP		(1<<1)
+#define FPGA_HF_READER_RX_XCORR_848_KHZ			(1<<0)
+#define FPGA_HF_READER_RX_XCORR_SNOOP				(1<<1)
 // Options for the HF simulated tag, how to modulate
-#define FPGA_HF_SIMULATOR_NO_MODULATION		(0<<0)
-#define FPGA_HF_SIMULATOR_MODULATE_BPSK		(1<<0)
+#define FPGA_HF_SIMULATOR_NO_MODULATION			(0<<0)
+#define FPGA_HF_SIMULATOR_MODULATE_BPSK			(1<<0)
 // Options for ISO14443A
-#define FPGA_HF_ISO14443A_SNIFFER			(0<<0)
-#define FPGA_HF_ISO14443A_TAGSIM_LISTEN		(1<<0)
-#define FPGA_HF_ISO14443A_TAGSIM_MOD		(2<<0)
-#define FPGA_HF_ISO14443A_READER_LISTEN		(3<<0)
-#define FPGA_HF_ISO14443A_READER_MOD		(4<<0)
+#define FPGA_HF_ISO14443A_SNIFFER						(0<<0)
+#define FPGA_HF_ISO14443A_TAGSIM_LISTEN			(1<<0)
+#define FPGA_HF_ISO14443A_TAGSIM_MOD				(2<<0)
+#define FPGA_HF_ISO14443A_READER_LISTEN			(3<<0)
+#define FPGA_HF_ISO14443A_READER_MOD				(4<<0)
+
+/// lfops.h
+void AcquireRawAdcSamples125k(BOOL at134khz);
+void DoAcquisition125k(BOOL at134khz);
+void ModThenAcquireRawAdcSamples125k(int delay_off,int period_0,int period_1,BYTE *command);
+void ReadTItag();
+void WriteTItag(DWORD idhi, DWORD idlo, WORD crc);
+void AcquireTiType(void);
+void AcquireRawBitsTI(void);
+void SimulateTagLowFrequency(int period, int ledcontrol);
+void CmdHIDsimTAG(int hi, int lo, int ledcontrol);
+void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol);
 
 /// iso14443.h
 void SimulateIso14443Tag(void);
 void AcquireRawAdcSamplesIso14443(DWORD parameter);
-void ReadSRI512Iso14443(DWORD parameter);
+void ReadSRI512Iso14443(DWORD parameter);
 void SnoopIso14443(void);
 
 /// iso14443a.h
@@ -74,9 +92,26 @@ void ReaderIso15693(DWORD parameter);	// Simulate an ISO15693 reader - greg
 void SimTagIso15693(DWORD parameter);	// simulate an ISO15693 tag - greg
 
 /// util.h
+#define LED_RED 1
+#define LED_ORANGE 2
+#define LED_GREEN 4
+#define LED_RED2 8
+#define BUTTON_HOLD 1
+#define BUTTON_NO_CLICK 0
+#define BUTTON_SINGLE_CLICK -1
+#define BUTTON_DOUBLE_CLICK -2
+#define BUTTON_ERROR -99
 int strlen(char *str);
 void *memcpy(void *dest, const void *src, int len);
 void *memset(void *dest, int c, int len);
 int memcmp(const void *av, const void *bv, int len);
+char *strncat(char *dest, const char *src, unsigned int n);
+void SpinDelay(int ms);
+void SpinDelayUs(int us);
+void LED(int led, int ms);
+void LEDsoff();
+int BUTTON_CLICKED(int ms);
+int BUTTON_HELD(int ms);
+void FormatVersionInformation(char *dst, int len, const char *prefix, void *version_information);
 
 #endif