replaced '4096' with definition SPI_FLASH_SEC_SIZE from header file
This commit is contained in:
84
NmraDcc.cpp
84
NmraDcc.cpp
@@ -29,13 +29,13 @@
|
||||
//
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
#include "NmraDcc.h"
|
||||
|
||||
#if defined(ESP8266)
|
||||
#include <EEPROM.h>
|
||||
#else
|
||||
#include "NmraDcc.h"
|
||||
|
||||
#if defined(ESP8266)
|
||||
#include <EEPROM.h>
|
||||
#else
|
||||
#include <avr/eeprom.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// DCC Receive Routine
|
||||
@@ -454,32 +454,32 @@ void ackCV(void)
|
||||
notifyCVAck() ;
|
||||
}
|
||||
|
||||
uint8_t readEEPROM( unsigned int CV ) {
|
||||
#if defined(ESP8266)
|
||||
return EEPROM.read(CV) ;
|
||||
#else
|
||||
return eeprom_read_byte( (uint8_t*) CV );
|
||||
#endif
|
||||
}
|
||||
|
||||
void writeEEPROM( unsigned int CV, uint8_t Value ) {
|
||||
#if defined(ESP8266)
|
||||
EEPROM.write(CV, Value) ;
|
||||
EEPROM.commit();
|
||||
#else
|
||||
eeprom_write_byte( (uint8_t*) CV, Value ) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool readyEEPROM() {
|
||||
#if defined(ESP8266)
|
||||
return true;
|
||||
#else
|
||||
return eeprom_is_ready();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
uint8_t readEEPROM( unsigned int CV ) {
|
||||
#if defined(ESP8266)
|
||||
return EEPROM.read(CV) ;
|
||||
#else
|
||||
return eeprom_read_byte( (uint8_t*) CV );
|
||||
#endif
|
||||
}
|
||||
|
||||
void writeEEPROM( unsigned int CV, uint8_t Value ) {
|
||||
#if defined(ESP8266)
|
||||
EEPROM.write(CV, Value) ;
|
||||
EEPROM.commit();
|
||||
#else
|
||||
eeprom_write_byte( (uint8_t*) CV, Value ) ;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool readyEEPROM() {
|
||||
#if defined(ESP8266)
|
||||
return true;
|
||||
#else
|
||||
return eeprom_is_ready();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
uint8_t validCV( uint16_t CV, uint8_t Writable )
|
||||
{
|
||||
if( notifyCVResetFactoryDefault && (CV == CV_MANUFACTURER_ID ) && Writable )
|
||||
@@ -490,7 +490,7 @@ uint8_t validCV( uint16_t CV, uint8_t Writable )
|
||||
|
||||
uint8_t Valid = 1 ;
|
||||
|
||||
if( CV > MAXCV )
|
||||
if( CV > MAXCV )
|
||||
Valid = 0 ;
|
||||
|
||||
if( Writable && ( ( CV ==CV_VERSION_ID ) || (CV == CV_MANUFACTURER_ID ) ) )
|
||||
@@ -506,7 +506,7 @@ uint8_t readCV( unsigned int CV )
|
||||
if( notifyCVRead )
|
||||
return notifyCVRead( CV ) ;
|
||||
|
||||
Value = readEEPROM(CV);
|
||||
Value = readEEPROM(CV);
|
||||
return Value ;
|
||||
}
|
||||
|
||||
@@ -515,16 +515,16 @@ uint8_t writeCV( unsigned int CV, uint8_t Value)
|
||||
if( notifyCVWrite )
|
||||
return notifyCVWrite( CV, Value ) ;
|
||||
|
||||
if( readEEPROM( CV ) != Value )
|
||||
if( readEEPROM( CV ) != Value )
|
||||
{
|
||||
writeEEPROM( CV, Value ) ;
|
||||
writeEEPROM( CV, Value ) ;
|
||||
|
||||
if( notifyCVChange )
|
||||
notifyCVChange( CV, Value) ;
|
||||
}
|
||||
return readEEPROM( CV ) ;
|
||||
return readEEPROM( CV ) ;
|
||||
}
|
||||
|
||||
|
||||
uint16_t getMyAddr(void)
|
||||
{
|
||||
uint16_t Addr ;
|
||||
@@ -1010,9 +1010,9 @@ void NmraDcc::initAccessoryDecoder( uint8_t ManufacturerId, uint8_t VersionId, u
|
||||
|
||||
void NmraDcc::init( uint8_t ManufacturerId, uint8_t VersionId, uint8_t Flags, uint8_t OpsModeAddressBaseCV )
|
||||
{
|
||||
#if defined(ESP8266)
|
||||
EEPROM.begin(4096);
|
||||
#endif
|
||||
#if defined(ESP8266)
|
||||
EEPROM.begin(MAXCV);
|
||||
#endif
|
||||
// Clear all the static member variables
|
||||
memset( &DccRx, 0, sizeof( DccRx) );
|
||||
|
||||
@@ -1058,7 +1058,7 @@ uint8_t NmraDcc::isSetCVReady(void)
|
||||
{
|
||||
if(notifyIsSetCVReady)
|
||||
return notifyIsSetCVReady();
|
||||
return readyEEPROM();
|
||||
return readyEEPROM();
|
||||
}
|
||||
|
||||
#ifdef DCC_DEBUG
|
||||
|
10
NmraDcc.h
10
NmraDcc.h
@@ -89,12 +89,12 @@ typedef struct
|
||||
#define CV_VERSION_ID 7
|
||||
#define CV_MANUFACTURER_ID 8
|
||||
#define CV_29_CONFIG 29
|
||||
|
||||
#if defined(ESP8266)
|
||||
#define MAXCV 4096
|
||||
#else
|
||||
|
||||
#if defined(ESP8266)
|
||||
#define MAXCV SPI_FLASH_SEC_SIZE
|
||||
#else
|
||||
#define MAXCV E2END // the upper limit of the CV value currently defined to max memory.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
CV29_LOCO_DIR = 0b00000001, /** bit 0: Locomotive Direction: "0" = normal, "1" = reversed */
|
||||
|
Reference in New Issue
Block a user