00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef Pins_Waspmote_h
00025 #define Pins_Waspmote_h
00026
00027 #include <avr/pgmspace.h>
00028
00029
00030
00031 #define USB_XBEE_RX 0 // PE 0 ** 0 ** USB_XBEE_RX
00032 #define USB_XBEE_TX 1 // PE 1 ** 1 ** USB_XBEE_TX
00033 #define DIGITAL1 2 // PE 3 ** 2 ** DIGITAL1 -- PWM1 BEFORE
00034 #define DIGITAL0 3 // PE 4 ** 3 ** DIGITAL0 -- PWM2 BEFORE
00035 #define DIGITAL7 4 // PC 4 ** 4 ** DIGITAL7 -- DIG0 BEFORE
00036 #define DIGITAL8 5 // PC 5 ** 5 ** DIGITAL8 -- DIG1 BEFORE
00037 #define DIGITAL6 6 // PC 6 ** 6 ** DIGITAL6 -- DIG2 BEFORE
00038 #define DIGITAL5 7 // PC 7 ** 7 ** DIGITAL5 -- DIG3 BEFORE
00039 #define DIGITAL2 8 // PA 2 ** 8 ** DIGITAL2 -- DIG4 BEFORE
00040 #define DIGITAL4 9 // PA 3 ** 9 ** DIGITAL4 -- DIG5 BEFORE
00041 #define DIGITAL3 10 // PA 4 ** 10 ** DIGITAL3 -- DIG6 BEFORE
00042 #define DIGITAL9 11 // PD 5 ** 11 ** DIGITAL9 -- DIG7 BEFORE
00043 #define LED0 12 // PD 6 ** 12 ** LED0
00044 #define LED1 13 // PC 1 ** 13 ** LED1
00045 #define ANA0 14 // PF 1 ** 14 ** ANA0
00046 #define ANA1 15 // PF 2 ** 15 ** ANA1
00047 #define ANA2 16 // PF 3 ** 16 ** ANA2
00048 #define ANA3 17 // PF 4 ** 17 ** ANA3
00049 #define ANA4 18 // PF 5 ** 18 ** ANA4
00050 #define ANA5 19 // PF 6 ** 19 ** ANA5
00051 #define ANA6 20 // PF 7 ** 20 ** ANA6
00052 #define BAT_MONITOR 21 // PF 0 ** 21 ** BAT_MONITOR
00053 #define XBEE_PW 22 // PA 1 ** 22 ** XBEE_PW
00054 #define XBEE_SLEEP 23 // PD 7 ** 23 ** XBEE SLEEP
00055 #define SENS_PW_5V 24 // PE 5 ** 24 ** SENS_PW_5V
00056 #define BAT_MONITOR_PW 25 // PA 6 ** 25 ** BAT_MONITOR_PW
00057 #define SENS_PW_3V3 26 // PE 2 ** 26 ** SENS_PW_3v3
00058 #define MEM_PW 27 // PA 5 ** 27 ** MEM_PW
00059 #define SD_PRESENT 28 // PC 0 ** 28 ** SD_PRESENT
00060 #define SD_SS 29 // PB 0 ** 29 ** SD_SS
00061 #define SD_SCK 30 // PB 1 ** 30 ** SD_SCK
00062 #define SD_MOSI 31 // PB 2 ** 31 ** SD_MOSI
00063 #define SD_MISO 32 // PB 3 ** 32 ** SD_MISO
00064 #define SERID_PW 33 // PB 4 ** 33 ** SERID_PW
00065 #define SERID_IN 34 // PB 5 ** 34 ** SERID_IN
00066 #define GPS_PW 35 // PA 0 ** 35 ** GPS_PW
00067 #define MUX0 36 // PB 6 ** 36 ** MUX0
00068 #define MUX1 37 // PB 7 ** 37 ** MUX1
00069 #define RDY_ACC 38 // PE 6 ** 38 ** RDY_ACC
00070 #define RST_RTC 39 // PE 7 ** 39 ** RST_RTC
00071 #define I2C_SCL 40 // PD 0 ** 40 ** I2C_SCL
00072 #define I2C_SDA 41 // PD 1 ** 41 ** I2C_SDA
00073 #define GPRS_PW 42 // PC 3 ** 42 ** GPRS_PW
00074 #define MUX_RX 43 // PD 2 ** 43 ** GPS/GPRS/SER1/SER2_RX
00075 #define MUX_TX 44 // PD 3 ** 44 ** GPS/GPRS/SER1/SER2_TX
00076 #define BOOT_PIN 45 // PA 7 ** 45 ** BOOT PIN
00077 #define GPRS_PIN 46 // PC 2 ** 46 ** GPRS_PIN
00078 #define MUX_PW 47 // PD 4 ** 47 ** MUX_PW
00079 #define RTC_PW 48 // PG 2 ** 48 ** RTC_PW
00080 #define RTC_SLEEP 49 // PG 1 *** 49 ** RTC_SLEEP
00081 #define LOW_BAT_MON 50 // PG 0 ** 50 ** LOW_BAT_MON
00082
00083 #define NOT_A_PIN 0
00084 #define NOT_A_PORT 0
00085
00086 #define NOT_ON_TIMER 0
00087 #define TIMER0A 1
00088 #define TIMER0B 2
00089 #define TIMER1A 3
00090 #define TIMER1B 4
00091 #define TIMER2 5
00092 #define TIMER2A 6
00093 #define TIMER2B 7
00094 #define TIMER3A 8
00095 #define TIMER3B 9
00096 #define TIMER3C 10
00097
00098 extern const uint8_t PROGMEM port_to_mode_PGM[];
00099 extern const uint8_t PROGMEM port_to_input_PGM[];
00100 extern const uint8_t PROGMEM port_to_output_PGM[];
00101
00102 extern const uint8_t PROGMEM digital_pin_to_port_PGM[];
00103 extern const uint8_t PROGMEM digital_pin_to_bit_PGM[];
00104 extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[];
00105
00106 extern const uint8_t PROGMEM digital_pin_to_timer_PGM[];
00107
00108
00109
00110
00111
00112
00113 #define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) )
00114 #define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) )
00115 #define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) )
00116 #define analogInPinToBit(P) (P)
00117 #define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_output_PGM + (P))) )
00118 #define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_input_PGM + (P))) )
00119 #define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_mode_PGM + (P))) )
00120
00121 #endif