Исправляем баг с загрузкой сценариев и конфига

This commit is contained in:
2022-08-28 21:56:47 +03:00
parent d31e5de95a
commit 79a44b165e
2 changed files with 16 additions and 14 deletions

View File

@@ -69,14 +69,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
//========сохранение=======================================================// //========сохранение=======================================================//
if (headerStr == "/gifnoc|") { if (headerStr == "/gifnoc|") {
writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256);
clearConfigure(); //clearConfigure();
configure("/config.json"); //configure("/config.json");
} }
if (headerStr == "/tuoyal|") { if (headerStr == "/tuoyal|") {
writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256);
} }
if (headerStr == "/oiranecs|") { if (headerStr == "/oiranecs|") {
writeFileUint8tByFrames("scenario.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("scenario.json", payload, length, headerLenth, 256);
clearConfigure();
configure("/config.json");
iotScen.loadScenario("/scenario.json"); iotScen.loadScenario("/scenario.json");
// создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке // создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке
IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}")); IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}"));

View File

@@ -127,25 +127,25 @@ class BinaryExprAST : public ExprAST {
IoTValue *exec() { IoTValue *exec() {
if (isIotScenException) return nullptr; if (isIotScenException) return nullptr;
String printStr = ""; // String printStr = "";
if (Op == tok_equal) // if (Op == tok_equal)
printStr = "=="; // printStr = "==";
else if (Op == tok_notequal) // else if (Op == tok_notequal)
printStr = "!="; // printStr = "!=";
else if (Op == tok_lesseq) // else if (Op == tok_lesseq)
printStr = "<="; // printStr = "<=";
else if (Op == tok_greateq) // else if (Op == tok_greateq)
printStr = ">="; // printStr = ">=";
else // else
printStr = printStr + (char)Op; // printStr = printStr + (char)Op;
// Serial.printf("Call from BinaryExprAST: %s\n", printStr.c_str()); // Serial.printf("Call from BinaryExprAST: %s\n", printStr.c_str());
if (RHS == nullptr || LHS == nullptr) return nullptr; if (RHS == nullptr || LHS == nullptr) return nullptr;
IoTValue *rhs = RHS->exec(); // получаем значение правого операнда для возможного использования в операции присваивания IoTValue *rhs = RHS->exec(); // получаем значение правого операнда для возможного использования в операции присваивания
if (Op == '=' && LHS->setValue(rhs)) { // если установка значения не поддерживается, т.е. слева не переменная, то работаем по другим комбинациям далее if (Op == '=' && LHS->setValue(rhs)) { // если установка значения не поддерживается, т.е. слева не переменная, то работаем по другим комбинациям далее
return rhs; // иначе возвращаем присвоенное значение справа return rhs; // иначе возвращаем присвоенное значение справа
} }