mirror of
https://github.com/anklimov/lighthub
synced 2025-12-06 19:59:50 +03:00
ESP8266 EEPROM commit for CLI commands pwd, get, ip added
This commit is contained in:
Binary file not shown.
@@ -1158,11 +1158,16 @@ void cmdFunctionGet(int arg_cnt, char **args) {
|
|||||||
void printBool(bool arg) { (arg) ? debugSerial<<F("+") : debugSerial<<F("-"); }
|
void printBool(bool arg) { (arg) ? debugSerial<<F("+") : debugSerial<<F("-"); }
|
||||||
|
|
||||||
void saveFlash(short n, char *str) {
|
void saveFlash(short n, char *str) {
|
||||||
short i;
|
|
||||||
short len=strlen(str);
|
short len=strlen(str);
|
||||||
if (len>31) len=31;
|
if (len>MAXFLASHSTR-1) len=MAXFLASHSTR-1;
|
||||||
for(int i=0;i<len;i++) EEPROM.write(n+i,str[i]);
|
for(int i=0;i<len;i++) EEPROM.write(n+i,str[i]);
|
||||||
EEPROM.write(n+len,0);
|
EEPROM.write(n+len,0);
|
||||||
|
|
||||||
|
#if defined(ARDUINO_ARCH_ESP8266)
|
||||||
|
// write the data to EEPROM
|
||||||
|
short res = EEPROM.commitReset();
|
||||||
|
Serial.println((res) ? "EEPROM Commit OK" : "Commit failed");
|
||||||
|
#endif.
|
||||||
}
|
}
|
||||||
|
|
||||||
int loadFlash(short n, char *str, short l) {
|
int loadFlash(short n, char *str, short l) {
|
||||||
@@ -1176,6 +1181,12 @@ int loadFlash(short n, char *str, short l) {
|
|||||||
|
|
||||||
void saveFlash(short n, IPAddress& ip) {
|
void saveFlash(short n, IPAddress& ip) {
|
||||||
for(int i=0;i<4;i++) EEPROM.write(n++,ip[i]);
|
for(int i=0;i<4;i++) EEPROM.write(n++,ip[i]);
|
||||||
|
|
||||||
|
#if defined(ARDUINO_ARCH_ESP8266)
|
||||||
|
// write the data to EEPROM
|
||||||
|
short res = EEPROM.commitReset();
|
||||||
|
Serial.println((res) ? "EEPROM Commit OK" : "Commit failed");
|
||||||
|
#endif.
|
||||||
}
|
}
|
||||||
|
|
||||||
int ipLoadFromFlash(short n, IPAddress &ip) {
|
int ipLoadFromFlash(short n, IPAddress &ip) {
|
||||||
@@ -1192,8 +1203,12 @@ lan_status loadConfigFromHttp(int arg_cnt, char **args)
|
|||||||
if (arg_cnt > 1) {
|
if (arg_cnt > 1) {
|
||||||
strncpy(configServer, args[1], sizeof(configServer) - 1);
|
strncpy(configServer, args[1], sizeof(configServer) - 1);
|
||||||
saveFlash(OFFSET_CONFIGSERVER, configServer);
|
saveFlash(OFFSET_CONFIGSERVER, configServer);
|
||||||
|
debugSerial<<configServer<<F(" Saved")<<endl;
|
||||||
} else if (!loadFlash(OFFSET_CONFIGSERVER, configServer))
|
} else if (!loadFlash(OFFSET_CONFIGSERVER, configServer))
|
||||||
|
{
|
||||||
strncpy_P(configServer,configserver,sizeof(configServer));
|
strncpy_P(configServer,configserver,sizeof(configServer));
|
||||||
|
debugSerial<<F(" Default config server used: ")<<configServer<<endl;
|
||||||
|
}
|
||||||
#ifndef DEVICE_NAME
|
#ifndef DEVICE_NAME
|
||||||
snprintf(URI, sizeof(URI), "/cnf/%02x-%02x-%02x-%02x-%02x-%02x.config.json", mac[0], mac[1], mac[2], mac[3], mac[4],
|
snprintf(URI, sizeof(URI), "/cnf/%02x-%02x-%02x-%02x-%02x-%02x.config.json", mac[0], mac[1], mac[2], mac[3], mac[4],
|
||||||
mac[5]);
|
mac[5]);
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ void printBool(bool arg);
|
|||||||
|
|
||||||
void saveFlash(short n, char *str);
|
void saveFlash(short n, char *str);
|
||||||
|
|
||||||
int loadFlash(short n, char *str, short l=32);
|
int loadFlash(short n, char *str, short l=MAXFLASHSTR);
|
||||||
|
|
||||||
void saveFlash(short n, IPAddress& ip);
|
void saveFlash(short n, IPAddress& ip);
|
||||||
|
|
||||||
|
|||||||
@@ -21,14 +21,17 @@
|
|||||||
#define MIN_VOLUME 10
|
#define MIN_VOLUME 10
|
||||||
#define INIT_VOLUME 50
|
#define INIT_VOLUME 50
|
||||||
|
|
||||||
|
#define MAXFLASHSTR 32
|
||||||
|
#define PWDFLASHSTR 16
|
||||||
|
|
||||||
#define OFFSET_MAC 0
|
#define OFFSET_MAC 0
|
||||||
#define OFFSET_IP OFFSET_MAC+6
|
#define OFFSET_IP OFFSET_MAC+6
|
||||||
#define OFFSET_DNS OFFSET_IP+4
|
#define OFFSET_DNS OFFSET_IP+4
|
||||||
#define OFFSET_GW OFFSET_DNS+4
|
#define OFFSET_GW OFFSET_DNS+4
|
||||||
#define OFFSET_MASK OFFSET_GW+4
|
#define OFFSET_MASK OFFSET_GW+4
|
||||||
#define OFFSET_CONFIGSERVER OFFSET_MASK+4
|
#define OFFSET_CONFIGSERVER OFFSET_MASK+4
|
||||||
#define OFFSET_MQTT_PWD OFFSET_CONFIGSERVER+32
|
#define OFFSET_MQTT_PWD OFFSET_CONFIGSERVER+MAXFLASHSTR
|
||||||
#define EEPROM_offset_NotAlligned OFFSET_MQTT_PWD+16
|
#define EEPROM_offset_NotAlligned OFFSET_MQTT_PWD+PWDFLASHSTR
|
||||||
#define EEPROM_offset EEPROM_offset_NotAlligned + (4 -(EEPROM_offset_NotAlligned & 3))
|
#define EEPROM_offset EEPROM_offset_NotAlligned + (4 -(EEPROM_offset_NotAlligned & 3))
|
||||||
|
|
||||||
#ifndef INTERVAL_CHECK_INPUT
|
#ifndef INTERVAL_CHECK_INPUT
|
||||||
|
|||||||
Reference in New Issue
Block a user