diff --git a/NmraDcc.cpp b/NmraDcc.cpp index b4799ac..44995a8 100644 --- a/NmraDcc.cpp +++ b/NmraDcc.cpp @@ -46,9 +46,7 @@ //------------------------------------------------------------------------ #include "NmraDcc.h" -#ifdef __AVR_MEGA__ -#include -#endif +#include "EEPROM.h" // Uncomment to print DEBUG messages // #define DEBUG_PRINT @@ -629,7 +627,8 @@ uint8_t readEEPROM( unsigned int CV ) { return EEPROM.read(CV) ; } -void writeEEPROM( unsigned int CV, uint8_t Value ) { +void writeEEPROM( unsigned int CV, uint8_t Value ) +{ EEPROM.write(CV, Value) ; #if defined(ESP8266) EEPROM.commit(); @@ -639,12 +638,15 @@ void writeEEPROM( unsigned int CV, uint8_t Value ) { #endif } -bool readyEEPROM() { - #ifdef __AVR_MEGA__ - return eeprom_is_ready(); - #else - return true; - #endif +bool readyEEPROM() +{ +#if defined ARDUINO_ARCH_MEGAAVR + return bit_is_clear(NVMCTRL.STATUS,NVMCTRL_EEBUSY_bp); +#elif defined __AVR_MEGA__ + return eeprom_is_ready(); +#else + return true; +#endif } diff --git a/NmraDcc.h b/NmraDcc.h index c9608cd..2a054ff 100644 --- a/NmraDcc.h +++ b/NmraDcc.h @@ -54,8 +54,6 @@ #include "WProgram.h" #endif -#include "EEPROM.h" - #ifndef NMRADCC_IS_IN #define NMRADCC_IS_IN diff --git a/library.properties b/library.properties index ebc3dae..9f94f7f 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=NmraDcc -version=2.0.3 +version=2.0.4 author=Alex Shepherd, Wolfgang Kuffer, Geoff Bunza, Martin Pischky, Franz-Peter Müller, Sven (littleyoda), Hans Tanner maintainer=Alex Shepherd sentence=Enables NMRA DCC Communication