mirror of
https://github.com/anklimov/lighthub
synced 2025-12-06 11:49:51 +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 saveFlash(short n, char *str) {
|
||||
short i;
|
||||
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]);
|
||||
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) {
|
||||
@@ -1176,6 +1181,12 @@ int loadFlash(short n, char *str, short l) {
|
||||
|
||||
void saveFlash(short n, IPAddress& ip) {
|
||||
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) {
|
||||
@@ -1192,8 +1203,12 @@ lan_status loadConfigFromHttp(int arg_cnt, char **args)
|
||||
if (arg_cnt > 1) {
|
||||
strncpy(configServer, args[1], sizeof(configServer) - 1);
|
||||
saveFlash(OFFSET_CONFIGSERVER, configServer);
|
||||
debugSerial<<configServer<<F(" Saved")<<endl;
|
||||
} else if (!loadFlash(OFFSET_CONFIGSERVER, configServer))
|
||||
{
|
||||
strncpy_P(configServer,configserver,sizeof(configServer));
|
||||
debugSerial<<F(" Default config server used: ")<<configServer<<endl;
|
||||
}
|
||||
#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],
|
||||
mac[5]);
|
||||
|
||||
@@ -224,7 +224,7 @@ void printBool(bool arg);
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -21,14 +21,17 @@
|
||||
#define MIN_VOLUME 10
|
||||
#define INIT_VOLUME 50
|
||||
|
||||
#define MAXFLASHSTR 32
|
||||
#define PWDFLASHSTR 16
|
||||
|
||||
#define OFFSET_MAC 0
|
||||
#define OFFSET_IP OFFSET_MAC+6
|
||||
#define OFFSET_DNS OFFSET_IP+4
|
||||
#define OFFSET_GW OFFSET_DNS+4
|
||||
#define OFFSET_MASK OFFSET_GW+4
|
||||
#define OFFSET_CONFIGSERVER OFFSET_MASK+4
|
||||
#define OFFSET_MQTT_PWD OFFSET_CONFIGSERVER+32
|
||||
#define EEPROM_offset_NotAlligned OFFSET_MQTT_PWD+16
|
||||
#define OFFSET_MQTT_PWD OFFSET_CONFIGSERVER+MAXFLASHSTR
|
||||
#define EEPROM_offset_NotAlligned OFFSET_MQTT_PWD+PWDFLASHSTR
|
||||
#define EEPROM_offset EEPROM_offset_NotAlligned + (4 -(EEPROM_offset_NotAlligned & 3))
|
||||
|
||||
#ifndef INTERVAL_CHECK_INPUT
|
||||
|
||||
Reference in New Issue
Block a user