]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/apps.h
Oops. Fix grid lock when zoomed in or out.
[proxmark3-svn] / armsrc / apps.h
index f2be79044b77d041c1b95076929aa21fdd5050cc..5094271acb2e702e1007e92d66627c76036e332a 100644 (file)
-//-----------------------------------------------------------------------------\r
-// Definitions internal to the app source.\r
-// Jonathan Westhues, Aug 2005\r
-// Added ISO14443-A support by Gerhard de Koning Gans, April 2008\r
-//-----------------------------------------------------------------------------\r
-\r
-#ifndef __APPS_H\r
-#define __APPS_H\r
-\r
-/// appmain.c\r
-void AppMain(void);\r
-void DbpIntegers(int a, int b, int c);\r
-void DbpString(char *str);\r
-void SpinDelay(int ms);\r
-void SpinDelayUs(int us);\r
-void ToSendStuffBit(int b);\r
-void ToSendReset(void);\r
+//-----------------------------------------------------------------------------
+// Jonathan Westhues, Aug 2005
+// Gerhard de Koning Gans, April 2008, May 2011
+//
+// 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.
+//-----------------------------------------------------------------------------
+// Definitions internal to the app source.
+//-----------------------------------------------------------------------------
+
+#ifndef __APPS_H
+#define __APPS_H
+
+#include <stdint.h>
+#include <stddef.h>
+typedef unsigned char byte_t;
+
+// The large multi-purpose buffer, typically used to hold A/D samples,
+// maybe processed in some way.
+uint32_t BigBuf[8000];
+
+// This may be used (sparingly) to declare a function to be copied to
+// and executed from RAM
+#define RAMFUNC __attribute((long_call, section(".ramfunc")))
+
+/// appmain.h
+void ReadMem(int addr);
+void __attribute__((noreturn)) AppMain(void);
+void SamyRun(void);
+//void DbpIntegers(int a, int b, int c);
+void DbpString(char *str);
+void Dbprintf(const char *fmt, ...);
+void Dbhexdump(int len, uint8_t *d);
+
+int AvgAdc(int ch);
+
+void ToSendStuffBit(int b);
+void ToSendReset(void);
 void ListenReaderField(int limit);
