From eb3de9c73a23e5559123dd85df70f844aaa46f33 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sun, 16 Oct 2022 18:32:46 +0200 Subject: [PATCH 1/2] Support for Flash size 32/64/128 MB in Partition Wizard and auto-resize --- CHANGELOG.md | 1 + .../src/embedded/partition_core.be | 3 + .../src/solidify/solidified_partition_core.h | 89 ++++++++++-------- tasmota/berry/modules/Partition_Wizard.tapp | Bin 16237 -> 16297 bytes .../Partition_Wizard/partition_wizard.bec | Bin 15794 -> 15854 bytes tasmota/berry/modules/partition_wizard.be | 3 + 6 files changed, 59 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ab77373a..de43ebc1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - Command ``WcClock 10..200`` set webcam clock in MHz. Default is 20 - ESP32 Automatically resize FS to max flash size at initial boot (#16838) - Command ``SspmPowerOnState 0|1|2`` to set Sonoff SPM 4Relay module v1.2.0 power on state overruling tasmota global power on state. 0 = Off, 1 = On, 2 = Saved state (#13447) +- Support for Flash size 32/64/128 MB in Partition Wizard and auto-resize ### Changed diff --git a/lib/libesp32/berry_tasmota/src/embedded/partition_core.be b/lib/libesp32/berry_tasmota/src/embedded/partition_core.be index 0c6623936..b80f23ca7 100644 --- a/lib/libesp32/berry_tasmota/src/embedded/partition_core.be +++ b/lib/libesp32/berry_tasmota/src/embedded/partition_core.be @@ -566,6 +566,9 @@ class Partition elif flash_size_real_m == 4 flash_size_code = 0x20 elif flash_size_real_m == 8 flash_size_code = 0x30 elif flash_size_real_m == 16 flash_size_code = 0x40 + elif flash_size_real_m == 32 flash_size_code = 0x50 + elif flash_size_real_m == 64 flash_size_code = 0x60 + elif flash_size_real_m == 128 flash_size_code = 0x70 end if flash_size_code != nil diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h index 7c9686b98..c298260ac 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h @@ -821,7 +821,7 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */ }), &be_const_str_resize_max_flash_size_k, &be_const_str_solidified, - ( &(const binstruction[80]) { /* code */ + ( &(const binstruction[95]) { /* code */ 0xB8060000, // 0000 GETNGBL R1 K0 0x8C040301, // 0001 GETMET R1 R1 K1 0x7C040200, // 0002 CALL R1 1 @@ -836,10 +836,10 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */ 0x8C0C0105, // 000B GETMET R3 R0 K5 0x7C0C0200, // 000C CALL R3 1 0x20100202, // 000D NE R4 R1 R2 - 0x7812003F, // 000E JMPF R4 #004F + 0x7812004E, // 000E JMPF R4 #005E 0x4C100000, // 000F LDNIL R4 0x20100604, // 0010 NE R4 R3 R4 - 0x7812003C, // 0011 JMPF R4 #004F + 0x7812004B, // 0011 JMPF R4 #005E 0xA4120400, // 0012 IMPORT R4 K2 0xA4160C00, // 0013 IMPORT R5 K6 0x5C040400, // 0014 MOVE R1 R2 @@ -854,54 +854,69 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */ 0x1C281309, // 001D EQ R10 R9 K9 0x782A0001, // 001E JMPF R10 #0021 0x5820000A, // 001F LDCONST R8 K10 - 0x70020011, // 0020 JMP #0033 + 0x70020020, // 0020 JMP #0042 0x1C28130B, // 0021 EQ R10 R9 K11 0x782A0001, // 0022 JMPF R10 #0025 0x5422000F, // 0023 LDINT R8 16 - 0x7002000D, // 0024 JMP #0033 + 0x7002001C, // 0024 JMP #0042 0x542A0003, // 0025 LDINT R10 4 0x1C28120A, // 0026 EQ R10 R9 R10 0x782A0001, // 0027 JMPF R10 #002A 0x5422001F, // 0028 LDINT R8 32 - 0x70020008, // 0029 JMP #0033 + 0x70020017, // 0029 JMP #0042 0x542A0007, // 002A LDINT R10 8 0x1C28120A, // 002B EQ R10 R9 R10 0x782A0001, // 002C JMPF R10 #002F 0x5422002F, // 002D LDINT R8 48 - 0x70020003, // 002E JMP #0033 + 0x70020012, // 002E JMP #0042 0x542A000F, // 002F LDINT R10 16 0x1C28120A, // 0030 EQ R10 R9 R10 - 0x782A0000, // 0031 JMPF R10 #0033 + 0x782A0001, // 0031 JMPF R10 #0034 0x5422003F, // 0032 LDINT R8 64 - 0x4C280000, // 0033 LDNIL R10 - 0x2028100A, // 0034 NE R10 R8 R10 - 0x782A0013, // 0035 JMPF R10 #004A - 0x94280D08, // 0036 GETIDX R10 R6 K8 - 0x942C0D08, // 0037 GETIDX R11 R6 K8 - 0x5432000E, // 0038 LDINT R12 15 - 0x2C2C160C, // 0039 AND R11 R11 R12 - 0x302C1608, // 003A OR R11 R11 R8 - 0x981A100B, // 003B SETIDX R6 K8 R11 - 0x8C2C090C, // 003C GETMET R11 R4 K12 - 0x5C340600, // 003D MOVE R13 R3 - 0x5C380C00, // 003E MOVE R14 R6 - 0x7C2C0600, // 003F CALL R11 3 - 0xB82E0000, // 0040 GETNGBL R11 K0 - 0x8C2C170D, // 0041 GETMET R11 R11 K13 - 0x8C340B0E, // 0042 GETMET R13 R5 K14 - 0x583C000F, // 0043 LDCONST R15 K15 - 0x5C401400, // 0044 MOVE R16 R10 - 0x94440D08, // 0045 GETIDX R17 R6 K8 - 0x7C340800, // 0046 CALL R13 4 - 0x58380008, // 0047 LDCONST R14 K8 - 0x7C2C0600, // 0048 CALL R11 3 - 0x70020004, // 0049 JMP #004F - 0x60280008, // 004A GETGBL R10 G8 - 0x5C2C1200, // 004B MOVE R11 R9 - 0x7C280200, // 004C CALL R10 1 - 0x002A200A, // 004D ADD R10 K16 R10 - 0xB006220A, // 004E RAISE 1 K17 R10 - 0x80000000, // 004F RET 0 + 0x7002000D, // 0033 JMP #0042 + 0x542A001F, // 0034 LDINT R10 32 + 0x1C28120A, // 0035 EQ R10 R9 R10 + 0x782A0001, // 0036 JMPF R10 #0039 + 0x5422004F, // 0037 LDINT R8 80 + 0x70020008, // 0038 JMP #0042 + 0x542A003F, // 0039 LDINT R10 64 + 0x1C28120A, // 003A EQ R10 R9 R10 + 0x782A0001, // 003B JMPF R10 #003E + 0x5422005F, // 003C LDINT R8 96 + 0x70020003, // 003D JMP #0042 + 0x542A007F, // 003E LDINT R10 128 + 0x1C28120A, // 003F EQ R10 R9 R10 + 0x782A0000, // 0040 JMPF R10 #0042 + 0x5422006F, // 0041 LDINT R8 112 + 0x4C280000, // 0042 LDNIL R10 + 0x2028100A, // 0043 NE R10 R8 R10 + 0x782A0013, // 0044 JMPF R10 #0059 + 0x94280D08, // 0045 GETIDX R10 R6 K8 + 0x942C0D08, // 0046 GETIDX R11 R6 K8 + 0x5432000E, // 0047 LDINT R12 15 + 0x2C2C160C, // 0048 AND R11 R11 R12 + 0x302C1608, // 0049 OR R11 R11 R8 + 0x981A100B, // 004A SETIDX R6 K8 R11 + 0x8C2C090C, // 004B GETMET R11 R4 K12 + 0x5C340600, // 004C MOVE R13 R3 + 0x5C380C00, // 004D MOVE R14 R6 + 0x7C2C0600, // 004E CALL R11 3 + 0xB82E0000, // 004F GETNGBL R11 K0 + 0x8C2C170D, // 0050 GETMET R11 R11 K13 + 0x8C340B0E, // 0051 GETMET R13 R5 K14 + 0x583C000F, // 0052 LDCONST R15 K15 + 0x5C401400, // 0053 MOVE R16 R10 + 0x94440D08, // 0054 GETIDX R17 R6 K8 + 0x7C340800, // 0055 CALL R13 4 + 0x58380008, // 0056 LDCONST R14 K8 + 0x7C2C0600, // 0057 CALL R11 3 + 0x70020004, // 0058 JMP #005E + 0x60280008, // 0059 GETGBL R10 G8 + 0x5C2C1200, // 005A MOVE R11 R9 + 0x7C280200, // 005B CALL R10 1 + 0x002A200A, // 005C ADD R10 K16 R10 + 0xB006220A, // 005D RAISE 1 K17 R10 + 0x80000000, // 005E RET 0 }) ) ); diff --git a/tasmota/berry/modules/Partition_Wizard.tapp b/tasmota/berry/modules/Partition_Wizard.tapp index 91a5e33142f8bb8cc00131bf8d52ba22b7812bea..14665731deda39cd505acb1cc0e0454fd4b45fe2 100644 GIT binary patch delta 250 zcmaD`x3Yf1Hj%}X141PxJ)iT=mVp6;MHpllCI_ku^CpLea569l8u}yy@y1uaEQ|@0 zJvHB+Pi|qgu2*1SD&Q8?kzr)etKer)3y}fxnHls#xJ4jh z@<1_hpcp%nm_ATU2q?ynBxVm3;{}SzBZ>I~#W;Xs_DEv!Krv>ZSUp6HO@;wzasFlw bHbzTc6faE{v)2RpVzRrv0^18a1|R?cQcpGq delta 212 zcmZ2k|F&+zHj(Mu)ItM|zHx7|Wnchd5e6BC$%bOWyvd;JWz}S zD8`N?rVkWj28!`R#TbBk?KiuyF5v3K}42/#SE?L>L$t0=!w- QfD{805UvK&YwSQg09o!UM*si- diff --git a/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec b/tasmota/berry/modules/Partition_Wizard/partition_wizard.bec index 25bf5d36a2c76fa3d0855bacbd61e8a2949e4584..f0c39f5afe377ec19d97ee326b52077e55a291a4 100644 GIT binary patch delta 175 zcmdl~{jPe0Eem79WPf%2$+;{7ynYN~6$}g_KCB!f3f_~uSgh+67?=vUMRjBt8T2an z8Pq~#fP7{Ky%25@h?qQ3OdKf2jwGfJ6cYl9@gs@Z1I2iOV)960{y;GfpqM?9SUgaS V87Ni{5o42K09u^CnU8ge1ps}hA0Yq$ delta 110 zcmaD?y{USGEem7dWIGmnUV8?y3I+xdA65<#1)IrTEY_Za3`_;wqB=5+40;v(3~C{~ pKt3~rUI@1cL`)ti#sL&#M-tNqiZKJl_@QD9K)v>xy;zr6006vS6Z!xE diff --git a/tasmota/berry/modules/partition_wizard.be b/tasmota/berry/modules/partition_wizard.be index 33cdaf88f..28022691b 100644 --- a/tasmota/berry/modules/partition_wizard.be +++ b/tasmota/berry/modules/partition_wizard.be @@ -123,6 +123,9 @@ class Partition_wizard_UI elif flash_size_real_m == 4 flash_size_code = 0x20 elif flash_size_real_m == 8 flash_size_code = 0x30 elif flash_size_real_m == 16 flash_size_code = 0x40 + elif flash_size_real_m == 32 flash_size_code = 0x50 + elif flash_size_real_m == 64 flash_size_code = 0x60 + elif flash_size_real_m == 128 flash_size_code = 0x70 end if flash_size_code != nil From d4559fea5afac21ead866c0292e9e96cefd761cf Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 17 Oct 2022 10:34:48 +0200 Subject: [PATCH 2/2] Prep release v12.2 --- FIRMWARE.md | 2 +- README.md | 2 +- RELEASENOTES.md | 18 +++++++----------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/FIRMWARE.md b/FIRMWARE.md index dbcd29f44..98cb9e02d 100644 --- a/FIRMWARE.md +++ b/FIRMWARE.md @@ -18,7 +18,7 @@ See [CHANGELOG.md](https://github.com/arendst/Tasmota/blob/development/tasmota/C ## Development -[![Dev Version](https://img.shields.io/badge/development%20version-v12.1.x.x-blue.svg)](https://github.com/arendst/Tasmota) +[![Dev Version](https://img.shields.io/badge/development%20version-v12.2.x.x-blue.svg)](https://github.com/arendst/Tasmota) [![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://ota.tasmota.com/tasmota/) [![Tasmota CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22) [![Tasmota ESP32 CI](https://github.com/arendst/Tasmota/workflows/Tasmota%20ESP32%20CI/badge.svg)](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22) diff --git a/README.md b/README.md index 1e6479af0..48a099409 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Firmware binaries can be downloaded from http://ota.tasmota.com/tasmota/release/ ## Development -[![Dev Version](https://img.shields.io/badge/development%20version-v12.1.x.x-blue.svg)](https://github.com/arendst/Tasmota) +[![Dev Version](https://img.shields.io/badge/development%20version-v12.2.x.x-blue.svg)](https://github.com/arendst/Tasmota) [![Download Dev](https://img.shields.io/badge/download-development-yellow.svg)](http://ota.tasmota.com/tasmota/) [![Tasmota CI](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml/badge.svg)](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml) [![Build_development](https://github.com/arendst/Tasmota/actions/workflows/Tasmota_build_devel.yml/badge.svg)](https://github.com/arendst/Tasmota/actions/workflows/Tasmota_build_devel.yml) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 18ed93054..aaa20d4a2 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -111,13 +111,12 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo ### Added - Command ``SetOption46 0..255`` to add 0..255 * 10 milliseconds power on delay before initializing I/O [#15438](https://github.com/arendst/Tasmota/issues/15438) - Command ``SetOption146 1`` to enable display of ESP32 internal temperature -- Command ``SetOption46 0..255`` to add 0..255 * 10 milliseconds power on delay before initializing I/O [#15438](https://github.com/arendst/Tasmota/issues/15438) -- Command ``StatusRetain`` [#11109](https://github.com/arendst/Tasmota/issues/11109) -- Command ``UrlFetch `` to download a file to filesystem - Command ``DspSpeed 2..127`` to control message rotation speed on display of POWR3xxD and THR3xxD - Command ``DspLine<1|2> ,,,,...`` to select message(s) on display of POWR3xxD and THR3xxD - Command ``SspmPowerOnState 0|1|2`` to set Sonoff SPM 4Relay module v1.2.0 power on state overruling tasmota global power on state. 0 = Off, 1 = On, 2 = Saved state [#13447](https://github.com/arendst/Tasmota/issues/13447) +- Command ``StatusRetain 0|1`` [#11109](https://github.com/arendst/Tasmota/issues/11109) - Command ``Sunrise 0..3`` to select sunrise dawn angle between Normal, Civil, Nautical or Astronomical [#16795](https://github.com/arendst/Tasmota/issues/16795) +- Command ``UrlFetch `` to download a file to filesystem - Command ``WcClock 10..200`` set webcam clock in MHz. Default is 20 - Support for Shelly Plus 2PM - Support for SGP40 gas and air quality sensor [#16341](https://github.com/arendst/Tasmota/issues/16341) @@ -125,12 +124,12 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo - Support for DFRobot SEN0390 V30B ambient light sensor [#16105](https://github.com/arendst/Tasmota/issues/16105) - Support for QMC5883L magnetic induction sensor by Helge Scheunemann [#16714](https://github.com/arendst/Tasmota/issues/16714) - Support for Modbus Energy Monitoring devices using a rule file. See ``xnrg_29_modbus.ino`` for more information +- Support for flowrate meter flow amount/duration, show values in table format [#16385](https://github.com/arendst/Tasmota/issues/16385) +- Support of optional file calib.dat on ADE7953 based energy monitors like Shelly EM [#16486](https://github.com/arendst/Tasmota/issues/16486) - Zigbee device plugin mechanism with commands ``ZbLoad``, ``ZbUnload`` and ``ZbLoadDump`` [#16252](https://github.com/arendst/Tasmota/issues/16252) - Zigbee basic support for Green Power [#16407](https://github.com/arendst/Tasmota/issues/16407) - Zigbee friendly names per endpoint - Zigbee Alexa/Hue emulation, support multiple switches on separate endpoints [#16718](https://github.com/arendst/Tasmota/issues/16718) -- Flowrate meter flow amount/duration, show values in table format [#16385](https://github.com/arendst/Tasmota/issues/16385) -- Support of optional file calib.dat on ADE7953 based energy monitors like Shelly EM [#16486](https://github.com/arendst/Tasmota/issues/16486) - Support for Ethernet in ESP32 safeboot firmware [#16388](https://github.com/arendst/Tasmota/issues/16388) - ESP32-S3 support for internal temperature sensor - ESP32-S2 and ESP32-S3 touch button support @@ -140,19 +139,18 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo - LVGL/HASPmota add tiny "pixel perfect" fonts for small screens [#16758](https://github.com/arendst/Tasmota/issues/16758) - HASPmota support for TTF fonts [#16759](https://github.com/arendst/Tasmota/issues/16759) -### Breaking Changed - ### Changed - IRremoteESP8266 library from v2.8.2 to v2.8.4 - TasmotaModbus library from v3.5.0 to v3.6.0 [#16351](https://github.com/arendst/Tasmota/issues/16351) - ESP32 NimBLE library from v1.3.6 to v1.4.0 - ESP32 LVGL library from v8.3.0 to v8.3.2 - ESP32 Tasmota Core32 from 2.0.4.1 to 2.0.5 +- Command ``SerialBuffer`` raise max allowed buffer size to 2048 characters [#16374](https://github.com/arendst/Tasmota/issues/16374) - Increase serial console input buffer size from 520 to 800 - Button debouncing V3 by adopting switch debounce code [#16339](https://github.com/arendst/Tasmota/issues/16339) - Thermostat max allowed temperature from 100 to 200C [#16363](https://github.com/arendst/Tasmota/issues/16363) -- Using command ``SerialBuffer`` raise max allowed buffer size to 2048 characters [#16374](https://github.com/arendst/Tasmota/issues/16374) -- Swap Shelly EM internal channels A and B to match P1 and P2 [#16486](https://github.com/arendst/Tasmota/issues/16486) +- Shelly EM swap internal channels A and B to match P1 and P2 [#16486](https://github.com/arendst/Tasmota/issues/16486) +- Shelly EM phase calibration set to 200 (from 0) [#16486](https://github.com/arendst/Tasmota/issues/16486) - Zigbee report unprocessed attributes - ESP32 Increase number of button GPIOs from 8 to 28 [#16518](https://github.com/arendst/Tasmota/issues/16518) - ESP32 Platformio one Platform for all Tasmota frameworks Core32 2.0.5 [#16644](https://github.com/arendst/Tasmota/issues/16644) @@ -164,5 +162,3 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo - Lost module name in GUI regression from v12.0.2.4 - 20220803 [#16324](https://github.com/arendst/Tasmota/issues/16324) - Removed whitespace from JSON values with no decimals [#16365](https://github.com/arendst/Tasmota/issues/16365) - ESP32 touch button multi-press and hold detection [#16596](https://github.com/arendst/Tasmota/issues/16596) - -### Removed