11 #include <avr/pgmspace.h>
15 #define NVRAM_VALUE_SIZE 32
18 #define NVRAM_ADDRES (EEPROM_START + sizeof(NVRAMRecord))
20 typedef int (*strcompare)(
const char *,
const char *);
21 typedef char *(*strcopy)(
char *,
const char *);
27 bool _read(
const char *,
char *, strcompare);
28 bool _read_fmt(
const char *,
const char *,
void *,strcompare);
29 bool _isExists(
const char *,strcompare);
30 bool _write(
const char *,
const char *,strcompare,strcopy);
31 void _erase(
const char *,strcompare);
57 bool read(
const char *key,
char *val) {
58 return _read(key,val,&strcmp);
67 bool read_fmt(
const char *key,
const char *fmt,
void * val) {
68 return _read_fmt(key,fmt,val,&strcmp);
74 return _isExists(key,&strcmp);
81 bool write(
const char *key,
const char *val) {
82 return _write(key,val,&strcmp,&strcpy);
90 bool read_P(
const char *key,
char *val) {
91 return _read(key,val,&strcmp_P);
100 bool read_fmt_P(
const char *key,
const char *fmt,
void * val) {
101 return _read_fmt(key,fmt,val,&strcmp_P);
107 return _isExists(key,&strcmp_P);
114 bool write_P(
const char *key,
const char *val) {
115 return _write(key,val,&strcmp_P,&strcpy_P);
122 void forEach(
bool (*iterator)(
const char *key,
void forEach(bool(*iterator)(const char *key, const char *value, void *arg), void *arg)
void setMACAddress(const EthernetAddress)
bool read_fmt(const char *key, const char *fmt, void *val)
Definition: nvram.h:67
bool isExists(const char *key)
Definition: nvram.h:73
bool read(const char *key, char *val)
Definition: nvram.h:57
EthernetAddress getMACAddress()
bool write_P(const char *key, const char *val)
Definition: nvram.h:114
bool read_fmt_P(const char *key, const char *fmt, void *val)
Definition: nvram.h:100
bool isExists_P(const char *key)
Definition: nvram.h:106
bool write(const char *key, const char *val)
Definition: nvram.h:81
bool read_P(const char *key, char *val)
Definition: nvram.h:90