-void AcquireRawAdcSamples125k(BOOL at134khz);
-void DoAcquisition125k(BOOL at134khz);
-extern int ToSendMax;\r
-extern BYTE ToSend[];\r
-extern DWORD BigBuf[];\r
-\r
-/// fpga.c\r
-void FpgaSendCommand(WORD cmd, WORD v);\r
-void FpgaWriteConfWord(BYTE v);\r
-void FpgaDownloadAndGo(void);\r
-void FpgaSetupSsc(void);\r
-void SetupSpi(int mode);\r
-void FpgaSetupSscDma(BYTE *buf, int len);\r
-void SetAdcMuxFor(int whichGpio);\r
-\r
-// Definitions for the FPGA commands.\r
-#define FPGA_CMD_SET_CONFREG                           (1<<12)\r
-#define FPGA_CMD_SET_DIVISOR                           (2<<12)\r
-// Definitions for the FPGA configuration word.\r
-#define FPGA_MAJOR_MODE_LF_READER                      (0<<5)\r
-#define FPGA_MAJOR_MODE_LF_SIMULATOR           (1<<5)\r
-#define FPGA_MAJOR_MODE_HF_READER_TX           (2<<5)\r
-#define FPGA_MAJOR_MODE_HF_READER_RX_XCORR     (3<<5)\r
-#define FPGA_MAJOR_MODE_HF_SIMULATOR           (4<<5)\r
-#define FPGA_MAJOR_MODE_HF_ISO14443A           (5<<5)\r
-#define FPGA_MAJOR_MODE_UNUSED                         (6<<5)\r
-#define FPGA_MAJOR_MODE_OFF                                    (7<<5)\r
-// Options for the LF reader\r
-#define FPGA_LF_READER_USE_125_KHZ                     (1<<3)\r
-#define FPGA_LF_READER_USE_134_KHZ                     (0<<3)\r
-// Options for the HF reader, tx to tag\r
-#define FPGA_HF_READER_TX_SHALLOW_MOD          (1<<0)\r
-// Options for the HF reader, correlating against rx from tag\r
-#define FPGA_HF_READER_RX_XCORR_848_KHZ                (1<<0)\r
-#define FPGA_HF_READER_RX_XCORR_SNOOP          (1<<1)\r
-// Options for the HF simulated tag, how to modulate\r
-#define FPGA_HF_SIMULATOR_NO_MODULATION                (0<<0)\r
-#define FPGA_HF_SIMULATOR_MODULATE_BPSK                (1<<0)\r
-// Options for ISO14443A\r
-#define FPGA_HF_ISO14443A_SNIFFER                      (0<<0)\r
-#define FPGA_HF_ISO14443A_TAGSIM_LISTEN                (1<<0)\r
-#define FPGA_HF_ISO14443A_TAGSIM_MOD           (2<<0)\r
-#define FPGA_HF_ISO14443A_READER_LISTEN                (3<<0)\r
-#define FPGA_HF_ISO14443A_READER_MOD           (4<<0)\r
-\r
-/// iso14443.h\r
-void SimulateIso14443Tag(void);\r
-void AcquireRawAdcSamplesIso14443(DWORD parameter);\r
-void ReadSRI512Iso14443(DWORD parameter);
-void SnoopIso14443(void);\r
-\r
-/// iso14443a.h\r
-void SnoopIso14443a(void);\r
-void SimulateIso14443aTag(int tagType, int TagUid);    // ## simulate iso14443a tag\r
-void ReaderIso14443a(DWORD parameter);\r
-\r
-/// iso15693.h\r
-void AcquireRawAdcSamplesIso15693(void);\r
-void ReaderIso15693(DWORD parameter);  // Simulate an ISO15693 reader - greg\r
-void SimTagIso15693(DWORD parameter);  // simulate an ISO15693 tag - greg\r
-\r
-/// util.h\r
-int strlen(char *str);\r
-void *memcpy(void *dest, const void *src, int len);\r
-void *memset(void *dest, int c, int len);\r
-int memcmp(const void *av, const void *bv, int len);\r
-\r
-#endif\r
+void AcquireRawAdcSamples125k(int at134khz);
+void DoAcquisition125k(void);
+extern int ToSendMax;
+extern uint8_t ToSend[];
+extern uint32_t BigBuf[];
+
+/// fpga.h
+void FpgaSendCommand(uint16_t cmd, uint16_t v);
+void FpgaWriteConfWord(uint8_t v);
+void FpgaDownloadAndGo(void);
+void FpgaGatherVersion(char *dst, int len);
+void FpgaSetupSsc(void);
+void SetupSpi(int mode);
+void FpgaSetupSscDma(uint8_t *buf, int len);
+void SetAdcMuxFor(uint32_t whichGpio);
+
+// Definitions for the FPGA commands.
+#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_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_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)
+// 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_QUARTER_FREQ                   (1<<2)
+// 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_MODULATE_212K                                (2<<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)
+
+/// lfops.h
+void AcquireRawAdcSamples125k(int at134khz);
+void ModThenAcquireRawAdcSamples125k(int delay_off,int period_0,int period_1,uint8_t *command);
+void ReadTItag(void);
+void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc);
+void AcquireTiType(void);
+void AcquireRawBitsTI(void);
+void SimulateTagLowFrequency(int period, int gap, int ledcontrol);
+void CmdHIDsimTAG(int hi, int lo, int ledcontrol);
+void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol);
+void SimulateTagLowFrequencyBidir(int divisor, int max_bitlen);
+void CopyHIDtoT5567(int hi, int lo); // Clone an HID card to T5557/T5567
+
+
+/// iso14443.h
+void SimulateIso14443Tag(void);
+void AcquireRawAdcSamplesIso14443(uint32_t parameter);
+void ReadSRI512Iso14443(uint32_t parameter);
+void ReadSRIX4KIso14443(uint32_t parameter);
+void ReadSTMemoryIso14443(uint32_t parameter,uint32_t dwLast);
+void RAMFUNC SnoopIso14443(void);
+
+/// iso14443a.h
+void RAMFUNC SnoopIso14443a(void);
+void SimulateIso14443aTag(int tagType, int TagUid);    // ## simulate iso14443a tag
+void ReaderIso14443a(UsbCommand * c, UsbCommand * ack);
+
+// mifarecmd.h
+void ReaderMifare(uint32_t parameter);
+void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *data);
+void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain);
+void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain);
+void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain);
+void Mifare1ksim(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain);
+void MifareSetDbgLvl(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+void MifareEMemClr(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+void MifareEMemSet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain);
+
+/// iso15693.h
+void RecordRawAdcSamplesIso15693(void);
+void AcquireRawAdcSamplesIso15693(void);
+void ReaderIso15693(uint32_t parameter);       // Simulate an ISO15693 reader - greg
+void SimTagIso15693(uint32_t parameter);       // simulate an ISO15693 tag - greg
+void BruteforceIso15693Afi(uint32_t speed); // find an AFI of a tag - atrox
+void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]); // send arbitrary commands from CLI - atrox 
+void SetDebugIso15693(uint32_t flag);
+
+/// iclass.h
+void RAMFUNC SnoopIClass(void);
+
+/// util.h
+
+#endif
Impressum, Datenschutz