TS-E+ базовая библиотека.
libTSE+
 Указатель Классы Функции Переменные Определения типов
nvram.h
1 /*
2  * nvram.h
3  *
4  * Created on: Apr 16, 2015
5  * Author: nick
6  */
7 
8 #ifndef NVRAM_H_
9 #define NVRAM_H_
10 #include <string.h>
11 #include <avr/pgmspace.h>
12 #include "net.h"
13 
14 
15 #define NVRAM_VALUE_SIZE 32
16 
17 
18 #define NVRAM_ADDRES (EEPROM_START + sizeof(NVRAMRecord))
19 
20 typedef int (*strcompare)(const char *, const char *);
21 typedef char *(*strcopy)(char *, const char *);
25 class NVRAM {
26 private:
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);
32 
33 public:
34  NVRAM();
38  void init();
46  void setMACAddress(const EthernetAddress);
50  void clear();
57  bool read(const char *key,char *val) {
58  return _read(key,val,&strcmp);
59  }
67  bool read_fmt(const char *key,const char *fmt, void * val) {
68  return _read_fmt(key,fmt,val,&strcmp);
69  }
73  bool isExists(const char *key) {
74  return _isExists(key,&strcmp);
75  }
81  bool write(const char *key,const char *val) {
82  return _write(key,val,&strcmp,&strcpy);
83  }
90  bool read_P(const char *key,char *val) {
91  return _read(key,val,&strcmp_P);
92  }
100  bool read_fmt_P(const char *key,const char *fmt, void * val) {
101  return _read_fmt(key,fmt,val,&strcmp_P);
102  }
106  bool isExists_P(const char *key) {
107  return _isExists(key,&strcmp_P);
108  }
114  bool write_P(const char *key,const char *val) {
115  return _write(key,val,&strcmp_P,&strcpy_P);
116  }
122  void forEach(bool (*iterator)(const char *key,
123  const char *value, //<! значение
124  void *arg
125  ), void *arg);
126 
127 
128 };
129 
130 extern class NVRAM *NVRAM;
131 #endif /* NVRAM_H_ */
void clear()
void forEach(bool(*iterator)(const char *key, const char *value, void *arg), void *arg)
void setMACAddress(const EthernetAddress)
void init()
bool read_fmt(const char *key, const char *fmt, void *val)
Definition: nvram.h:67
Definition: net.h:32
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
Definition: nvram.h:25
bool write(const char *key, const char *val)
Definition: nvram.h:81
bool read_P(const char *key, char *val)
Definition: nvram.h:90