+++ /dev/null
-/*
- * Copyright Droids Corporation, Microb Technology, Eirbot (2006)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Revision : $Id: timers.h,v 1.1.2.4 2009-01-23 23:54:16 zer0 Exp $
- *
- */
-
-/*
- * This file contains definitions used for timer use
- *
- * In the future, most of definitions will be added in autogenerated
- * files from atmel's documentation (aversive/parts.h and
- * aversive/parts/ATxxxx.h) which are not timer specific.
- */
-
-/* XXX won't be needed : use parts.h */
-
-#ifndef _AVERSIVE_TIMERS_H_
-#define _AVERSIVE_TIMERS_H_
-
-// Timer WGM bits
-#define TIMER_8_MODE_NORMAL 0
-#define TIMER_8_MODE_PWM_PC 1 // phase correct PWM
-#define TIMER_8_MODE_CTC 2
-#define TIMER_8_MODE_PWM 3 // fast PWM
-
-#define TIMER_16_MODE_NORMAL 0
-#define TIMER_16_MODE_PWM_PC_8 1 // phase correct PWM 8 bits
-#define TIMER_16_MODE_PWM_PC_9 2 // phase correct PWM 9 bits
-#define TIMER_16_MODE_PWM_PC_10 3 // phase correct PWM 10 bits
-#define TIMER_16_MODE_CTC1 4 // clear on compare, TOP = OCRA
-#define TIMER_16_MODE_PWM_8 5 // fast PWM 8 bits
-#define TIMER_16_MODE_PWM_9 6 // fast PWM 9 bits
-#define TIMER_16_MODE_PWM_10 7 // fast PWM 10 bits
-#define TIMER_16_MODE_PWM_PFC1 8 // PWM, Phase & Freq Correct
-#define TIMER_16_MODE_PWM_PFC2 9 // PWM, Phase & Freq Correct
-#define TIMER_16_MODE_PWM_PC1 10 // PWM, Phase Correct
-#define TIMER_16_MODE_PWM_PC2 11 // PWM, Phase Correct
-#define TIMER_16_MODE_CTC2 12 // clear on compare, TOP = ICR
-#define TIMER_16_MODE_PWM_F1 14 // fast PWM
-#define TIMER_16_MODE_PWM_F2 15 // fast PWM
-
-
-// ATMEGA128 ////////////////////////////////////////
-#if defined (__AVR_ATmega128__)
-
-// OCR_BITS
-#define OCR0_DDR DDRB
-#define OCR0_BIT 4
-#define OCR1A_DDR DDRB
-#define OCR1A_BIT 5
-#define OCR1B_DDR DDRB
-#define OCR1B_BIT 6
-#define OCR1C_DDR DDRB
-#define OCR1C_BIT 7
-#define OCR2_DDR DDRB
-#define OCR2_BIT 7
-#define OCR3A_DDR DDRE
-#define OCR3A_BIT 3
-#define OCR3B_DDR DDRE
-#define OCR3B_BIT 4
-#define OCR3C_DDR DDRE
-#define OCR3C_BIT 5
-
-
-
-
-// ATMEGA1281 ////////////////////////////////////////
-#elif defined (__AVR_ATmega1281__)
-
-// OCR_BITS
-#define OCR0A_DDR DDRB
-#define OCR0A_BIT 7
-#define OCR0B_DDR DDRG
-#define OCR0B_BIT 5
-#define OCR1A_DDR DDRB
-#define OCR1A_BIT 5
-#define OCR1B_DDR DDRB
-#define OCR1B_BIT 6
-#define OCR1C_DDR DDRB
-#define OCR1C_BIT 7
-#define OCR2A_DDR DDRB
-#define OCR2A_BIT 4
-#define OCR3A_DDR DDRE
-#define OCR3A_BIT 3
-#define OCR3B_DDR DDRE
-#define OCR3B_BIT 4
-#define OCR3C_DDR DDRE
-#define OCR3C_BIT 5
-
-
-
-// ATMEGA32 ////////////////////////////////////////
-#elif defined (__AVR_ATmega32__) || defined (__AVR_ATmega323__)
-
-#ifdef __AVR_ATmega323__
-
-// renamed bits
-#define WGM20 PWM2
-#define WGM21 CTC2
-
-#define WGM10 PWM10
-#define WGM11 PWM11
-#define WGM12 3//CTC1
-#define WGM13 4 // reserve bit
-
-#define WGM00 PWM0
-#define WGM01 CTC0
-
-#endif // mega323
-
-
-// OCR_BITS
-#define OCR0_DDR DDRB
-#define OCR0_BIT 3
-#define OCR1A_DDR DDRD
-#define OCR1A_BIT 5
-#define OCR1B_DDR DDRD
-#define OCR1B_BIT 4
-#define OCR2_DDR DDRD
-#define OCR2_BIT 7
-
-
-// ATMEGA8 ////////////////////////////////////////
-#elif defined (__AVR_ATmega8__)
-
-// OCR_BITS
-#define OCR1A_DDR DDRB
-#define OCR1A_BIT 1
-#define OCR1B_DDR DDRB
-#define OCR1B_BIT 2
-#define OCR2_DDR DDRB
-#define OCR2_BIT 3
-
-
-
-// ATMEGA163 ////////////////////////////////////////
-#elif defined (__AVR_ATmega163__)
-
-// renamed bits
-#define WGM20 PWM2
-#define WGM21 CTC2
-
-#define WGM10 PWM10
-#define WGM11 PWM11
-#define WGM12 CTC1
-#define WGM13 4 // reserve bit
-
-// OCR_BITS
-#define OCR1A_DDR DDRD
-#define OCR1A_BIT 5
-#define OCR1B_DDR DDRD
-#define OCR1B_BIT 4
-#define OCR2_DDR DDRD
-#define OCR2_BIT 7
-
-
-// ATMEGAx8 ////////////////////////////////////////
-#elif defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega168__)
-
-// OCR_BITS
-#define OCR0A_DDR DDRD
-#define OCR0A_BIT 6
-#define OCR0B_DDR DDRD
-#define OCR0B_BIT 5
-
-#define OCR1A_DDR DDRB
-#define OCR1A_BIT 1
-#define OCR1B_DDR DDRB
-#define OCR1B_BIT 2
-
-#define OCR2A_DDR DDRB
-#define OCR2A_BIT 3
-#define OCR2B_DDR DDRD
-#define OCR2B_BIT 3
-
-
-#else
-//#error No timer/prescaler definitions for your AVR type
-#endif
-
-#endif