#ifndef Configuration_H
#define Configuration_H

#include <Arduino.h>
#include <EEPROM.h>
#include "Temperature.h"

#define EEPROM_PASSWORD  151

template <class T> EEPROM_writeAnything(int &ee, const T& value)
{
    const byte* p = (const byte*)(const void*)&value;
    unsigned int i;
    for (i = 0; i < sizeof(value); i++)
          EEPROM.update(ee++, *p++);
}

template <class T> EEPROM_readAnything(int &ee, T& value)
{
    byte* p = (byte*)(void*)&value;
    unsigned int i;
    for (i = 0; i < sizeof(value); i++)
          *p++ = EEPROM.read(ee++);
}

extern void getDefaultSetting();
extern void writeEEPROMSetting();
extern void readEEPROMSetting(bool);

void EEPROM_read(bool);
void EEPROM_write(bool);

#endif //__Configuration_H
