16 #include "DCCpp_Uno.h" 27 eeStore=(EEStore *)calloc(1,
sizeof(EEStore));
31 EEPROM.get(0, (
void *)&eeStore->data,
sizeof(EEStoreData));
33 EEPROM.get(0, eeStore->data);
36 if(strncmp(eeStore->data.id,EESTORE_ID,
sizeof(EESTORE_ID))!=0){
37 sprintf(eeStore->data.id,EESTORE_ID);
39 eeStore->data.nTurnouts=0;
42 eeStore->data.nSensors=0;
45 eeStore->data.nOutputs=0;
48 EEPROM.put(0, (
void *)&eeStore->data,
sizeof(EEStoreData));
50 EEPROM.put(0, eeStore->data);
68 void EEStore::clear(){
70 sprintf(eeStore->data.id,EESTORE_ID);
72 eeStore->data.nTurnouts=0;
75 eeStore->data.nSensors=0;
78 eeStore->data.nOutputs=0;
81 EEPROM.put(0, (
void *)&eeStore->data,
sizeof(EEStoreData));
83 EEPROM.put(0, eeStore->data);
90 void EEStore::store() {
102 EEPROM.put(0, (
void *)&eeStore->data,
sizeof(EEStoreData));
104 EEPROM.put(0, eeStore->data);
110 bool EEStore::needsRefreshing() {
112 if (eeStore->data.nTurnouts != Turnout::count())
126 void EEStore::advance(
int n){
132 void EEStore::reset(){
133 eeAddress=
sizeof(EEStore);
137 int EEStore::pointer(){
142 EEStore *EEStore::eeStore=NULL;
143 int EEStore::eeAddress=0;