@@ -184,13 +184,30 @@ EXTERN volatile irparams_t irparams;
184184#define IR_USE_TIMER2 // tx = pin 1
185185//#define IR_USE_TIMER3 // tx = pin 16
186186
187- // Sanguino
188- #elif defined(__AVR_ATmega644P__ ) || defined(__AVR_ATmega644__ )
187+ // MightyCore - ATmega1284
188+ #elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ )
189+ //#define IR_USE_TIMER1 // tx = pin 13
190+ #define IR_USE_TIMER2 // tx = pin 14
191+ //#define IR_USE_TIMER3 // tx = pin 6
192+
193+ // MightyCore - ATmega164, ATmega324, ATmega644
194+ #elif defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644P__ ) \
195+ || defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega324A__ ) \
196+ || defined(__AVR_ATmega324PA__ ) || defined(__AVR_ATmega164A__ ) \
197+ || defined(__AVR_ATmega164P__ )
189198//#define IR_USE_TIMER1 // tx = pin 13
190199#define IR_USE_TIMER2 // tx = pin 14
200+
201+ //MegaCore - ATmega64, ATmega128
202+ #elif defined(__AVR_ATmega64__ ) || defined(__AVR_ATmega128__ )
203+ #define IR_USE_TIMER1 // tx = pin 13
204+
205+ // MightyCore - ATmega8535, ATmega16, ATmega32
206+ #elif defined(__AVR_ATmega8535__ ) || defined(__AVR_ATmega16__ ) || defined(__AVR_ATmega32__ )
207+ #define IR_USE_TIMER1 // tx = pin 13
191208
192209// Atmega8
193- #elif defined(__AVR_ATmega8P__ ) || defined( __AVR_ATmega8__ )
210+ #elif defined(__AVR_ATmega8__ )
194211#define IR_USE_TIMER1 // tx = pin 9
195212
196213// ATtiny84
@@ -255,8 +272,12 @@ EXTERN volatile irparams_t irparams;
255272# define TIMER_PWM_PIN CORE_OC2B_PIN // Teensy
256273#elif defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
257274# define TIMER_PWM_PIN 9 // Arduino Mega
258- #elif defined(__AVR_ATmega644P__ ) || defined(__AVR_ATmega644__ )
259- # define TIMER_PWM_PIN 14 // Sanguino
275+ #elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ ) \
276+ || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644P__ ) \
277+ || defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega324A__ ) \
278+ || defined(__AVR_ATmega324PA__ ) || defined(__AVR_ATmega164A__ ) \
279+ || defined(__AVR_ATmega164P__ )
280+ # define TIMER_PWM_PIN 14 // MightyCore
260281#else
261282# define TIMER_PWM_PIN 3 // Arduino Duemilanove, Diecimila, LilyPad, etc
262283#endif
@@ -271,7 +292,9 @@ EXTERN volatile irparams_t irparams;
271292#define TIMER_DISABLE_PWM (TCCR1A &= ~(_BV(COM1A1)))
272293
273294//-----------------
274- #if defined(__AVR_ATmega8P__ ) || defined(__AVR_ATmega8__ )
295+ #if defined(__AVR_ATmega8__ ) || defined(__AVR_ATmega8535__ ) \
296+ || defined(__AVR_ATmega16__ ) || defined(__AVR_ATmega32__ ) \
297+ || defined(__AVR_ATmega64__ ) || defined(__AVR_ATmega128__ )
275298# define TIMER_ENABLE_INTR (TIMSK |= _BV(OCIE1A))
276299# define TIMER_DISABLE_INTR (TIMSK &= ~_BV(OCIE1A))
277300#else
@@ -302,10 +325,17 @@ EXTERN volatile irparams_t irparams;
302325# define TIMER_PWM_PIN CORE_OC1A_PIN // Teensy
303326#elif defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
304327# define TIMER_PWM_PIN 11 // Arduino Mega
305- #elif defined(__AVR_ATmega644P__ ) || defined(__AVR_ATmega644__ )
306- # define TIMER_PWM_PIN 13 // Sanguino
328+ #elif defined(__AVR_ATmega64__ ) || defined(__AVR_ATmega128__ )
329+ # define TIMER_PWM_PIN 13 // MegaCore
330+ #elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ ) \
331+ || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644P__ ) \
332+ || defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega324A__ ) \
333+ || defined(__AVR_ATmega324PA__ ) || defined(__AVR_ATmega164A__ ) \
334+ || defined(__AVR_ATmega164P__ ) || defined(__AVR_ATmega32__ ) \
335+ || defined(__AVR_ATmega16__ ) || defined(__AVR_ATmega8535__ )
336+ # define TIMER_PWM_PIN 13 // MightyCore
307337#elif defined(__AVR_ATtiny84__ )
308- # define TIMER_PWM_PIN 6
338+ # define TIMER_PWM_PIN 6
309339#else
310340# define TIMER_PWM_PIN 9 // Arduino Duemilanove, Diecimila, LilyPad, etc
311341#endif
@@ -342,6 +372,8 @@ EXTERN volatile irparams_t irparams;
342372# define TIMER_PWM_PIN CORE_OC3A_PIN // Teensy
343373#elif defined(__AVR_ATmega1280__ ) || defined(__AVR_ATmega2560__ )
344374# define TIMER_PWM_PIN 5 // Arduino Mega
375+ #elif defined(__AVR_ATmega1284__ ) || defined(__AVR_ATmega1284P__ )
376+ # define TIMER_PWM_PIN 6 // MightyCore
345377#else
346378# error "Please add OC3A pin number here\n"
347379#endif
0 commit comments