From 434dd312af5656f30638cded841f9b6550463838 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 16 Apr 2021 11:57:45 +0200 Subject: [PATCH 1/2] Merge pull request #11742 from Jason2866/patch-3 Fix for #11680 --- tasmota/xsns_53_sml.ino | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/tasmota/xsns_53_sml.ino b/tasmota/xsns_53_sml.ino index c29cd29a5..5288e2dc3 100755 --- a/tasmota/xsns_53_sml.ino +++ b/tasmota/xsns_53_sml.ino @@ -1915,14 +1915,14 @@ void SML_Immediate_MQTT(const char *mp,uint8_t index,uint8_t mindex) { // web + json interface void SML_Show(boolean json) { - int8_t count,mindex,cindex=0; + int8_t count, mindex, cindex = 0; char tpowstr[32]; char name[24]; char unit[8]; char jname[24]; int8_t index=0,mid=0; char *mp=(char*)meter_p; - char *cp,nojson=0; + char *cp, nojson = 0; //char b_mqtt_data[MESSZ]; //b_mqtt_data[0]=0; @@ -1937,9 +1937,9 @@ void SML_Show(boolean json) { if (mindex<0 || mindex>=meters_used) mindex=0; if (meter_desc_p[mindex].prefix[0]=='*' && meter_desc_p[mindex].prefix[1]==0) { - nojson=1; + nojson = 1; } else { - nojson=0; + nojson = 0; } mp+=2; if (*mp=='=' && *(mp+1)=='h') { @@ -2032,27 +2032,35 @@ void SML_Show(boolean json) { } if (json) { - if (!dvalid[index]) { - nojson = 1; + //if (dvalid[index]) { + //AddLog(LOG_LEVEL_INFO, PSTR("not yet valid line %d"), index); - } + //} // json export if (index==0) { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":{\"%s\":%s", b_mqtt_data,meter_desc_p[mindex].prefix,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + } } else { if (lastmind!=mindex) { // meter changed, close mqtt //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s}", b_mqtt_data); - if (!nojson) ResponseAppend_P(PSTR("}")); + if (!nojson) { + ResponseAppend_P(PSTR("}")); + } // and open new //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":{\"%s\":%s", b_mqtt_data,meter_desc_p[mindex].prefix,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%s"),meter_desc_p[mindex].prefix,jname,tpowstr); + } lastmind=mindex; } else { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s,\"%s\":%s", b_mqtt_data,jname,tpowstr); - if (!nojson) ResponseAppend_P(PSTR(",\"%s\":%s"),jname,tpowstr); + if (!nojson) { + ResponseAppend_P(PSTR(",\"%s\":%s"),jname,tpowstr); + } } } @@ -2073,7 +2081,9 @@ void SML_Show(boolean json) { if (json) { //snprintf_P(b_mqtt_data, sizeof(b_mqtt_data), "%s}", b_mqtt_data); //ResponseAppend_P(PSTR("%s"),b_mqtt_data); - if (!nojson) ResponseAppend_P(PSTR("}")); + if (!nojson) { + ResponseAppend_P(PSTR("}")); + } } else { //WSContentSend_PD(PSTR("%s"),b_mqtt_data); } From 33f5714e9c8ffe18818400f7b8d0cc22b5b7ece0 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun, 18 Apr 2021 11:34:34 +0200 Subject: [PATCH 2/2] more refactor --- boards/esp8266_1M.json | 2 +- boards/esp8266_2M1M.json | 32 ++++++++++++++++++++++++++ boards/esp8266_4M2M.json | 32 ++++++++++++++++++++++++++ boards/esp8266_4M3M.json | 32 ++++++++++++++++++++++++++ platformio_override_sample.ini | 18 +++++++-------- tasmota/xdrv_98_file_settings_demo.ino | 2 +- 6 files changed, 107 insertions(+), 11 deletions(-) create mode 100644 boards/esp8266_2M1M.json create mode 100644 boards/esp8266_4M2M.json create mode 100644 boards/esp8266_4M3M.json diff --git a/boards/esp8266_1M.json b/boards/esp8266_1M.json index 7a0eb335d..b4683b076 100644 --- a/boards/esp8266_1M.json +++ b/boards/esp8266_1M.json @@ -19,7 +19,7 @@ "esp8266-rtos-sdk", "esp8266-nonos-sdk" ], - "name": "Espressif Generic ESP8266 ESP-01 1M", + "name": "Espressif Generic ESP8266 1M sketch NO SPIFFS", "upload": { "maximum_ram_size": 81920, "maximum_size": 1048576, diff --git a/boards/esp8266_2M1M.json b/boards/esp8266_2M1M.json new file mode 100644 index 000000000..30ec5331f --- /dev/null +++ b/boards/esp8266_2M1M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.2m1m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 1M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/boards/esp8266_4M2M.json b/boards/esp8266_4M2M.json new file mode 100644 index 000000000..5a77b597d --- /dev/null +++ b/boards/esp8266_4M2M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.4m2m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 1M OTA 2M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/boards/esp8266_4M3M.json b/boards/esp8266_4M3M.json new file mode 100644 index 000000000..f6d8a185b --- /dev/null +++ b/boards/esp8266_4M3M.json @@ -0,0 +1,32 @@ +{ + "build": { + "arduino": { + "ldscript": "eagle.flash.4m3m.ld" + }, + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dout", + "mcu": "esp8266", + "variant": "generic" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino", + "esp8266-rtos-sdk", + "esp8266-nonos-sdk" + ], + "name": "Espressif Generic ESP8266 1M sketch 3M SPIFFS", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 1048576, + "require_upload_port": true, + "resetmethod": "ck", + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" +} diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 66de45c80..a674fad2d 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -55,13 +55,13 @@ build_flags = ${core.build_flags} ; *** If you try with earlier builds a serial erase and flash is probably needed ; ; Build variant 1MB = 1MB firmware no filesystem (default) -;board_build.ldscript = eagle.flash.1m.ld -; Build variant 2MB = 1MB firmware, +744k OTA, 256k filesystem (Zigbee Bridge, most Shelly devices) -;board_build.ldscript = eagle.flash.2m256.ld -; Build variant 4MB = 1MB firmware, +1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) -;board_build.ldscript = eagle.flash.4m2m.ld -; Build variant 16MB = 1MB firmware, +1MB OTA, 14MB filesystem (WEMOS D1 Mini pro, Ledunia (=32MB)) -;board_build.ldscript = eagle.flash.16m14m.ld +;board = esp8266_1M +; Build variant 2MB = 1MB firmware, 1MB filesystem (most Shelly devices) +;board = esp8266_2M1M +; Build variant 4MB = 1MB firmware, 3MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) +;board = esp8266_4M3M +; Build variant 4MB = 1MB firmware, 1MB OTA, 2MB filesystem (WEMOS D1 Mini, NodeMCU, Sonoff POW) +;board = esp8266_4M2M ; set CPU frequency to 80MHz (default) or 160MHz ;board_build.f_cpu = 160000000L @@ -209,11 +209,11 @@ lib_ignore = NimBLE-Arduino Micro-RTSP -; *** EXPERIMENTAL Tasmota version for Arduino ESP32 IDF4.4. Linking not working. +; *** EXPERIMENTAL Tasmota version for ESP32 IDF4.4. [env:tasmota32idf4] extends = env:tasmota32_base platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-idf-v4.4 -platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/arduino-esp32/releases/download/esp32-2.0.0-pre/esp32-2.0.0-pre.zip +platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} diff --git a/tasmota/xdrv_98_file_settings_demo.ino b/tasmota/xdrv_98_file_settings_demo.ino index 5f9beb7ff..88e121f78 100644 --- a/tasmota/xdrv_98_file_settings_demo.ino +++ b/tasmota/xdrv_98_file_settings_demo.ino @@ -26,7 +26,7 @@ * * To test this file: * - Have hardware with at least 2M flash - * - Enable a build.ldscript with at least 256k filesystem in platform_override.ini + * - Enable a board with at least 256k filesystem in platform_override.ini * - Enable define USE_UFILESYS in user_config_override.h \*********************************************************************************************/ #warning **** USE_DRV_FILE_DEMO is enabled ****