2019-04-30 02:46:14 +11:00
|
|
|
/* --------------------------------------------------------------- */
|
|
|
|
#include <EEPROM.h>
|
|
|
|
/* --------------------------------------------------------------- */
|
2019-05-13 23:26:05 +11:00
|
|
|
short init_storage(Global *what)
|
2019-04-30 02:46:14 +11:00
|
|
|
{
|
2019-05-01 01:49:21 +11:00
|
|
|
short foo;
|
|
|
|
|
2019-04-30 02:46:14 +11:00
|
|
|
Serial.print("eeprom length: ");
|
|
|
|
Serial.println(EEPROM.length());
|
2019-05-01 01:49:21 +11:00
|
|
|
Serial.print("global length: ");
|
|
|
|
Serial.println(sizeof(Global));
|
|
|
|
|
2019-05-13 23:26:05 +11:00
|
|
|
memset(what, 0, sizeof(Global));
|
|
|
|
what->magic = 0xfde9;
|
|
|
|
EEPROM.put(0, *what);
|
|
|
|
|
|
|
|
return 0;
|
2019-05-01 01:49:21 +11:00
|
|
|
}
|
|
|
|
/* --------------------------------------------------------------- */
|
|
|
|
short read_config(short num, Global *where)
|
|
|
|
{
|
2019-05-13 23:26:05 +11:00
|
|
|
unsigned short magic;
|
|
|
|
|
2019-05-01 01:49:21 +11:00
|
|
|
#if DEBUG
|
|
|
|
prtln(">>> read config");
|
|
|
|
#endif
|
2019-05-13 23:26:05 +11:00
|
|
|
magic = 0;
|
2019-05-14 02:49:21 +11:00
|
|
|
|
2019-05-13 23:26:05 +11:00
|
|
|
EEPROM.get(0, magic);
|
2019-05-15 00:46:49 +11:00
|
|
|
prt("M magic is "); prtln(magic);
|
2019-05-13 23:26:05 +11:00
|
|
|
if (0xfde9 != magic) return -1;
|
|
|
|
EEPROM.get(0, *where);
|
|
|
|
return -2;
|
2019-05-01 01:49:21 +11:00
|
|
|
}
|
|
|
|
/* --------------------------------------------------------------- */
|
|
|
|
short write_config(short num, Global *from)
|
|
|
|
{
|
|
|
|
from->magic = 0xfde9;
|
|
|
|
memcpy(from->tag, "aaaa", 4);
|
2019-05-14 02:49:21 +11:00
|
|
|
from->control++;
|
2019-04-30 02:46:14 +11:00
|
|
|
|
2019-05-14 02:49:21 +11:00
|
|
|
EEPROM.put(0, *from);
|
2019-05-13 23:26:05 +11:00
|
|
|
|
2019-05-16 02:22:44 +11:00
|
|
|
/* no check of good write here ? */
|
|
|
|
|
2019-05-01 01:49:21 +11:00
|
|
|
return -1;
|
2019-04-30 02:46:14 +11:00
|
|
|
}
|
|
|
|
/* --------------------------------------------------------------- */
|
2019-05-01 01:49:21 +11:00
|
|
|
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);
|
2019-05-13 23:26:05 +11:00
|
|
|
prt("Temp mini : "); prtln(what->temp_mini);
|
|
|
|
prt("Temp maxi : "); prtln(what->temp_maxi);
|
2019-05-15 00:46:49 +11:00
|
|
|
prt("Control : "); prtln(what->control);
|
2019-05-01 01:49:21 +11:00
|
|
|
return -1;
|
|
|
|
}
|
2019-04-30 02:46:14 +11:00
|
|
|
/* --------------------------------------------------------------- */
|