mirror of
https://github.com/anklimov/lighthub
synced 2025-12-06 19:59:50 +03:00
conf save fixed, group chann polling. tested
This commit is contained in:
@@ -58,10 +58,7 @@ bool systemConfig::isValidSysConf()
|
|||||||
stream->seek(offsetof(systemConfigData,MQTTpwd));
|
stream->seek(offsetof(systemConfigData,MQTTpwd));
|
||||||
short bytes=stream->readBytesUntil(0,buffer,bufLen-1);
|
short bytes=stream->readBytesUntil(0,buffer,bufLen-1);
|
||||||
stream->close();
|
stream->close();
|
||||||
Serial.println("valid");
|
|
||||||
Serial.println(offsetof(systemConfigData,MQTTpwd));
|
|
||||||
Serial.println(bytes);
|
|
||||||
Serial.write(buffer,bytes);
|
|
||||||
if (bytes)
|
if (bytes)
|
||||||
{
|
{
|
||||||
buffer[bytes]=0;
|
buffer[bytes]=0;
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ NRFFlashStorage EEPROM;
|
|||||||
switch (fileNum) {
|
switch (fileNum) {
|
||||||
case FN_CONFIG_JSON:
|
case FN_CONFIG_JSON:
|
||||||
pos = 0;
|
pos = 0;
|
||||||
//streamSize = _size;
|
streamSize = MAX_JSON_CONF_SIZE;
|
||||||
startPos = EEPROM_offsetJSON;
|
startPos = EEPROM_offsetJSON;
|
||||||
textMode = true;
|
textMode = true;
|
||||||
contentType = HTTP_TEXT_JSON;
|
contentType = HTTP_TEXT_JSON;
|
||||||
@@ -204,7 +204,6 @@ NRFFlashStorage EEPROM;
|
|||||||
#if defined(__SAM3X8E__)
|
#if defined(__SAM3X8E__)
|
||||||
size_t flashStream::write(const uint8_t *buffer, size_t size)
|
size_t flashStream::write(const uint8_t *buffer, size_t size)
|
||||||
{
|
{
|
||||||
//debugSerial<<("Write from:")<<pos<<" "<<size<<" bytes"<<endl;
|
|
||||||
EEPROM.write(startPos+pos,(byte*)buffer,size);
|
EEPROM.write(startPos+pos,(byte*)buffer,size);
|
||||||
pos+=size;
|
pos+=size;
|
||||||
return size;
|
return size;
|
||||||
@@ -215,7 +214,7 @@ NRFFlashStorage EEPROM;
|
|||||||
#if defined(ESP8266) || defined(ESP32)
|
#if defined(ESP8266) || defined(ESP32)
|
||||||
void flashStream::putEOF()
|
void flashStream::putEOF()
|
||||||
{
|
{
|
||||||
write (255);
|
if (textMode) write (EOFchar);
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -279,10 +279,12 @@ uint16_t httpHandler(Client& client, String request, long contentLength, bool au
|
|||||||
Item item((char*)request.c_str());
|
Item item((char*)request.c_str());
|
||||||
if (!item.isValid()) return 400;
|
if (!item.isValid()) return 400;
|
||||||
|
|
||||||
itemCmd ic;
|
|
||||||
ic.loadItem(&item,SEND_COMMAND|SEND_PARAMETERS);
|
|
||||||
if (item.itemType == CH_GROUP)
|
if (item.itemType == CH_GROUP)
|
||||||
{if (item.isActive()) item.setCmd(CMD_ON); else item.setCmd(CMD_OFF);}
|
{if (item.isActive()) item.setCmd(CMD_ON); else item.setCmd(CMD_OFF);}
|
||||||
|
|
||||||
|
itemCmd ic;
|
||||||
|
ic.loadItem(&item,SEND_COMMAND|SEND_PARAMETERS);
|
||||||
|
|
||||||
char buf[32];
|
char buf[32];
|
||||||
response=ic.toString(buf, sizeof(buf));
|
response=ic.toString(buf, sizeof(buf));
|
||||||
return 200 | HTTP_TEXT_PLAIN;
|
return 200 | HTTP_TEXT_PLAIN;
|
||||||
@@ -297,10 +299,10 @@ uint16_t httpHandler(Client& client, String request, long contentLength, bool au
|
|||||||
request+=body;
|
request+=body;
|
||||||
|
|
||||||
debugSerial<<F("Cmd: ")<<request<<endl;
|
debugSerial<<F("Cmd: ")<<request<<endl;
|
||||||
if (request=="reboot ") client.stop();
|
if (request=="reboot ") ArduinoOTA.sendHttpResponse(client,200);
|
||||||
const char* res=request.c_str();
|
const char* res=request.c_str();
|
||||||
cmd_parse((char*) res);
|
cmd_parse((char*) res);
|
||||||
return 200 | HTTP_TEXT_PLAIN;
|
return 200;
|
||||||
}
|
}
|
||||||
else return 0; //Unknown
|
else return 0; //Unknown
|
||||||
}
|
}
|
||||||
@@ -1295,14 +1297,12 @@ if (arg_cnt>1)
|
|||||||
aJsonStringStream stringStream(NULL, outBuf, MAX_JSON_CONF_SIZE);
|
aJsonStringStream stringStream(NULL, outBuf, MAX_JSON_CONF_SIZE);
|
||||||
aJson.print(root, &stringStream);
|
aJson.print(root, &stringStream);
|
||||||
int len = strlen(outBuf);
|
int len = strlen(outBuf);
|
||||||
outBuf[len++]= 255;
|
outBuf[len++]= EOFchar;
|
||||||
//JSONStream.seek();
|
|
||||||
size_t res = sysConfStream.write((byte*) outBuf,len);
|
size_t res = sysConfStream.write((byte*) outBuf,len);
|
||||||
free (outBuf);
|
free (outBuf);
|
||||||
infoSerial<<res<< F("bytes from ")<<len<<F(" are saved to EEPROM")<<endl;
|
infoSerial<<res<< F("bytes from ")<<len<<F(" are saved to EEPROM")<<endl;
|
||||||
#else
|
#else
|
||||||
//JSONStream.open('w');
|
|
||||||
//JSONStream.seek();
|
|
||||||
aJsonStream jsonEEPROMStream = aJsonStream(&sysConfStream);
|
aJsonStream jsonEEPROMStream = aJsonStream(&sysConfStream);
|
||||||
infoSerial<<F("Saving config to EEPROM..");
|
infoSerial<<F("Saving config to EEPROM..");
|
||||||
aJson.print(root, &jsonEEPROMStream);
|
aJson.print(root, &jsonEEPROMStream);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#ifndef MAX_JSON_CONF_SIZE
|
#ifndef MAX_JSON_CONF_SIZE
|
||||||
|
|
||||||
#if defined(__SAM3X8E__)
|
#if defined(__SAM3X8E__)
|
||||||
#define MAX_JSON_CONF_SIZE 16000
|
#define MAX_JSON_CONF_SIZE 24000
|
||||||
#elif defined(ARDUINO_ARCH_AVR)
|
#elif defined(ARDUINO_ARCH_AVR)
|
||||||
#define MAX_JSON_CONF_SIZE 4096
|
#define MAX_JSON_CONF_SIZE 4096
|
||||||
#elif defined(ARDUINO_ARCH_ESP32)
|
#elif defined(ARDUINO_ARCH_ESP32)
|
||||||
|
|||||||
Reference in New Issue
Block a user