From 1815ab1ef7d448bf1abc926d4cdd1084c577bbf7 Mon Sep 17 00:00:00 2001 From: Michael Moon Date: Fri, 4 Feb 2011 11:04:15 +1100 Subject: [PATCH] make it even harder to unintentionally include fuse definitions --- fuses.h | 60 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/fuses.h b/fuses.h index dc7191e..ce5bf6a 100644 --- a/fuses.h +++ b/fuses.h @@ -1,29 +1,31 @@ -#ifdef FUSES - #if defined (__AVR_ATmega168__) - FUSES = { - .low = FUSE_CKSEL3 & FUSE_SUT0, - .high = FUSE_SPIEN, - .extended = FUSE_BOOTSZ1 & FUSE_BOOTSZ0, - }; - #elif defined (__AVR_ATmega328P__) - FUSES = { - .low = FUSE_CKSEL3 & FUSE_SUT0, - .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, - .extended = EFUSE_DEFAULT, - }; - #elif defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) - FUSES = { - .low = FUSE_CKSEL3 & FUSE_SUT0, - .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, - .extended = EFUSE_DEFAULT, - }; - #elif defined (__AVR_ATmega1280__) - FUSES = { - .low = FUSE_CKSEL3 & FUSE_SUT0, - .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, - .extended = EFUSE_DEFAULT, - }; - #else - #warning No fuse definitions for this chip in fuses.h! - #endif -#endif /* FUSES */ +#ifndef _FUSES_H + #ifdef _INCLUDE_FUSES + #if defined (__AVR_ATmega168__) + FUSES = { + .low = FUSE_CKSEL3 & FUSE_SUT0, + .high = FUSE_SPIEN, + .extended = FUSE_BOOTSZ1 & FUSE_BOOTSZ0, + }; + #elif defined (__AVR_ATmega328P__) + FUSES = { + .low = FUSE_CKSEL3 & FUSE_SUT0, + .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, + .extended = EFUSE_DEFAULT, + }; + #elif defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) + FUSES = { + .low = FUSE_CKSEL3 & FUSE_SUT0, + .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, + .extended = EFUSE_DEFAULT, + }; + #elif defined (__AVR_ATmega1280__) + FUSES = { + .low = FUSE_CKSEL3 & FUSE_SUT0, + .high = FUSE_SPIEN & FUSE_BOOTSZ0 & FUSE_BOOTSZ1, + .extended = EFUSE_DEFAULT, + }; + #else + #warning No fuse definitions for this chip in fuses.h! + #endif + #endif /* _INCLUDE_FUSES */ +#endif /* _FUSES_H */