68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
/* --------------------------------------------------------------- */
|
|
#include <EEPROM.h>
|
|
/* --------------------------------------------------------------- */
|
|
short init_storage(Global *what)
|
|
{
|
|
short foo;
|
|
|
|
Serial.print("eeprom length: ");
|
|
Serial.println(EEPROM.length());
|
|
Serial.print("global length: ");
|
|
Serial.println(sizeof(Global));
|
|
|
|
memset(what, 0, sizeof(Global));
|
|
what->magic = 0xfde9;
|
|
EEPROM.put(0, *what);
|
|
|
|
return 0;
|
|
}
|
|
/* --------------------------------------------------------------- */
|
|
short read_config(short num, Global *where)
|
|
{
|
|
unsigned short magic;
|
|
|
|
#if DEBUG
|
|
prtln(">>> read config");
|
|
#endif
|
|
magic = 0;
|
|
|
|
EEPROM.get(0, magic);
|
|
prt("magic is "); prtln(magic);
|
|
if (0xfde9 != magic) return -1;
|
|
EEPROM.get(0, *where);
|
|
return -2;
|
|
}
|
|
/* --------------------------------------------------------------- */
|
|
short write_config(short num, Global *from)
|
|
{
|
|
from->magic = 0xfde9;
|
|
memcpy(from->tag, "aaaa", 4);
|
|
from->control++;
|
|
|
|
EEPROM.put(0, *from);
|
|
|
|
return -1;
|
|
}
|
|
/* --------------------------------------------------------------- */
|
|
short display_config(Global *what)
|
|
{
|
|
char foo, c;
|
|
#if DEBUG
|
|
prtln(">>> display config");
|
|
#endif
|
|
|
|
prt("Magic : "); prtln(what->magic);
|
|
prt("Id : ");
|
|
for (foo=0; foo<4; foo++) {
|
|
if (isprint(c=what->tag[foo])) prt(c);
|
|
else prt('?');
|
|
}
|
|
prtln("");
|
|
prt("Delay : "); prtln(what->delai);
|
|
prt("Temp mini : "); prtln(what->temp_mini);
|
|
prt("Temp maxi : "); prtln(what->temp_maxi);
|
|
|
|
return -1;
|
|
}
|
|
/* --------------------------------------------------------------- */
|