Merge pull request #782 from ejoerns/pull-req/avr-mcucsrfix

[avr] Removed usage of deprecated MCUSR
This commit is contained in:
Fredrik Österlind 2014-11-13 10:25:30 +01:00
commit 03a923b6b9
2 changed files with 15 additions and 12 deletions

View File

@ -9,10 +9,12 @@
#include <avr/interrupt.h>
#include <avr/eeprom.h>
/* Not all AVR toolchains alias MCUSR to the older MSUSCR name */
#if !defined (MCUSR) && defined (MCUCSR)
#warning *** MCUSR not defined, using MCUCSR instead ***
#define MCUSR MCUCSR
/* MCUSR is a deprecated name but older avr-libc versions may define it */
#if !defined (MCUCSR)
# if defined (MCUSR)
# warning *** MCUCSR not defined, using MCUSR instead ***
# define MCUCSR MCUSR
# endif
#endif
#ifndef EEPROM_MAGIC_BYTE_ADDR
@ -69,8 +71,8 @@ Bootloader_Jump_Check(void)
/* If the reset source was the bootloader and the key is correct,
* clear it and jump to the bootloader
*/
if(MCUSR & (1 << WDRF)) {
MCUSR = 0;
if(MCUCSR & (1 << WDRF)) {
MCUCSR = 0;
if(Boot_Key == MAGIC_BOOT_KEY) {
Boot_Key = 0;
wdt_disable();

View File

@ -64,11 +64,12 @@
#include <avr/wdt.h>
#include <avr/interrupt.h>
//Not all AVR toolchains alias MCUSR to the older MSUSCR name
//#if defined (__AVR_ATmega8__) || defined (__AVR_ATmega8515__) || defined (__AVR_ATmega16__)
#if !defined (MCUSR) && defined (MCUCSR)
#warning *** MCUSR not defined, using MCUCSR instead ***
#define MCUSR MCUCSR
/* MCUSR is a deprecated name but older avr-libc versions may define it */
#if !defined (MCUCSR)
# if defined (MCUSR)
# warning *** MCUCSR not defined, using MCUSR instead ***
# define MCUCSR MCUSR
# endif
#endif
#if WATCHDOG_CONF_BALANCE && WATCHDOG_CONF_TIMEOUT >= 0
@ -82,7 +83,7 @@ watchdog_init(void)
/* Clear startup bit and disable the wdt, whether or not it will be used.
Random code may have caused the last reset.
*/
MCUSR&=~(1<<WDRF);
MCUCSR&=~(1<<WDRF);
wdt_disable();
#if WATCHDOG_CONF_BALANCE && WATCHDOG_CONF_TIMEOUT >= 0
stopped = 1;