52 lines
998 B
C++
52 lines
998 B
C++
#include <EEPROM.h>
|
|
#include "config.h"
|
|
|
|
// ------------------------
|
|
unsigned char Config::load() {
|
|
EEPROM.begin(EEPROM_SIZE);
|
|
uint8_t *p = (uint8_t*)(&data);
|
|
for (int i = 0; i < sizeof(data); i++)
|
|
{
|
|
*(p + i) = EEPROM.read(i);
|
|
}
|
|
EEPROM.commit();
|
|
|
|
return data.flag;
|
|
}
|
|
|
|
char* Config::ssid() {
|
|
return data.ssid;
|
|
}
|
|
|
|
void Config::ssid(char* ssid) {
|
|
if(ssid == NULL) return;
|
|
strncpy(data.ssid,ssid,WIFI_SSID_LEN);
|
|
}
|
|
|
|
char* Config::password() {
|
|
return data.psw;
|
|
}
|
|
|
|
void Config::password(char* password) {
|
|
if(password == NULL) return;
|
|
strncpy(data.psw,password,WIFI_PASSWD_LEN);
|
|
}
|
|
|
|
void Config::save(const char*ssid,const char*password) {
|
|
if(ssid ==NULL || password==NULL)
|
|
return;
|
|
|
|
EEPROM.begin(EEPROM_SIZE);
|
|
data.flag = 1;
|
|
strncpy(data.ssid, ssid, WIFI_SSID_LEN);
|
|
strncpy(data.psw, password, WIFI_PASSWD_LEN);
|
|
uint8_t *p = (uint8_t*)(&data);
|
|
for (int i = 0; i < sizeof(data); i++)
|
|
{
|
|
EEPROM.write(i, *(p + i));
|
|
}
|
|
EEPROM.commit();
|
|
}
|
|
|
|
Config config;
|