161 lines
4.1 KiB
C
161 lines
4.1 KiB
C
#ifndef known_16bit_timers_header_
|
|
#define known_16bit_timers_header_
|
|
|
|
// Wiring-S
|
|
//
|
|
#if defined(__AVR_ATmega644P__) && defined(WIRING)
|
|
#define TIMER1_A_PIN 5
|
|
#define TIMER1_B_PIN 4
|
|
#define TIMER1_ICP_PIN 6
|
|
|
|
// Teensy 2.0
|
|
//
|
|
#elif defined(__AVR_ATmega32U4__) && defined(CORE_TEENSY)
|
|
#define TIMER1_A_PIN 14
|
|
#define TIMER1_B_PIN 15
|
|
#define TIMER1_C_PIN 4
|
|
#define TIMER1_ICP_PIN 22
|
|
#define TIMER1_CLK_PIN 11
|
|
#define TIMER3_A_PIN 9
|
|
#define TIMER3_ICP_PIN 10
|
|
|
|
// Teensy++ 2.0
|
|
#elif defined(__AVR_AT90USB1286__) && defined(CORE_TEENSY)
|
|
#define TIMER1_A_PIN 25
|
|
#define TIMER1_B_PIN 26
|
|
#define TIMER1_C_PIN 27
|
|
#define TIMER1_ICP_PIN 4
|
|
#define TIMER1_CLK_PIN 6
|
|
#define TIMER3_A_PIN 16
|
|
#define TIMER3_B_PIN 15
|
|
#define TIMER3_C_PIN 14
|
|
#define TIMER3_ICP_PIN 17
|
|
#define TIMER3_CLK_PIN 13
|
|
|
|
// Teensy 3.0
|
|
//
|
|
#elif defined(__MK20DX128__)
|
|
#define TIMER1_A_PIN 3
|
|
#define TIMER1_B_PIN 4
|
|
#define TIMER1_ICP_PIN 4
|
|
|
|
// Teensy 3.1 / Teensy 3.2
|
|
//
|
|
#elif defined(__MK20DX256__)
|
|
#define TIMER1_A_PIN 3
|
|
#define TIMER1_B_PIN 4
|
|
#define TIMER1_ICP_PIN 4
|
|
#define TIMER3_A_PIN 32
|
|
#define TIMER3_B_PIN 25
|
|
#define TIMER3_ICP_PIN 32
|
|
|
|
// Teensy 3.5 / Teensy 3.6
|
|
//
|
|
#elif defined(__MK64FX512__) || defined(__MK66FX1M0__)
|
|
#define TIMER1_A_PIN 3
|
|
#define TIMER1_B_PIN 4
|
|
#define TIMER1_ICP_PIN 4
|
|
#define TIMER3_A_PIN 29
|
|
#define TIMER3_B_PIN 30
|
|
#define TIMER3_ICP_PIN 29
|
|
|
|
// Teensy-LC
|
|
//
|
|
#elif defined(__MKL26Z64__)
|
|
#define TIMER1_A_PIN 16
|
|
#define TIMER1_B_PIN 17
|
|
#define TIMER1_ICP_PIN 17
|
|
#define TIMER3_A_PIN 3
|
|
#define TIMER3_B_PIN 4
|
|
#define TIMER3_ICP_PIN 4
|
|
|
|
// Arduino Mega
|
|
//
|
|
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
|
#define TIMER1_A_PIN 11
|
|
#define TIMER1_B_PIN 12
|
|
#define TIMER1_C_PIN 13
|
|
#define TIMER3_A_PIN 5
|
|
#define TIMER3_B_PIN 2
|
|
#define TIMER3_C_PIN 3
|
|
#define TIMER4_A_PIN 6
|
|
#define TIMER4_B_PIN 7
|
|
#define TIMER4_C_PIN 8
|
|
#define TIMER4_ICP_PIN 49
|
|
#define TIMER5_A_PIN 46
|
|
#define TIMER5_B_PIN 45
|
|
#define TIMER5_C_PIN 44
|
|
#define TIMER3_ICP_PIN 48
|
|
#define TIMER3_CLK_PIN 47
|
|
|
|
// Arduino Leonardo, Yun, etc
|
|
//
|
|
#elif defined(__AVR_ATmega32U4__)
|
|
#define TIMER1_A_PIN 9
|
|
#define TIMER1_B_PIN 10
|
|
#define TIMER1_C_PIN 11
|
|
#define TIMER1_ICP_PIN 4
|
|
#define TIMER1_CLK_PIN 12
|
|
#define TIMER3_A_PIN 5
|
|
#define TIMER3_ICP_PIN 13
|
|
|
|
// Uno, Duemilanove, LilyPad, etc
|
|
//
|
|
#elif defined (__AVR_ATmega168__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__)
|
|
#define TIMER1_A_PIN 9
|
|
#define TIMER1_B_PIN 10
|
|
#define TIMER1_ICP_PIN 8
|
|
#define TIMER1_CLK_PIN 5
|
|
|
|
// attiny167
|
|
//
|
|
#elif defined (__AVR_ATtiny167__)
|
|
#define TIMER1_A_PIN 14
|
|
#define TIMER1_B_PIN 11
|
|
//#define TIMER1_ICP_PIN 8
|
|
//#define TIMER1_CLK_PIN 5
|
|
|
|
// Sanguino
|
|
//
|
|
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
|
|
#define TIMER1_A_PIN 13
|
|
#define TIMER1_B_PIN 12
|
|
#define TIMER1_ICP_PIN 14
|
|
#define TIMER1_CLK_PIN 1
|
|
|
|
// Wildfire - Wicked Devices
|
|
//
|
|
#elif defined(__AVR_ATmega1284P__) && defined(WILDFIRE_VERSION) && WILDFIRE_VERSION >= 3
|
|
#define TIMER1_A_PIN 5 // PD5
|
|
#define TIMER1_B_PIN 8 // PD4
|
|
#define TIMER1_ICP_PIN 6 // PD6
|
|
#define TIMER1_CLK_PIN 23 // PB1
|
|
#define TIMER3_A_PIN 12 // PB6
|
|
#define TIMER3_B_PIN 13 // PB7
|
|
#define TIMER3_ICP_PIN 9 // PB5
|
|
#define TIMER3_CLK_PIN 0 // PD0
|
|
#elif defined(__AVR_ATmega1284P__) && defined(WILDFIRE_VERSION) && WILDFIRE_VERSION < 3
|
|
#define TIMER1_A_PIN 5 // PD5
|
|
#define TIMER1_B_PIN 4 // PD4
|
|
#define TIMER1_ICP_PIN 6 // PD6
|
|
#define TIMER1_CLK_PIN 15 // PB1
|
|
#define TIMER3_A_PIN 12 // PB6
|
|
#define TIMER3_B_PIN 13 // PB7
|
|
#define TIMER3_ICP_PIN 11 // PB5
|
|
#define TIMER3_CLK_PIN 0 // PD0
|
|
|
|
// Mighty-1284 - Maniacbug
|
|
//
|
|
#elif defined(__AVR_ATmega1284P__)
|
|
#define TIMER1_A_PIN 12 // PD5
|
|
#define TIMER1_B_PIN 13 // PD4
|
|
#define TIMER1_ICP_PIN 14 // PD6
|
|
#define TIMER1_CLK_PIN 1 // PB1
|
|
#define TIMER3_A_PIN 6 // PB6
|
|
#define TIMER3_B_PIN 7 // PB7
|
|
#define TIMER3_ICP_PIN 5 // PB5
|
|
#define TIMER3_CLK_PIN 8 // PD0
|
|
|
|
#endif
|
|
|
|
#endif
|