]> git.zerfleddert.de Git - proxmark3-svn/blob - include/proxmark3.h
Initial commit for the firmware. Used the 20090306_ela version as baseline.
[proxmark3-svn] / include / proxmark3.h
1 //-----------------------------------------------------------------------------
2 // Definitions of interest to most of the software for this project.
3 // Jonathan Westhues, Mar 2006
4 //-----------------------------------------------------------------------------
5
6 #ifndef __PROXMARK3_H
7 #define __PROXMARK3_H
8
9 // Might as well have the hardware-specific defines everywhere.
10 #include <at91sam7s128.h>
11
12 #include <config_gpio.h>
13 #define LOW(x) PIO_OUTPUT_DATA_CLEAR = (1 << (x))
14 #define HIGH(x) PIO_OUTPUT_DATA_SET = (1 << (x))
15
16 #define SPI_FPGA_MODE 0
17 #define SPI_LCD_MODE 1
18
19 typedef unsigned long DWORD;
20 typedef signed long SDWORD;
21 typedef unsigned long long QWORD;
22 typedef int BOOL;
23 typedef unsigned char BYTE;
24 typedef signed char SBYTE;
25 typedef unsigned short WORD;
26 typedef signed short SWORD;
27 #define TRUE 1
28 #define FALSE 0
29
30 #include <usb_cmd.h>
31
32 #define PACKED __attribute__((__packed__))
33
34 #define USB_D_PLUS_PULLUP_ON() { \
35 PIO_OUTPUT_DATA_SET = (1<<GPIO_USB_PU); \
36 PIO_OUTPUT_ENABLE = (1<<GPIO_USB_PU); \
37 }
38 #define USB_D_PLUS_PULLUP_OFF() PIO_OUTPUT_DISABLE = (1<<GPIO_USB_PU)
39
40 #define LED_A_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_A)
41 #define LED_A_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_A)
42 #define LED_B_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_B)
43 #define LED_B_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_B)
44 #define LED_C_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_C)
45 #define LED_C_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_C)
46 #define LED_D_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_LED_D)
47 #define LED_D_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_LED_D)
48 #define RELAY_ON() PIO_OUTPUT_DATA_SET = (1<<GPIO_RELAY)
49 #define RELAY_OFF() PIO_OUTPUT_DATA_CLEAR = (1<<GPIO_RELAY)
50 #define BUTTON_PRESS() !(PIO_PIN_DATA_STATUS & (1<<GPIO_BUTTON))
51 //--------------------------------
52 // USB declarations
53
54 void UsbSendPacket(BYTE *packet, int len);
55 BOOL UsbPoll(BOOL blinkLeds);
56 void UsbStart(void);
57
58 // This function is provided by the apps/bootrom, and called from UsbPoll
59 // if data are available.
60 void UsbPacketReceived(BYTE *packet, int len);
61
62 #endif
Impressum, Datenschutz