From 9105b56ffd7e6f4c1dae5e638d8a5724a6a0d775 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 14 May 2024 16:45:58 +0200 Subject: [PATCH 01/88] Bump v14.0.0.1 --- CHANGELOG.md | 22 ++++- RELEASENOTES.md | 130 +----------------------------- tasmota/include/tasmota_version.h | 2 +- 3 files changed, 23 insertions(+), 131 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67f9c6bda..29d06b990 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,25 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - Development -## [13.4.1.2] +## [14.0.0.1] +### Added + + +### Breaking Changed + +### Changed + +### Fixed + +### Removed + + +## [Released] + +## [14.0.0] 20240515 +- Release Rodney + +## [13.4.1.2] 20240515 ### Added - ESP32 esp32_partition_app3904k_fs3392k partition scheme for 8MB ESP32S3 (#21241) - TCP Serial bridge GPIO type `TCP Tx En` (#21269) @@ -201,8 +219,6 @@ All notable changes to this project will be documented in this file. - HASPmota PSRAM memory leak (#20818) - Berry Memory leak in `import re` (#20823) -## [Released] - ## [13.4.0] 20240214 - Release Quinta diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 70702bb3d..59e17ef8f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -80,7 +80,7 @@ Latest released binaries can be downloaded from - http://ota.tasmota.com/tasmota/release Historical binaries can be downloaded from -- http://ota.tasmota.com/tasmota/release-13.4.0 +- http://ota.tasmota.com/tasmota/release-14.0.0 The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota/release/tasmota.bin.gz`` @@ -109,7 +109,7 @@ Latest released binaries can be downloaded from - https://ota.tasmota.com/tasmota32/release Historical binaries can be downloaded from -- https://ota.tasmota.com/tasmota32/release-13.4.0 +- https://ota.tasmota.com/tasmota32/release-14.0.0 The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasmota.com/tasmota32/release/tasmota32.bin`` @@ -119,137 +119,13 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v13.4.1.2 +## Changelog v14.0.0.1 ### Added -- PlatformIO target reset [#21292](https://github.com/arendst/Tasmota/issues/21292) -- Command ``Wifi 6`` to enable 11ax on ESP32 -- Command ``PowerLock`` to disable power control of selected outputs [#21081](https://github.com/arendst/Tasmota/issues/21081) -- Command ``Publish3`` to send binary data encoded as Hex, disabled in safeboot [#21329](https://github.com/arendst/Tasmota/issues/21329) -- Support for calculated heat index if temperature and humidity is available with ``#define USE_HEAT_INDEX`` [#4771](https://github.com/arendst/Tasmota/issues/4771) -- Support for LoRa and single channel EU863-870 LoRaWanBridge [#17790](https://github.com/arendst/Tasmota/issues/17790) -- Support for AMS5915/AMS6915 temperature and pressure sensors [#20814](https://github.com/arendst/Tasmota/issues/20814) -- Support for LWT messages in TasMesh [#20392](https://github.com/arendst/Tasmota/issues/20392) -- Support IR data larger than 64 bits [#20831](https://github.com/arendst/Tasmota/issues/20831) -- Support for MCP23S08 [#20971](https://github.com/arendst/Tasmota/issues/20971) -- Support for ESP32-S3 120Mhz [#20973](https://github.com/arendst/Tasmota/issues/20973) -- Support Azure iothub direct method [#21013](https://github.com/arendst/Tasmota/issues/21013) -- Support for Domoticz non-persistent ``DzIdx5`` to ``DzIdx32`` and disabling DOMOTICZ_OUT_TOPIC subscribe using command ``DzIdx0 0`` [#21019](https://github.com/arendst/Tasmota/issues/21019) -- Support SPI GPIO configuration for Universal Touch Screen [#21025](https://github.com/arendst/Tasmota/issues/21025) -- Support for SPL06_007 pressure and temperature sensor [#21185](https://github.com/arendst/Tasmota/issues/21185) -- Support for AHT30 Temperature and Humidity Sensor [#19922](https://github.com/arendst/Tasmota/issues/19922) -- Support for compile time hostname with `#define WIFI_DEFAULT_HOSTNAME` (#21236)[#21236](https://github.com/arendst/Tasmota/issues/21236) -- GPIOViewer pin mode support -- Zigbee support for attributes of type `uint48` used by energy monitoring [#20992](https://github.com/arendst/Tasmota/issues/20992) -- QMC5883l check for overflow and scale reading [#20643](https://github.com/arendst/Tasmota/issues/20643) -- TCP Serial bridge GPIO type `TCP Tx En` [#21269](https://github.com/arendst/Tasmota/issues/21269) -- ESP32 esp32_partition_app3904k_fs3392k partition scheme for 8MB ESP32S3 [#21241](https://github.com/arendst/Tasmota/issues/21241) -- ESP32 Compile option disabling PSRam check to avoid "blinking" of GPIO 16/17 at startup [#21282](https://github.com/arendst/Tasmota/issues/21282) -- Berry explicit error log when memory allocation fails [#20807](https://github.com/arendst/Tasmota/issues/20807) -- Berry `path.rename()` [#20840](https://github.com/arendst/Tasmota/issues/20840) -- Berry `string.startswith`, `string.endswith` and `%q` format [#20909](https://github.com/arendst/Tasmota/issues/20909) -- Berry `close()` to class `serial` [#21042](https://github.com/arendst/Tasmota/issues/21042) -- Berry `flash.current_ota` [#21097](https://github.com/arendst/Tasmota/issues/21097) -- Berry `webserver.content_close()` [#21276](https://github.com/arendst/Tasmota/issues/21276) -- Berry wave file recorder [#21315](https://github.com/arendst/Tasmota/issues/21315) -- Berry `after_teleperiod` event matching `FUNC_AFTER_TELEPERIOD` [#21351](https://github.com/arendst/Tasmota/issues/21351) -- LVGL and HASPmota typicons font [#20742](https://github.com/arendst/Tasmota/issues/20742) -- LVGL `lv.draw_label_dsc` and `lv_bar.get_indic_area` [#20936](https://github.com/arendst/Tasmota/issues/20936) -- HASPmota `pb.delete` to delete an object [#20735](https://github.com/arendst/Tasmota/issues/20735) -- HASPmota improve arc and img [#20894](https://github.com/arendst/Tasmota/issues/20894) -- HASPmota support for scale, percentages [#20974](https://github.com/arendst/Tasmota/issues/20974) -- HASPmota `dropdown_list` and fixes [#21208](https://github.com/arendst/Tasmota/issues/21208) -- HASPmota demo of Renaissance Watch for 480x480 displays [#21290](https://github.com/arendst/Tasmota/issues/21290) ### Breaking Changed -- Drop support for old (insecure) fingerprint format [#20842](https://github.com/arendst/Tasmota/issues/20842) -- Removed dedicated touch drivers in favour of Universal Touch driver [#21146](https://github.com/arendst/Tasmota/issues/21146) -- ESP32-C3 OTA binary name from `tasmota32c3cdc.bin` to `tasmota32c3.bin` with USB HWCDC and fallback to serial [#21212](https://github.com/arendst/Tasmota/issues/21212) -- ESP32-C6 OTA binary name from `tasmota32c6cdc.bin` to `tasmota32c6.bin` with USB HWCDC and fallback to serial [#21212](https://github.com/arendst/Tasmota/issues/21212) -- ESP32-S3 OTA binary name from `tasmota32s3cdc.bin` to `tasmota32s3.bin` with USB HWCDC and fallback to serial [#21212](https://github.com/arendst/Tasmota/issues/21212) -- Berry loading .be file does not generated .bec anymore [#21075](https://github.com/arendst/Tasmota/issues/21075) -- LVGL remove embedded typicons font [#20872](https://github.com/arendst/Tasmota/issues/20872) -- LVGL remove `textarea` and `spinbox` from binaries [#20916](https://github.com/arendst/Tasmota/issues/20916) ### Changed -- ESP32 Framework (Arduino Core) from v2.0.14 to v3.0.0 -- ESP32 platform update from 2024.01.12 to 2024.05.11 [#21381](https://github.com/arendst/Tasmota/issues/21381) -- ESP32 LVGL library from v9.0.0 to v9.1.0 [#21008](https://github.com/arendst/Tasmota/issues/21008) -- GPIOViewer from v1.5.0 to v1.5.2 -- Seriallog set to `SERIAL_LOG_LEVEL` at boot [#21363](https://github.com/arendst/Tasmota/issues/21363) -- TLS Letsencrypt replace R3 CA with long-term ISRG_Root_X1 CA, which works with R3 and R10-R14 [#21352](https://github.com/arendst/Tasmota/issues/21352) -- Command ``Pixels`` initiates a restart before activation due to changed NeoPixelBus library [#21406](https://github.com/arendst/Tasmota/issues/21406) -- Command ``EthType`` option selection [#21317](https://github.com/arendst/Tasmota/issues/21317) -- Refactor Platformio script `post_esp32.py` [#20966](https://github.com/arendst/Tasmota/issues/20966) -- SGP4x Domoticz air quality value from raw to computed [#18880](https://github.com/arendst/Tasmota/issues/18880) -- NeoPool webUI pH alarms (4 & 5) completed [#20743](https://github.com/arendst/Tasmota/issues/20743) -- Prevent shutter MQTT broadcast with activated ShutterLock [#20827](https://github.com/arendst/Tasmota/issues/20827) -- Some `display.ini` to utouch [#21029](https://github.com/arendst/Tasmota/issues/21029) -- KNX format of energy to match specifications [#21074](https://github.com/arendst/Tasmota/issues/21074) -- Internal macro `APP_SLEEP` to `TASMOTA_SLEEP` to specify default sleep in ms [#21324](https://github.com/arendst/Tasmota/issues/21324) -- uDisplay fast drawing on RGB displays [#21257](https://github.com/arendst/Tasmota/issues/21257) -- HDMI CEC synchronously sends messages [#21270](https://github.com/arendst/Tasmota/issues/21270) -- Refactor I2S [#21291](https://github.com/arendst/Tasmota/issues/21291) -- Zigbee startup event triggered after plugins are loaded [#21320](https://github.com/arendst/Tasmota/issues/21320) -- Refactor Tensorflow [#21327](https://github.com/arendst/Tasmota/issues/21327) -- ESP32 refactored Wifi for ESP32 Core3 release [#21106](https://github.com/arendst/Tasmota/issues/21106) -- ESP32 WiFi phy modes 11n and 11ax represented as HT20, HT40 and HE20 [#19350](https://github.com/arendst/Tasmota/issues/19350) -- berry.exe (pre-compiled for Windows) updated to latest Berry patches [#21024](https://github.com/arendst/Tasmota/issues/21024) -- Berry class `int64` made immutable [#20727](https://github.com/arendst/Tasmota/issues/20727) -- Berry `Leds` uses native WS2812 driver by default [#21406](https://github.com/arendst/Tasmota/issues/21406) -- Matter reduce memory usage when reading with wildcards [#20809](https://github.com/arendst/Tasmota/issues/20809) -- LVGL make lv_touch_3_buttons more responsive [#20728](https://github.com/arendst/Tasmota/issues/20728) -- LVGL optimize fonts and add icons [#20880](https://github.com/arendst/Tasmota/issues/20880) -- LVGL improved readability of montserrat-10 [#20900](https://github.com/arendst/Tasmota/issues/20900) -- HASPmota fix and improve demo with pixel-perfect fonts [#20734](https://github.com/arendst/Tasmota/issues/20734) -- HASPmota more attributes [#20744](https://github.com/arendst/Tasmota/issues/20744) -- HASPmota support for spangroup (styled text) [#20852](https://github.com/arendst/Tasmota/issues/20852) -- HASPmota support for led [#20857](https://github.com/arendst/Tasmota/issues/20857) -- HASPmota moved to a distinct library `lv_haspmota` [#20929](https://github.com/arendst/Tasmota/issues/20929) -- HASPmota solidify server-side [#20938](https://github.com/arendst/Tasmota/issues/20938) ### Fixed -- Filesystem save of JSON settings data -- Fade out on CCT bulb with `SO92 1` [#21159](https://github.com/arendst/Tasmota/issues/21159) -- Shutter inverted using internal commands [#20752](https://github.com/arendst/Tasmota/issues/20752) -- TuyaV2 suppressed dimmer updates from MQTT [#20950](https://github.com/arendst/Tasmota/issues/20950) -- Scripter google char memory leak [#20995](https://github.com/arendst/Tasmota/issues/20995) -- Too restrictive checksum checks in Lib_teleinfo [#21033](https://github.com/arendst/Tasmota/issues/21033) -- Color swap option for rgb displaytext [#21049](https://github.com/arendst/Tasmota/issues/21049) -- NeoPool hydrolysis unit for Hidrolife, Bionet and Generic device [#21098](https://github.com/arendst/Tasmota/issues/21098) -- Neopool prevent possible multiple bus requests [#21267](https://github.com/arendst/Tasmota/issues/21267) -- Async HMDI CEC [#21287](https://github.com/arendst/Tasmota/issues/21287) -- ESP8266 physical button/switch control when no rules activated [#21187](https://github.com/arendst/Tasmota/issues/21187) -- jpeg compile core3 [#21387](https://github.com/arendst/Tasmota/issues/21387) -- ESP32 PWM activity on unconfigured PWM GPIOs [#20732](https://github.com/arendst/Tasmota/issues/20732) -- Avoid unwanted OTA upgrade when safeboot starts for the first time [#21360](https://github.com/arendst/Tasmota/issues/21360) -- BTHome, prep BLE5 [#20989](https://github.com/arendst/Tasmota/issues/20989) -- Conflicting log_level definitions in NimBLE [#21337](https://github.com/arendst/Tasmota/issues/21337) -- Berry Memory leak in `import re` [#20823](https://github.com/arendst/Tasmota/issues/20823) -- Berry bug when parsing ternary operator [#20839](https://github.com/arendst/Tasmota/issues/20839) -- Berry walrus with member or index [#20939](https://github.com/arendst/Tasmota/issues/20939) -- Berry walrus bug when assigning to self [#21015](https://github.com/arendst/Tasmota/issues/21015) -- Berry `web_add_handler` called before `Webserver` is initialized [#21272](https://github.com/arendst/Tasmota/issues/21272) -- Berry `math.inf`, `math.isinf()` and fixed json ouput for `inf` and `nan` [#21304](https://github.com/arendst/Tasmota/issues/21304) -- Berry `gpio.dac_voltage()` [#21403](https://github.com/arendst/Tasmota/issues/21403) -- Matter broken NOCStruct types preventing pairing with HA [#21365](https://github.com/arendst/Tasmota/issues/21365) -- LVGL restore `lv_palette` functions [#21232](https://github.com/arendst/Tasmota/issues/21232) -- LVGL fix memory allocation of flush buffers [#21256](https://github.com/arendst/Tasmota/issues/21256) -- HASPmota PSRAM memory leak [#20818](https://github.com/arendst/Tasmota/issues/20818) -- HASPmota widgets line, btnmatrix, qrcode, bar, checkbox [#20881](https://github.com/arendst/Tasmota/issues/20881) -- HASPmota demo and robotocondensed fonts [#21014](https://github.com/arendst/Tasmota/issues/21014) -- HASPmota dropdown class "options" attribute [#21203](https://github.com/arendst/Tasmota/issues/21203) -- HASPmota `align` attribute and expand PNG cache [#21228](https://github.com/arendst/Tasmota/issues/21228) ### Removed -- Support for ESP32 Arduino Core 2 [#21180](https://github.com/arendst/Tasmota/issues/21180) -- Unused `#define MQTT_DATA_STRING` support -- ILI9341 driver replaced with uDisplay [#21169](https://github.com/arendst/Tasmota/issues/21169) -- SSD1306 driver replaced with uDisplay [#21176](https://github.com/arendst/Tasmota/issues/21176) -- SSD1331 driver replaced with uDisplay [#21177](https://github.com/arendst/Tasmota/issues/21177) -- SSH1106 driver replaced with uDisplay [#21183](https://github.com/arendst/Tasmota/issues/21183) -- SSD1351 driver replaced with uDisplay [#21184](https://github.com/arendst/Tasmota/issues/21184) -- ST7789 driver replaced with uDisplay [#21184](https://github.com/arendst/Tasmota/issues/21184) -- ESP32 IDF 4.4 based I2S code [#21188](https://github.com/arendst/Tasmota/issues/21188) -- Crash recorder from safeboot [#21332](https://github.com/arendst/Tasmota/issues/21332) -- Berry `print "a"` syntax no longer supported [#21048](https://github.com/arendst/Tasmota/issues/21048) -- LVGL disabled vector graphics [#21242](https://github.com/arendst/Tasmota/issues/21242) diff --git a/tasmota/include/tasmota_version.h b/tasmota/include/tasmota_version.h index 4ea904f80..2f9a1e447 100644 --- a/tasmota/include/tasmota_version.h +++ b/tasmota/include/tasmota_version.h @@ -22,6 +22,6 @@ #define TASMOTA_SHA_SHORT // Filled by Github sed -const uint32_t TASMOTA_VERSION = 0x0D040102; // 13.4.1.2 +const uint32_t TASMOTA_VERSION = 0x0E000001; // 14.0.0.1 #endif // _TASMOTA_VERSION_H_ From 0322eb370c704afad63744b75c3cc0c1968cd9b2 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 14 May 2024 16:48:15 +0200 Subject: [PATCH 02/88] Update v14.0.0.1 --- FIRMWARE.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FIRMWARE.md b/FIRMWARE.md index 41ccdef51..3e3bc594d 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-v13.4.x.x-blue.svg)](https://github.com/arendst/Tasmota) +[![Dev Version](https://img.shields.io/badge/development%20version-v14.0.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 65f611880..746d7c4f2 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-v13.4.x.x-blue.svg)](https://github.com/arendst/Tasmota) +[![Dev Version](https://img.shields.io/badge/development%20version-v14.0.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) From 2705e6177d0f090f1684c76cddaa95a00e22baee Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed, 15 May 2024 09:40:33 +0200 Subject: [PATCH 03/88] use compiler option `no-target-align` (#21407) --- platformio_tasmota32.ini | 2 ++ platformio_tasmota_env32.ini | 16 ++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 4f1aab3a1..6dcbe2490 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -2,6 +2,7 @@ [esp32_defaults] build_unflags = ${esp_defaults.build_unflags} + -mtarget-align -Wswitch-unreachable -Wstringop-overflow -Wincompatible-pointer-types @@ -12,6 +13,7 @@ build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp_defaults.build_flags} ; comment next line to disable IPv6 support -DUSE_IPV6 + -mno-target-align -Wno-switch-unreachable -Wno-stringop-overflow -fno-exceptions diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index 38f0145ba..8876956d2 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -72,7 +72,7 @@ extends = env:tasmota32_base board = esp32c2 board_build.app_partition_name = safeboot build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c2-safeboot.bin"' @@ -84,7 +84,7 @@ extends = env:tasmota32_base board = esp32c3 board_build.app_partition_name = safeboot build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c3-safeboot.bin"' @@ -96,7 +96,7 @@ extends = env:tasmota32_base board = esp32c3ser board_build.app_partition_name = safeboot build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c3ser-safeboot.bin"' @@ -118,7 +118,7 @@ extends = env:tasmota32_base board = esp32c6 board_build.app_partition_name = safeboot build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c6-safeboot.bin"' @@ -130,7 +130,7 @@ extends = env:tasmota32_base board = esp32c6ser board_build.app_partition_name = safeboot build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_SAFEBOOT -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c6ser-safeboot.bin"' @@ -188,7 +188,7 @@ lib_ignore = ${env:tasmota32_base.lib_ignore} extends = env:tasmota32_base board = esp32c2 build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c2.bin"' @@ -197,7 +197,7 @@ build_flags = ${env:tasmota32_base.build_flags} extends = env:tasmota32_base board = esp32c3 build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c3.bin"' @@ -206,7 +206,7 @@ build_flags = ${env:tasmota32_base.build_flags} extends = env:tasmota32_base board = esp32c6 build_unflags = ${env:tasmota32_base.build_unflags} - -mtarget-align + -mno-target-align build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 -DOTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32c6.bin"' From 17a299dd00cc0b8e6acc4d4a942748dba3bb2a80 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 15 May 2024 15:37:25 +0200 Subject: [PATCH 04/88] Update changelogs --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29d06b990..5717a333a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. ### Breaking Changed ### Changed +- ESP32 compiler option from `target-align` to `no-target-align` (#21407) ### Fixed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 59e17ef8f..7e9b6532c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -125,6 +125,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Breaking Changed ### Changed +- ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) ### Fixed From 1d7f3e8f07c31fb206e7298e5f4ca9126f7609c4 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 15 May 2024 15:54:18 +0200 Subject: [PATCH 05/88] Fix compile warning (#21411) --- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index 5cce46f1c..fb8b6698c 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -2738,7 +2738,8 @@ struct SML_COUNTER { uint8_t sml_counter_pinstate; uint8_t sml_cnt_index[MAX_COUNTERS] = { 0, 1, 2, 3 }; -void IRAM_ATTR SML_CounterIsr(void *arg) { +void IRAM_ATTR SML_CounterIsr(void *arg); +void SML_CounterIsr(void *arg) { uint32_t index = *static_cast(arg); uint32_t time = millis(); From ac06195907b5d49b96abecb5444bd8cdd36e9514 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 15 May 2024 16:45:42 +0200 Subject: [PATCH 06/88] Remove non IDF5 code --- tasmota/tasmota_support/settings.ino | 6 +- tasmota/tasmota_support/support_a_i2c.ino | 4 -- tasmota/tasmota_support/support_command.ino | 4 +- .../support_crash_recorder.ino | 10 +-- tasmota/tasmota_support/support_esp32.ino | 18 +---- tasmota/tasmota_support/support_wifi.ino | 4 +- tasmota/tasmota_xlgt_light/xlgt_02_my92x1.ino | 6 +- .../tasmota_xsns_sensor/xsns_02_analog.ino | 18 ++--- .../xsns_127_esp32_sensors.ino | 67 +------------------ tasmota/tasmota_xsns_sensor/xsns_48_chirp.ino | 4 +- 10 files changed, 23 insertions(+), 118 deletions(-) diff --git a/tasmota/tasmota_support/settings.ino b/tasmota/tasmota_support/settings.ino index dd1cf61d2..030deb513 100644 --- a/tasmota/tasmota_support/settings.ino +++ b/tasmota/tasmota_support/settings.ino @@ -189,9 +189,9 @@ bool RtcRebootValid(void) { extern "C" { #include "spi_flash.h" -#if ESP_IDF_VERSION_MAJOR >= 5 - #include "spi_flash_mmap.h" -#endif +#ifdef ESP32 +#include "spi_flash_mmap.h" +#endif // ESP32 } #ifdef ESP8266 diff --git a/tasmota/tasmota_support/support_a_i2c.ino b/tasmota/tasmota_support/support_a_i2c.ino index 68b557a54..5912bbfc9 100644 --- a/tasmota/tasmota_support/support_a_i2c.ino +++ b/tasmota/tasmota_support/support_a_i2c.ino @@ -27,14 +27,10 @@ bool I2cBegin(int sda, int scl, uint32_t frequency) { Wire.begin(sda, scl); #endif #ifdef ESP32 -#if ESP_IDF_VERSION_MAJOR > 3 // Core 2.x uses a different I2C library static bool reinit = false; if (reinit) { Wire.end(); } -#endif // ESP_IDF_VERSION_MAJOR > 3 result = Wire.begin(sda, scl, frequency); -#if ESP_IDF_VERSION_MAJOR > 3 // Core 2.x uses a different I2C library reinit = result; -#endif // ESP_IDF_VERSION_MAJOR > 3 #endif // AddLog(LOG_LEVEL_DEBUG, PSTR("I2C: Bus1 %d"), result); return result; diff --git a/tasmota/tasmota_support/support_command.ino b/tasmota/tasmota_support/support_command.ino index 3b6fcf5da..98a88c0d6 100644 --- a/tasmota/tasmota_support/support_command.ino +++ b/tasmota/tasmota_support/support_command.ino @@ -2674,11 +2674,9 @@ void CmndWifi(void) { break; } #ifdef ESP32 -#if ESP_IDF_VERSION_MAJOR >= 5 case 6: // Wifi 6 = BGNAX option = 4; -#endif // ESP_IDF_VERSION_MAJOR -#endif // ESP32/ESP8266 +#endif // ESP32 case 4: // Wifi 4 = BGN case 3: // Wifi 3 = BG case 2: // Wifi 2 = B diff --git a/tasmota/tasmota_support/support_crash_recorder.ino b/tasmota/tasmota_support/support_crash_recorder.ino index 325f10075..b37e71d8e 100644 --- a/tasmota/tasmota_support/support_crash_recorder.ino +++ b/tasmota/tasmota_support/support_crash_recorder.ino @@ -162,14 +162,8 @@ void CrashDumpClear(void) // esp_err_t IRAM_ATTR esp_backtrace_print(int depth) #include "freertos/xtensa_api.h" -#if ESP_IDF_VERSION_MAJOR >= 5 - #include "esp_debug_helpers.h" - #include "esp_cpu_utils.h" -#elif ESP_IDF_VERSION_MAJOR >= 4 - #include "esp_debug_helpers.h" -#else // IDF 3.x - #include "esp_panic.h" -#endif +#include "esp_debug_helpers.h" +#include "esp_cpu_utils.h" extern "C" { // esp-idf 3.x void __real_panicHandler(XtExcFrame *frame); diff --git a/tasmota/tasmota_support/support_esp32.ino b/tasmota/tasmota_support/support_esp32.ino index fa02f4b36..3ce402119 100644 --- a/tasmota/tasmota_support/support_esp32.ino +++ b/tasmota/tasmota_support/support_esp32.ino @@ -577,12 +577,8 @@ uint32_t ESP_getMaxAllocPsram(void) { } extern "C" { - #if ESP_IDF_VERSION_MAJOR >= 5 - // bool IRAM_ATTR __attribute__((pure)) esp_psram_is_initialized(void) - bool esp_psram_is_initialized(void); - #else - bool esp_spiram_is_initialized(void); - #endif + // bool IRAM_ATTR __attribute__((pure)) esp_psram_is_initialized(void) + bool esp_psram_is_initialized(void); } // this function is a replacement for `psramFound()`. @@ -748,11 +744,7 @@ typedef struct { bool rev3 = (chip_revision >= 300); // bool single_core = (1 == ESP.getChipCores()); bool single_core = (1 == chip_info.cores); - - uint32_t pkg_version = 0; -#if (ESP_IDF_VERSION_MAJOR >= 5) - pkg_version = bootloader_common_get_chip_ver_pkg(); -#endif + uint32_t pkg_version = bootloader_common_get_chip_ver_pkg(); switch (chip_model) { case 0: @@ -931,11 +923,7 @@ String GetDeviceHardwareRevision(void) { esp_chip_info_t chip_info; esp_chip_info(&chip_info); -#if ESP_IDF_VERSION_MAJOR >= 5 uint32_t chip_revision = chip_info.revision; // 16-bit chip revision number (in format MXX; where M - wafer major version, XX - wafer minor version) -#else - uint32_t chip_revision = chip_info.full_revision; // 16-bit chip revision number (in format MXX; where M - wafer major version, XX - wafer minor version) -#endif char revision[16]; snprintf_P(revision, sizeof(revision), PSTR(" v%d.%d"), chip_revision / 100, chip_revision % 100); result += revision; // ESP32-C3 v0.3 diff --git a/tasmota/tasmota_support/support_wifi.ino b/tasmota/tasmota_support/support_wifi.ino index ef71eef38..053f9a913 100644 --- a/tasmota/tasmota_support/support_wifi.ino +++ b/tasmota/tasmota_support/support_wifi.ino @@ -42,9 +42,9 @@ const uint8_t WIFI_RETRY_OFFSET_SEC = WIFI_RETRY_SECONDS; // seconds #include // Wifi, MQTT, Ota, WifiManager #include "lwip/dns.h" -#if ESP_IDF_VERSION_MAJOR >= 5 +#ifdef ESP32 #include "esp_netif.h" -#endif +#endif // ESP32 int WifiGetRssiAsQuality(int rssi) { int quality = 0; diff --git a/tasmota/tasmota_xlgt_light/xlgt_02_my92x1.ino b/tasmota/tasmota_xlgt_light/xlgt_02_my92x1.ino index 9120f9397..d5ca26ea8 100644 --- a/tasmota/tasmota_xlgt_light/xlgt_02_my92x1.ino +++ b/tasmota/tasmota_xlgt_light/xlgt_02_my92x1.ino @@ -31,16 +31,16 @@ struct MY92X1 { uint8_t model = 0; } My92x1; -#if ESP_IDF_VERSION_MAJOR >= 5 +#ifdef ESP32 #include "rom/ets_sys.h" #ifndef os_delay_us #define os_delay_us ets_delay_us #endif //os_delay_us -#else +#else // ESP8266 extern "C" { void os_delay_us(unsigned int); } -#endif +#endif // ESP8266 void LightDiPulse(uint8_t times) { diff --git a/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino b/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino index 1cd0f623b..8ad0de246 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino @@ -27,9 +27,7 @@ #define XSNS_02 2 #ifdef ESP32 - #if ESP_IDF_VERSION_MAJOR >= 5 - #include "esp32-hal-adc.h" - #endif +#include "esp32-hal-adc.h" #endif #ifdef ESP8266 @@ -179,16 +177,13 @@ struct { int indexOfPointer = -1; } Adc[MAX_ADCS]; -#ifdef ESP8266 bool adcAttachPin(uint8_t pin) { +#ifdef ESP8266 return (ADC0_PIN == pin); +#else // ESP32 + return true; +#endif // ESP32 } -#endif -#if defined(ESP32) && (ESP_IDF_VERSION_MAJOR >= 5) - bool adcAttachPin(uint8_t pin) { - return true; // TODO - no more needed? - } -#endif void AdcSaveSettings(uint32_t idx) { char parameters[32]; @@ -310,9 +305,6 @@ void AdcInit(void) { if (Adcs.present) { #ifdef ESP32 -#if ESP_IDF_VERSION_MAJOR < 5 - analogSetClockDiv(1); // Default 1 -#endif #if CONFIG_IDF_TARGET_ESP32 analogSetWidth(ANALOG_RESOLUTION); // Default 12 bits (0 - 4095) #endif // CONFIG_IDF_TARGET_ESP32 diff --git a/tasmota/tasmota_xsns_sensor/xsns_127_esp32_sensors.ino b/tasmota/tasmota_xsns_sensor/xsns_127_esp32_sensors.ino index 53b643557..20774027c 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_127_esp32_sensors.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_127_esp32_sensors.ino @@ -1,5 +1,5 @@ /* - xsns_127_esp32_sensors.ino - ESP32 Temperature and Hall Effect sensor for Tasmota + xsns_127_esp32_sensors.ino - ESP32 Temperature sensor for Tasmota Copyright (C) 2021 Theo Arends @@ -20,39 +20,14 @@ #ifdef ESP32 #ifdef USE_ESP32_SENSORS /*********************************************************************************************\ - * ESP32 CPU Temperature and optional Hall Effect sensor + * ESP32 CPU Temperature sensor * * To allow for not updating the global temperature by the ESP32 temperature sensor this * driver needs to be the highest numbered driver (currently 127) - * - * ESP32 internal Hall Effect sensor connected to both GPIO36 and GPIO39 - * To enable set - * GPIO36 as HallEffect 1 - * GPIO39 as HallEffect 2 \*********************************************************************************************/ #define XSNS_127 127 -#if CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) // Hall sensor is no more supported in esp-idf 5 - -#define HALLEFFECT_SAMPLE_COUNT 32 // 32 takes about 12 mS at 80MHz CPU frequency - -struct { - bool present = false; -} HEData; - -void Esp32SensorInit(void) { - if (PinUsed(GPIO_HALLEFFECT) && PinUsed(GPIO_HALLEFFECT, 1)) { - if (((36 == Pin(GPIO_HALLEFFECT)) && (39 == Pin(GPIO_HALLEFFECT, 1))) || - ((39 == Pin(GPIO_HALLEFFECT)) && (36 == Pin(GPIO_HALLEFFECT, 1)))) { - HEData.present = true; - hallRead(); - } - } -} - -#endif // CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) - void Esp32SensorShow(bool json) { bool json_end = false; @@ -84,39 +59,6 @@ void Esp32SensorShow(bool json) { } } -#if CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) // Hall sensor is no more supported in esp-idf 5 - if (HEData.present) { - int value = 0; - for (uint32_t i = 0; i < HALLEFFECT_SAMPLE_COUNT; i++) { - value += hallRead(); - } - value /= HALLEFFECT_SAMPLE_COUNT; - - if (json) { - if (!json_end) { - ResponseAppend_P(PSTR(",\"ESP32\":{")); - } else { - ResponseAppend_P(PSTR(",")); - } - ResponseAppend_P(PSTR("\"" D_JSON_HALLEFFECT "\":%d"), value); - json_end = true; - -#ifdef USE_DOMOTICZ -// Instead of below code use a rule like 'on tele-esp32#halleffect do dzsend1 9988,%value% endon' -// where 9988 is the domoticz sensor Idx -// if (0 == TasmotaGlobal.tele_period) { -// DomoticzSensor(DZ_COUNT, value); -// } -#endif // USE_DOMOTICZ - -#ifdef USE_WEBSERVER - } else { - WSContentSend_P(HTTP_SNS_HALL_EFFECT, "ESP32", value); -#endif // USE_WEBSERVER - } - } -#endif // CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) - if (json_end) { ResponseJsonEnd(); } @@ -138,11 +80,6 @@ bool Xsns127(uint32_t function) { Esp32SensorShow(0); break; #endif // USE_WEBSERVER -#if CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) // Hall sensor is no more supported in esp-idf 5 - case FUNC_INIT: - Esp32SensorInit(); - break; -#endif // CONFIG_IDF_TARGET_ESP32 && (ESP_IDF_VERSION_MAJOR < 5) } return result; } diff --git a/tasmota/tasmota_xsns_sensor/xsns_48_chirp.ino b/tasmota/tasmota_xsns_sensor/xsns_48_chirp.ino index f7a47e8d4..0436e338a 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_48_chirp.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_48_chirp.ino @@ -152,9 +152,9 @@ void ChirpResetAll(void) { /********************************************************************************************/ void ChirpClockSet() { // set I2C for this slow sensor -#if ESP_IDF_VERSION_MAJOR < 5 // setClockStretchLimit was removed +#ifdef ESP8266 Wire.setClockStretchLimit(4000); -#endif +#endif // ESP8266 Wire.setClock(50000); } From e4ea62cc0dd2991da603f7b779656dc8a143edef Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Wed, 15 May 2024 19:13:45 +0200 Subject: [PATCH 07/88] Enabled watchdog for ESP32 and variants (#21414) --- CHANGELOG.md | 2 +- tasmota/my_user_config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5717a333a..4fe376981 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.0.0.1] ### Added - +- Enabled watchdog for ESP32 and variants ### Breaking Changed diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index faf3791c8..7a38078db 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -1122,7 +1122,7 @@ https://rya.nc/tasmota-fingerprint.html" #ifdef ESP32 -// #define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called +#define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called #define SET_ESP32_STACK_SIZE (8 * 1024) // Set the stack size for Tasmota. The default value is 8192 for Arduino, some builds might need to increase it From ec6448b353b5e60e9f7b3aa3030280416ee90269 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Wed, 15 May 2024 22:30:10 +0200 Subject: [PATCH 08/88] Drop support of old insecure fingerprint algorithm (deprecated since v8.4.0) (#21416) --- CHANGELOG.md | 2 +- .../src/WiFiClientSecureLightBearSSL.cpp | 57 ------------------- tasmota/my_user_config.h | 17 ------ 3 files changed, 1 insertion(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fe376981..87f835fc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ All notable changes to this project will be documented in this file. ### Fixed ### Removed - +- Drop support of old insecure fingerprint algorithm (deprecated since v8.4.0) ## [Released] diff --git a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp index 1cc2ae2b3..540d37420 100755 --- a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp +++ b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp @@ -813,25 +813,6 @@ extern "C" { // Return 0 on validation success, !0 on validation error static unsigned pubkeyfingerprint_end_chain(const br_x509_class **ctx) { br_x509_pubkeyfingerprint_context *xc = (br_x509_pubkeyfingerprint_context *)ctx; -// **** Start patch Castellucci -/* - br_sha1_context sha1_context; - pubkeyfingerprint_pubkey_fingerprint(&sha1_context, xc->ctx.pkey.key.rsa); - br_sha1_out(&sha1_context, xc->pubkey_recv_fingerprint); // copy to fingerprint - - if (!xc->fingerprint_all) { - if (0 == memcmp_P(xc->pubkey_recv_fingerprint, xc->fingerprint1, 20)) { - return 0; - } - if (0 == memcmp_P(xc->pubkey_recv_fingerprint, xc->fingerprint2, 20)) { - return 0; - } - return 1; // no match, error - } else { - // Default (no validation at all) or no errors in prior checks = success. - return 0; - } -*/ // set fingerprint status byte to zero // FIXME: find a better way to pass this information xc->pubkey_recv_fingerprint[20] = 0; @@ -844,45 +825,7 @@ extern "C" { if (0 == memcmp_P(xc->pubkey_recv_fingerprint, xc->fingerprint2, 20)) { return 0; } - -#ifndef USE_MQTT_TLS_DROP_OLD_FINGERPRINT - // No match under new algorithm, do some basic checking on the key. - // - // RSA keys normally have an e value of 65537, which is three bytes long. - // Other e values are suspicious, but if the modulus is a standard size - // (multiple of 512 bits/64 bytes), any public exponent up to eight bytes - // long will be allowed. - // - // A legitimate key could possibly be marked as bad by this check, but - // the user would have had to really worked at making a strange key. - if (!(xc->ctx.pkey.key.rsa.elen == 3 - && xc->ctx.pkey.key.rsa.e[0] == 1 - && xc->ctx.pkey.key.rsa.e[1] == 0 - && xc->ctx.pkey.key.rsa.e[2] == 1)) { - if (xc->ctx.pkey.key.rsa.nlen & 63 != 0 || xc->ctx.pkey.key.rsa.elen > 8) { - return 2; // suspicious key, return error - } - } - - // try the old algorithm and potentially mark for update - pubkeyfingerprint_pubkey_fingerprint(xc, true); - if (0 == memcmp_P(xc->pubkey_recv_fingerprint, xc->fingerprint1, 20)) { - xc->pubkey_recv_fingerprint[20] |= 1; // mark for update - } - if (0 == memcmp_P(xc->pubkey_recv_fingerprint, xc->fingerprint2, 20)) { - xc->pubkey_recv_fingerprint[20] |= 2; // mark for update - } - if (!xc->pubkey_recv_fingerprint[20]) { - return 1; // not marked for update because no match, error - } - - // the old fingerprint format matched, recompute new one for update - pubkeyfingerprint_pubkey_fingerprint(xc, false); - - return 0; -#else // USE_TLS_OLD_FINGERPRINT_COMPAT return 1; // no match, error -#endif // USE_TLS_OLD_FINGERPRINT_COMPAT } else { // Default (no validation at all) or no errors in prior checks = success. return 0; diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 7a38078db..d658efed2 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -103,20 +103,6 @@ #define MQTT_HOST "" // [MqttHost] -// XXX temporary - leave for a few releases so people compiling in -// fingerprints have a chance to update their configuration files -#if !defined(USE_MQTT_TLS_DROP_OLD_FINGERPRINT) && defined(MQTT_FINGERPRINT1) || defined(MQTT_FINGERPRINT2) -#error "The old TLS fingerprint format is being removed.\n\ -Please ensure your TLS fingerprint(s) are using the new version, then add\n\ -\n\ -#define USE_MQTT_TLS_DROP_OLD_FINGERPRINT\n\ -\n\ -to your user_config_override.h file.\n\ -\n\ -An online tool to calculate TLS fingerprints is available here at:\n\ -https://rya.nc/tasmota-fingerprint.html" -#endif - #define MQTT_FINGERPRINT1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // [MqttFingerprint1] (auto-learn) #define MQTT_FINGERPRINT2 0xDA,0x39,0xA3,0xEE,0x5E,0x6B,0x4B,0x0D,0x32,0x55,0xBF,0xEF,0x95,0x60,0x18,0x90,0xAF,0xD8,0x07,0x09 // [MqttFingerprint2] (invalid - value from sha1("")) #define MQTT_PORT 1883 // [MqttPort] MQTT port (10123 on CloudMQTT) @@ -462,9 +448,6 @@ https://rya.nc/tasmota-fingerprint.html" // #define USE_MQTT_AWS_IOT // [Deprecated] Enable MQTT for AWS IoT - requires a private key (+11.9k code, +0.4k mem) // Note: you need to generate a private key + certificate per device and update 'tasmota/tasmota_aws_iot.cpp' // Full documentation here: https://github.com/arendst/Tasmota/wiki/AWS-IoT - #define USE_MQTT_TLS_DROP_OLD_FINGERPRINT // If you use fingerprint (i.e. not CA) validation, the algorithm changed to a more secure one. - // Any valid fingerprint with the old algo will be automatically updated to the new algo. - // Enable this if you want to disable the old algo check, which should be more secure // for USE_4K_RSA (support for 4096 bits certificates, instead of 2048), you need to uncommend `-DUSE_4K_RSA` in `build_flags` from `platform.ini` or `platform_override.ini` // -- MQTT - TLS - Azure IoT & IoT Central --------- From 85a9eda143c4a19aadbd93f3efd96007b308e21a Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Wed, 15 May 2024 22:52:49 +0200 Subject: [PATCH 09/88] Revert "Enabled watchdog for ESP32 and variants (#21414)" (#21417) This reverts commit e4ea62cc0dd2991da603f7b779656dc8a143edef. --- CHANGELOG.md | 2 +- tasmota/my_user_config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87f835fc8..c72313f9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.0.0.1] ### Added -- Enabled watchdog for ESP32 and variants + ### Breaking Changed diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index d658efed2..5d0813932 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -1105,7 +1105,7 @@ #ifdef ESP32 -#define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called +// #define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called #define SET_ESP32_STACK_SIZE (8 * 1024) // Set the stack size for Tasmota. The default value is 8192 for Arduino, some builds might need to increase it From f602470aeb5490ea9eec73c47d78442c5f8cc650 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 16 May 2024 13:50:50 +0200 Subject: [PATCH 10/88] Update changelogs --- CHANGELOG.md | 2 +- RELEASENOTES.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c72313f9d..74c89fca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ All notable changes to this project will be documented in this file. ### Fixed ### Removed -- Drop support of old insecure fingerprint algorithm (deprecated since v8.4.0) +- Support of old insecure fingerprint algorithm - deprecated since v8.4.0 (#21417) ## [Released] diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 7e9b6532c..ced7b1372 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -130,3 +130,4 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Fixed ### Removed +- Support of old insecure fingerprint algorithm - deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) From 6ba59385d4ca8d770f9ecf21ef1d761782032112 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 16 May 2024 14:43:30 +0200 Subject: [PATCH 11/88] Fix Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) --- CHANGELOG.md | 3 ++- RELEASENOTES.md | 3 ++- tasmota/tasmota_xdrv_driver/xdrv_07_domoticz.ino | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74c89fca9..1b7c68ff0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,9 +13,10 @@ All notable changes to this project will be documented in this file. - ESP32 compiler option from `target-align` to `no-target-align` (#21407) ### Fixed +- Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) ### Removed -- Support of old insecure fingerprint algorithm - deprecated since v8.4.0 (#21417) +- Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) ## [Released] diff --git a/RELEASENOTES.md b/RELEASENOTES.md index ced7b1372..cdc46fa50 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -128,6 +128,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) ### Fixed +- Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) ### Removed -- Support of old insecure fingerprint algorithm - deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) +- Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_07_domoticz.ino b/tasmota/tasmota_xdrv_driver/xdrv_07_domoticz.ino index 869742ad4..adfdec32c 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_07_domoticz.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_07_domoticz.ino @@ -232,7 +232,8 @@ void DomoticzMqttSubscribe(void) { Domoticz->subscribe = false; MqttUnsubscribe(stopic); } - if (!Domoticz->subscribe && any_relay) { +// if (!Domoticz->subscribe && any_relay) { // Fails on MQTT server reconnect + if (any_relay) { Domoticz->subscribe = true; MqttSubscribe(stopic); } From b9bd558abe4bb043be6c0921a05dac80c4b0beb9 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Thu, 16 May 2024 21:19:34 +0200 Subject: [PATCH 12/88] Enabled watchdog for ESP32 and variants (#21422) * Enabled watchdog for ESP32 and variants * Ensure compilation for sageboot * Fix compilation * Fix compilation for RISCV --- CHANGELOG.md | 2 +- include/esp32x_fixes.h | 7 +++++++ lib/libesp32/HttpClientLight/src/TasUpdater.cpp | 2 +- tasmota/include/tasmota_configurations_ESP32.h | 2 ++ tasmota/my_user_config.h | 2 +- tasmota/tasmota_support/support.ino | 12 ++++++++---- tasmota/tasmota_support/support_crash_recorder.ino | 5 +++++ tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino | 1 + 8 files changed, 26 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b7c68ff0..c7172e506 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.0.0.1] ### Added - +- Enabled watchdog for ESP32 and variants ### Breaking Changed diff --git a/include/esp32x_fixes.h b/include/esp32x_fixes.h index fe3e57cd6..7713a6e05 100644 --- a/include/esp32x_fixes.h +++ b/include/esp32x_fixes.h @@ -70,3 +70,10 @@ #define SPI_MOSI_DLEN_REG(x) SPI_MS_DLEN_REG(x) #endif // TARGET + +// This trick makes sure that 'lto' optimizer does not inline `delay() +// so we can override it with `-Wl,--wrap=delay` linker directive +#ifdef __cplusplus +extern "C" +#endif // _cplusplus +void delay(__UINT32_TYPE__ ms) __attribute__((noinline)) __attribute__ ((noclone)); diff --git a/lib/libesp32/HttpClientLight/src/TasUpdater.cpp b/lib/libesp32/HttpClientLight/src/TasUpdater.cpp index d69463515..d6350e701 100644 --- a/lib/libesp32/HttpClientLight/src/TasUpdater.cpp +++ b/lib/libesp32/HttpClientLight/src/TasUpdater.cpp @@ -392,7 +392,7 @@ size_t TasUpdateClass::writeStream(Stream &data) { return written; written += toRead; - delay(1); // Fix solo WDT + yield(); // Ensure WDT does not trigger } return written; } diff --git a/tasmota/include/tasmota_configurations_ESP32.h b/tasmota/include/tasmota_configurations_ESP32.h index 0cb372ec9..2d3e4c18b 100644 --- a/tasmota/include/tasmota_configurations_ESP32.h +++ b/tasmota/include/tasmota_configurations_ESP32.h @@ -187,6 +187,8 @@ #define USE_WEBCLIENT #define USE_WEBCLIENT_HTTPS +#undef USE_ESP32_WDT // disable watchdog on SAFEBOOT until more testing is done + #if CONFIG_IDF_TARGET_ESP32 #if CONFIG_FREERTOS_UNICORE #undef USE_MQTT_TLS diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 5d0813932..d658efed2 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -1105,7 +1105,7 @@ #ifdef ESP32 -// #define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called +#define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called #define SET_ESP32_STACK_SIZE (8 * 1024) // Set the stack size for Tasmota. The default value is 8192 for Arduino, some builds might need to increase it diff --git a/tasmota/tasmota_support/support.ino b/tasmota/tasmota_support/support.ino index f1c979a38..bd2b5f788 100755 --- a/tasmota/tasmota_support/support.ino +++ b/tasmota/tasmota_support/support.ino @@ -26,23 +26,27 @@ extern struct rst_info resetInfo; \*********************************************************************************************/ #ifdef ESP32 // Watchdog - yield() resets the watchdog -#ifdef USE_ESP32_WDT +extern "C" void __yield(void); // original function from Arduino Core extern "C" void yield(void) { - vPortYield(); // was originally in `__yield` + __yield(); feedLoopWDT(); } // patching delay(uint32_t ms) -extern "C" void __real_delay(uint32_t ms); +extern "C" void __real_delay(uint32_t ms); // original function from Arduino Core extern "C" void __wrap_delay(uint32_t ms) { +#ifdef USE_ESP32_WDT + if (ms) { feedLoopWDT(); } __real_delay(ms); feedLoopWDT(); +#else + __real_delay(ms); +#endif } -#endif // USE_ESP32_WDT #endif // ESP32 /*********************************************************************************************\ diff --git a/tasmota/tasmota_support/support_crash_recorder.ino b/tasmota/tasmota_support/support_crash_recorder.ino index b37e71d8e..853b5baab 100644 --- a/tasmota/tasmota_support/support_crash_recorder.ino +++ b/tasmota/tasmota_support/support_crash_recorder.ino @@ -37,10 +37,15 @@ void CmndWDT(void) } // This will trigger the os watch after OSWATCH_RESET_TIME (=120) seconds +// or normal WDT on ESP32 void CmndBlockedLoop(void) { while (1) { +#ifdef ESP32 + delay(10000); // 10s on ESP32 so that the normal WDT fires after 5s. There is no OSWATCH_RESET_TIME on ESP32 +#else delay(1000); +#endif } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino b/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino index 4fc6df0aa..ab16b8b4f 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_54_lvgl.ino @@ -68,6 +68,7 @@ void lv_flush_callback(lv_display_t *disp, const lv_area_t *area, uint8_t *color if (lvgl_glue->screenshot != nullptr) { // save pixels to file int32_t btw = (width * height * LV_COLOR_DEPTH + 7) / 8; + yield(); // ensure WDT does not fire while (btw > 0) { if (btw > 0) { // if we had a previous error (ex disk full) don't try to write anymore int32_t ret = lvgl_glue->screenshot->write((const uint8_t*) color_p, btw); From 2ddbc7c7fad2704ef20c3ee8eb436ee06d317d89 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 17 May 2024 12:47:14 +0200 Subject: [PATCH 13/88] Fix watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) --- CHANGELOG.md | 3 ++- RELEASENOTES.md | 2 ++ tasmota/tasmota_xdrv_driver/xdrv_13_display.ino | 6 +++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7172e506..6afd704cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.0.0.1] ### Added -- Enabled watchdog for ESP32 and variants +- Enabled watchdog for ESP32 and variants (#21422) ### Breaking Changed @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) +- Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index cdc46fa50..4dcac22cf 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -121,6 +121,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ## Changelog v14.0.0.1 ### Added +- Enabled watchdog for ESP32 and variants [#21422](https://github.com/arendst/Tasmota/issues/21422) ### Breaking Changed @@ -129,6 +130,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) +- Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401)[#21401](https://github.com/arendst/Tasmota/issues/21401) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino b/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino index 8a59b48b8..682ecf7c8 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino @@ -497,7 +497,11 @@ void DisplayText(void) } } else { // copy chars - if (dp < (linebuf + DISPLAY_BUFFER_COLS)) { *dp++ = *cp++; } + if (dp < (linebuf + DISPLAY_BUFFER_COLS)) { + *dp++ = *cp++; + } else { + break; + } } } else { // check escapes From 0d225839da37ab7e940ac84720a554cb8e99e90d Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 17 May 2024 14:08:34 +0200 Subject: [PATCH 14/88] On universal display remove default backlight power if a PWM channel is used for backlight --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + tasmota/tasmota_xdrv_driver/xdrv_13_display.ino | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6afd704cd..7f8e935de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. ### Changed - ESP32 compiler option from `target-align` to `no-target-align` (#21407) +- On universal display remove default backlight power if a PWM channel is used for backlight ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4dcac22cf..1737ceded 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -126,6 +126,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Breaking Changed ### Changed +- On universal display remove default backlight power if a PWM channel is used for backlight - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) ### Fixed diff --git a/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino b/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino index 682ecf7c8..2f963237e 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_13_display.ino @@ -1908,7 +1908,11 @@ void DisplayInitDriver(void) { UpdateDevicesPresent(1); if (!PinUsed(GPIO_BACKLIGHT)) { - if (TasmotaGlobal.light_type && (4 == Settings->display_model)) { +// if (TasmotaGlobal.light_type && (4 == Settings->display_model)) { + if (TasmotaGlobal.light_type && // Assume PWM channel + ((4 == Settings->display_model) || // ILI9341 legacy + (17 == Settings->display_model)) // Universal + ) { UpdateDevicesPresent(-1); // Assume PWM channel is used for backlight } } From 5b207209a55587c08dc58edaf1c4867142f8e0a3 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Fri, 17 May 2024 14:22:10 +0200 Subject: [PATCH 15/88] Berry binary compiled with gcc (#21426) --- CHANGELOG.md | 1 + lib/libesp32/berry/Makefile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f8e935de..320237e81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. ### Changed - ESP32 compiler option from `target-align` to `no-target-align` (#21407) - On universal display remove default backlight power if a PWM channel is used for backlight +- Berry binary compiled with gcc ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) diff --git a/lib/libesp32/berry/Makefile b/lib/libesp32/berry/Makefile index ee3e32847..2d33069fb 100755 --- a/lib/libesp32/berry/Makefile +++ b/lib/libesp32/berry/Makefile @@ -3,7 +3,7 @@ DEBUG_FLAGS = -O0 -g -DBE_DEBUG TEST_FLAGS = $(DEBUG_FLAGS) --coverage -fno-omit-frame-pointer -fsanitize=address -fsanitize=undefined LIBS = -lm TARGET = berry -CC = clang # install clang!! gcc seems to produce a defect berry binary +CC = gcc MKDIR = mkdir LFLAGS = From ea5cc628a887ac8a81cae031e591bde91ea50dce Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 17 May 2024 14:56:21 +0200 Subject: [PATCH 16/88] no need for clang anymore --- .github/workflows/Tasmota_build_devel.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Tasmota_build_devel.yml b/.github/workflows/Tasmota_build_devel.yml index 96fa3ac74..5dc38dc11 100644 --- a/.github/workflows/Tasmota_build_devel.yml +++ b/.github/workflows/Tasmota_build_devel.yml @@ -25,9 +25,9 @@ jobs: uses: actions/setup-python@v5 with: python-version: '3.x' - - name: Install clang compiler - run: | - sudo apt-get install -f clang + #- name: Install clang compiler + #run: | + #sudo apt-get install -f clang - name: Make Berry and Tasmota Berry code run: | cd lib/libesp32/berry From 27c731c7b65d968723f1b84eade91e885607b021 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Fri, 17 May 2024 20:40:17 +0200 Subject: [PATCH 17/88] Avoid connection errors when switching to safeboot to upload OTA firmware (#21428) --- CHANGELOG.md | 1 + tasmota/html_compressed/HTTP_HEAD_LAST_SCRIPT32.h | 9 +++++---- tasmota/html_uncompressed/HTTP_HEAD_LAST_SCRIPT32.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 320237e81..944325dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ All notable changes to this project will be documented in this file. ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) +- Avoid connection errors when switching to safeboot to upload OTA firmware ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/tasmota/html_compressed/HTTP_HEAD_LAST_SCRIPT32.h b/tasmota/html_compressed/HTTP_HEAD_LAST_SCRIPT32.h index fcf228aad..3c1303950 100644 --- a/tasmota/html_compressed/HTTP_HEAD_LAST_SCRIPT32.h +++ b/tasmota/html_compressed/HTTP_HEAD_LAST_SCRIPT32.h @@ -2,7 +2,7 @@ // compressed by tools/unishox/compress-html-uncompressed.py ///////////////////////////////////////////////////////////////////// -const size_t HTTP_HEAD_LAST_SCRIPT32_SIZE = 989; +const size_t HTTP_HEAD_LAST_SCRIPT32_SIZE = 1013; const char HTTP_HEAD_LAST_SCRIPT32_COMPRESSED[] PROGMEM = "\x30\x2F\x83\xAD\xCE\x46\xB1\x0E\xE9\xDE\x3D\xA6\x77\xF5\x47\xC3\x8C\xEA\x2D\x3E" "\x09\x81\x8B\x1A\xFA\x8E\x86\xA1\x6F\xE6\x45\xE6\x13\x0E\xB3\xE5\x61\x04\x77\x4F" "\xBD\xE1\x82\xE8\xEA\x1C\x2E\xAB\x38\xEA\xA6\x6C\xAB\xFB\xB3\xAB\xCC\x26\x1D\x1F" @@ -33,8 +33,9 @@ const char HTTP_HEAD_LAST_SCRIPT32_COMPRESSED[] PROGMEM = "\x30\x2F\x83\xAD\xCE\ "\xA6\x7C\x3E\x1C\xC3\xF4\x7E\x88\xD8\x74\xF5\x5D\x0B\xF1\xF0\xF8\x72\x9B\x20\x42" "\xE3\x2A\x01\xF8\x6C\x3A\x7D\xF8\x66\x77\x99\x53\x36\x51\xE3\x4C\x1D\xDF\x1F\x0F" "\x87\xD9\x8B\x0B\xCC\xFB\x3B\xDE\x74\x55\xA3\x5E\x0B\xA3\xBA\x77\x4E\xF1\xF0\xFC" - "\x04\x4E\x19\x4E\xA3\x9C\xDB\x3B\xC4\x08\x78\x4D\x7C\x5B\x3E\xCE\xF7\x85\x82\x27" - "\x10\x08\x16\x75\xA3\x8C\xEF\x1E\xD2\x05\x4C\xD4\xE5\x36\xC8\x10\x78\xB0\x36\x1D" - "\x3C\xF8\x43\xBA\x77\x8F\x07\xB8\xF4\x3B\x3C\x1F\xF4\x65\x1F\x86"; + "\x04\x4E\x19\x4E\xA3\x9C\xDB\x3B\xC4\x08\x78\x4D\x7C\x58\x27\x61\x1E\x16\x08\x38" + "\x39\xC8\xDB\x20\x42\xE2\x61\x02\xCE\xE4\x71\x9D\xE3\xDA\x40\xA9\xA6\x9C\xA2\x04" + "\x1C\x88\xF0\x7B\x8F\x06\xC3\xA7\x9F\x08\x77\x4E\xF1\xE0\xF7\x1E\x87\x67\x83\xFE" + "\x8C\xA3\xF0"; #define HTTP_HEAD_LAST_SCRIPT32 Decompress(HTTP_HEAD_LAST_SCRIPT32_COMPRESSED,HTTP_HEAD_LAST_SCRIPT32_SIZE).c_str() \ No newline at end of file diff --git a/tasmota/html_uncompressed/HTTP_HEAD_LAST_SCRIPT32.h b/tasmota/html_uncompressed/HTTP_HEAD_LAST_SCRIPT32.h index 3b8a1ebff..9cfbb570b 100644 --- a/tasmota/html_uncompressed/HTTP_HEAD_LAST_SCRIPT32.h +++ b/tasmota/html_uncompressed/HTTP_HEAD_LAST_SCRIPT32.h @@ -54,7 +54,7 @@ const char HTTP_HEAD_LAST_SCRIPT32[] PROGMEM = "var s=x.responseText;" // "console.log('responseText:'+s);" "if(s=='false')setTimeout(()=>{fct(t);},6000);" - "if(s=='true')su(t);" + "if(s=='true')setTimeout(()=>{su(t);},1000);" "}else if(x.readyState==4&&x.status==0){" "setTimeout(()=>{fct(t);},2000);" // retry in 2 seconds "};" From b69f9b77a74f98cb25604797b7f6a136fdcb7939 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 18 May 2024 08:34:59 +0200 Subject: [PATCH 18/88] Berry Leds matrix alternate more and error about 'bri' attribute (#21431) --- CHANGELOG.md | 1 + .../berry_tasmota/src/embedded/leds.be | 8 +- .../src/solidify/solidified_leds.h | 144 +++++++++--------- 3 files changed, 78 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 944325dc5..7edc77632 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) - Avoid connection errors when switching to safeboot to upload OTA firmware +- Berry Leds matrix alternate more and error about 'bri' attribute ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/lib/libesp32/berry_tasmota/src/embedded/leds.be b/lib/libesp32/berry_tasmota/src/embedded/leds.be index 9442f8787..019a64e3b 100644 --- a/lib/libesp32/berry_tasmota/src/embedded/leds.be +++ b/lib/libesp32/berry_tasmota/src/embedded/leds.be @@ -332,11 +332,11 @@ class Leds : Leds_ntv return self.offset end def clear_to(col, bri) - if (bri == nil) bri = self.bri end + if (bri == nil) bri = self.strip.bri end self.strip.call_native(9, self.strip.to_gamma(col, bri), self.offset, self.w * self.h) end def set_pixel_color(idx, col, bri) - if (bri == nil) bri = self.bri end + if (bri == nil) bri = self.strip.bri end self.strip.set_pixel_color(idx + self.offset, col, bri) end def get_pixel_color(idx) @@ -361,8 +361,8 @@ class Leds : Leds_ntv end def set_matrix_pixel_color(x, y, col, bri) - if (bri == nil) bri = self.bri end - if self.alternate && x % 2 + if (bri == nil) bri = self.strip.bri end + if self.alternate && (y & 0x1) # reversed line self.strip.set_pixel_color(x * self.w + self.h - y - 1 + self.offset, col, bri) else diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h index 4ea0f61f7..0bf9bc1df 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h @@ -1128,8 +1128,8 @@ be_local_closure(Leds_matrix_clear_to, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ - /* K0 */ be_nested_str(bri), - /* K1 */ be_nested_str(strip), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(bri), /* K2 */ be_nested_str(call_native), /* K3 */ be_nested_str(to_gamma), /* K4 */ be_nested_str(offset), @@ -1138,25 +1138,26 @@ be_local_closure(Leds_matrix_clear_to, /* name */ }), &be_const_str_clear_to, &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ + ( &(const binstruction[19]) { /* code */ 0x4C0C0000, // 0000 LDNIL R3 0x1C0C0403, // 0001 EQ R3 R2 R3 - 0x780E0000, // 0002 JMPF R3 #0004 - 0x88080100, // 0003 GETMBR R2 R0 K0 - 0x880C0101, // 0004 GETMBR R3 R0 K1 - 0x8C0C0702, // 0005 GETMET R3 R3 K2 - 0x54160008, // 0006 LDINT R5 9 - 0x88180101, // 0007 GETMBR R6 R0 K1 - 0x8C180D03, // 0008 GETMET R6 R6 K3 - 0x5C200200, // 0009 MOVE R8 R1 - 0x5C240400, // 000A MOVE R9 R2 - 0x7C180600, // 000B CALL R6 3 - 0x881C0104, // 000C GETMBR R7 R0 K4 - 0x88200105, // 000D GETMBR R8 R0 K5 - 0x88240106, // 000E GETMBR R9 R0 K6 - 0x08201009, // 000F MUL R8 R8 R9 - 0x7C0C0A00, // 0010 CALL R3 5 - 0x80000000, // 0011 RET 0 + 0x780E0001, // 0002 JMPF R3 #0005 + 0x880C0100, // 0003 GETMBR R3 R0 K0 + 0x88080701, // 0004 GETMBR R2 R3 K1 + 0x880C0100, // 0005 GETMBR R3 R0 K0 + 0x8C0C0702, // 0006 GETMET R3 R3 K2 + 0x54160008, // 0007 LDINT R5 9 + 0x88180100, // 0008 GETMBR R6 R0 K0 + 0x8C180D03, // 0009 GETMET R6 R6 K3 + 0x5C200200, // 000A MOVE R8 R1 + 0x5C240400, // 000B MOVE R9 R2 + 0x7C180600, // 000C CALL R6 3 + 0x881C0104, // 000D GETMBR R7 R0 K4 + 0x88200105, // 000E GETMBR R8 R0 K5 + 0x88240106, // 000F GETMBR R9 R0 K6 + 0x08201009, // 0010 MUL R8 R8 R9 + 0x7C0C0A00, // 0011 CALL R3 5 + 0x80000000, // 0012 RET 0 }) ) ); @@ -1308,26 +1309,27 @@ be_local_closure(Leds_matrix_set_pixel_color, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ - /* K0 */ be_nested_str(bri), - /* K1 */ be_nested_str(strip), + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(bri), /* K2 */ be_nested_str(set_pixel_color), /* K3 */ be_nested_str(offset), }), &be_const_str_set_pixel_color, &be_const_str_solidified, - ( &(const binstruction[12]) { /* code */ + ( &(const binstruction[13]) { /* code */ 0x4C100000, // 0000 LDNIL R4 0x1C100604, // 0001 EQ R4 R3 R4 - 0x78120000, // 0002 JMPF R4 #0004 - 0x880C0100, // 0003 GETMBR R3 R0 K0 - 0x88100101, // 0004 GETMBR R4 R0 K1 - 0x8C100902, // 0005 GETMET R4 R4 K2 - 0x88180103, // 0006 GETMBR R6 R0 K3 - 0x00180206, // 0007 ADD R6 R1 R6 - 0x5C1C0400, // 0008 MOVE R7 R2 - 0x5C200600, // 0009 MOVE R8 R3 - 0x7C100800, // 000A CALL R4 4 - 0x80000000, // 000B RET 0 + 0x78120001, // 0002 JMPF R4 #0005 + 0x88100100, // 0003 GETMBR R4 R0 K0 + 0x880C0901, // 0004 GETMBR R3 R4 K1 + 0x88100100, // 0005 GETMBR R4 R0 K0 + 0x8C100902, // 0006 GETMET R4 R4 K2 + 0x88180103, // 0007 GETMBR R6 R0 K3 + 0x00180206, // 0008 ADD R6 R1 R6 + 0x5C1C0400, // 0009 MOVE R7 R2 + 0x5C200600, // 000A MOVE R8 R3 + 0x7C100800, // 000B CALL R4 4 + 0x80000000, // 000C RET 0 }) ) ); @@ -1407,53 +1409,53 @@ be_local_closure(Leds_matrix_set_matrix_pixel_color, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_str(bri), - /* K1 */ be_nested_str(alternate), - /* K2 */ be_const_int(2), - /* K3 */ be_nested_str(strip), + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str(strip), + /* K1 */ be_nested_str(bri), + /* K2 */ be_nested_str(alternate), + /* K3 */ be_const_int(1), /* K4 */ be_nested_str(set_pixel_color), /* K5 */ be_nested_str(w), /* K6 */ be_nested_str(h), - /* K7 */ be_const_int(1), - /* K8 */ be_nested_str(offset), + /* K7 */ be_nested_str(offset), }), &be_const_str_set_matrix_pixel_color, &be_const_str_solidified, - ( &(const binstruction[33]) { /* code */ + ( &(const binstruction[34]) { /* code */ 0x4C140000, // 0000 LDNIL R5 0x1C140805, // 0001 EQ R5 R4 R5 - 0x78160000, // 0002 JMPF R5 #0004 - 0x88100100, // 0003 GETMBR R4 R0 K0 - 0x88140101, // 0004 GETMBR R5 R0 K1 - 0x7816000F, // 0005 JMPF R5 #0016 - 0x10140302, // 0006 MOD R5 R1 K2 - 0x7816000D, // 0007 JMPF R5 #0016 - 0x88140103, // 0008 GETMBR R5 R0 K3 - 0x8C140B04, // 0009 GETMET R5 R5 K4 - 0x881C0105, // 000A GETMBR R7 R0 K5 - 0x081C0207, // 000B MUL R7 R1 R7 - 0x88200106, // 000C GETMBR R8 R0 K6 - 0x001C0E08, // 000D ADD R7 R7 R8 - 0x041C0E02, // 000E SUB R7 R7 R2 - 0x041C0F07, // 000F SUB R7 R7 K7 - 0x88200108, // 0010 GETMBR R8 R0 K8 - 0x001C0E08, // 0011 ADD R7 R7 R8 - 0x5C200600, // 0012 MOVE R8 R3 - 0x5C240800, // 0013 MOVE R9 R4 - 0x7C140800, // 0014 CALL R5 4 - 0x70020009, // 0015 JMP #0020 - 0x88140103, // 0016 GETMBR R5 R0 K3 - 0x8C140B04, // 0017 GETMET R5 R5 K4 - 0x881C0105, // 0018 GETMBR R7 R0 K5 - 0x081C0207, // 0019 MUL R7 R1 R7 - 0x001C0E02, // 001A ADD R7 R7 R2 - 0x88200108, // 001B GETMBR R8 R0 K8 - 0x001C0E08, // 001C ADD R7 R7 R8 - 0x5C200600, // 001D MOVE R8 R3 - 0x5C240800, // 001E MOVE R9 R4 - 0x7C140800, // 001F CALL R5 4 - 0x80000000, // 0020 RET 0 + 0x78160001, // 0002 JMPF R5 #0005 + 0x88140100, // 0003 GETMBR R5 R0 K0 + 0x88100B01, // 0004 GETMBR R4 R5 K1 + 0x88140102, // 0005 GETMBR R5 R0 K2 + 0x7816000F, // 0006 JMPF R5 #0017 + 0x2C140503, // 0007 AND R5 R2 K3 + 0x7816000D, // 0008 JMPF R5 #0017 + 0x88140100, // 0009 GETMBR R5 R0 K0 + 0x8C140B04, // 000A GETMET R5 R5 K4 + 0x881C0105, // 000B GETMBR R7 R0 K5 + 0x081C0207, // 000C MUL R7 R1 R7 + 0x88200106, // 000D GETMBR R8 R0 K6 + 0x001C0E08, // 000E ADD R7 R7 R8 + 0x041C0E02, // 000F SUB R7 R7 R2 + 0x041C0F03, // 0010 SUB R7 R7 K3 + 0x88200107, // 0011 GETMBR R8 R0 K7 + 0x001C0E08, // 0012 ADD R7 R7 R8 + 0x5C200600, // 0013 MOVE R8 R3 + 0x5C240800, // 0014 MOVE R9 R4 + 0x7C140800, // 0015 CALL R5 4 + 0x70020009, // 0016 JMP #0021 + 0x88140100, // 0017 GETMBR R5 R0 K0 + 0x8C140B04, // 0018 GETMET R5 R5 K4 + 0x881C0105, // 0019 GETMBR R7 R0 K5 + 0x081C0207, // 001A MUL R7 R1 R7 + 0x001C0E02, // 001B ADD R7 R7 R2 + 0x88200107, // 001C GETMBR R8 R0 K7 + 0x001C0E08, // 001D ADD R7 R7 R8 + 0x5C200600, // 001E MOVE R8 R3 + 0x5C240800, // 001F MOVE R9 R4 + 0x7C140800, // 0020 CALL R5 4 + 0x80000000, // 0021 RET 0 }) ) ); From 33b0c1d5c216268a9cd6fd7a32c2a54b7496ba7c Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 18 May 2024 12:29:51 +0200 Subject: [PATCH 19/88] Update changelogs --- CHANGELOG.md | 7 ++++--- RELEASENOTES.md | 6 +++++- tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino | 5 ++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7edc77632..e5792506f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,13 +12,14 @@ All notable changes to this project will be documented in this file. ### Changed - ESP32 compiler option from `target-align` to `no-target-align` (#21407) - On universal display remove default backlight power if a PWM channel is used for backlight -- Berry binary compiled with gcc +- Berry binary compiled with gcc (#21426) +- GPIOViewer from v1.5.2 to v1.5.3 (No functional change) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) -- Avoid connection errors when switching to safeboot to upload OTA firmware -- Berry Leds matrix alternate more and error about 'bri' attribute +- Avoid connection errors when switching to safeboot to upload OTA firmware (#21428) +- Berry Leds matrix alternate more and error about 'bri' attribute (#21431) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1737ceded..f327a0cca 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -126,12 +126,16 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Breaking Changed ### Changed +- GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) +- Berry binary compiled with gcc [#21426](https://github.com/arendst/Tasmota/issues/21426) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) -- Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401)[#21401](https://github.com/arendst/Tasmota/issues/21401) +- Watchdog restart or freeze if ``displaytext`` is more than 128 characters [#21401](https://github.com/arendst/Tasmota/issues/21401) +- Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) +- Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino b/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino index 8203a28ee..4e549ee50 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_121_gpioviewer.ino @@ -30,6 +30,9 @@ * GvUrl 1 - Select default url (GV_BASE_URL) * GvUrl https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer_1_5/ * + * Note 20240518 + * - GVRelease 1.5.3 + * * Note 20240506 * - Tasmota v14.0.0 * - GVRelease 1.5.2 @@ -59,7 +62,7 @@ #define GV_KEEP_ALIVE 1000 // milliseconds - If no activity after this do a heap size event anyway -const char *GVRelease = "1.5.2"; +const char *GVRelease = "1.5.3"; /*********************************************************************************************/ From 60a42f015ef94736a971ea9257afdb779059e56b Mon Sep 17 00:00:00 2001 From: Barbudor Date: Sat, 18 May 2024 22:15:16 +0200 Subject: [PATCH 20/88] Add command WebRun (as WebQuery extension) (#21364) * tasmota-1m32 * ready * add code usage * clean * remove also that * remove WebQueryWithFunction in favor of default value --- tasmota/include/i18n.h | 1 + tasmota/include/tasmota.h | 4 +- tasmota/my_user_config.h | 1 + .../xdrv_01_9_webserver.ino | 298 +++++++++++------- 4 files changed, 188 insertions(+), 116 deletions(-) diff --git a/tasmota/include/i18n.h b/tasmota/include/i18n.h index 75588497f..6b17b534a 100644 --- a/tasmota/include/i18n.h +++ b/tasmota/include/i18n.h @@ -461,6 +461,7 @@ #define D_CMND_WEBTIME "WebTime" #define D_CMND_WEBSENSOR "WebSensor" #define D_CMND_WEBGETCONFIG "WebGetConfig" +#define D_CMND_WEBRUN "WebRun" #define D_CMND_EMULATION "Emulation" #define D_CMND_SENDMAIL "Sendmail" #define D_CMND_CORS "CORS" diff --git a/tasmota/include/tasmota.h b/tasmota/include/tasmota.h index 6586e7f2b..7467fb913 100644 --- a/tasmota/include/tasmota.h +++ b/tasmota/include/tasmota.h @@ -512,10 +512,10 @@ enum DevGroupShareItem { DGR_SHARE_POWER = 1, DGR_SHARE_LIGHT_BRI = 2, DGR_SHARE enum CommandSource { SRC_IGNORE, SRC_MQTT, SRC_RESTART, SRC_BUTTON, SRC_SWITCH, SRC_BACKLOG, SRC_SERIAL, SRC_WEBGUI, SRC_WEBCOMMAND, SRC_WEBCONSOLE, SRC_PULSETIMER, SRC_TIMER, SRC_RULE, SRC_MAXPOWER, SRC_MAXENERGY, SRC_OVERTEMP, SRC_LIGHT, SRC_KNX, SRC_DISPLAY, SRC_WEMO, SRC_HUE, SRC_RETRY, SRC_REMOTE, SRC_SHUTTER, - SRC_THERMOSTAT, SRC_CHAT, SRC_TCL, SRC_BERRY, SRC_FILE, SRC_SSERIAL, SRC_USBCONSOLE, SRC_SO47, SRC_SENSOR, SRC_MAX }; + SRC_THERMOSTAT, SRC_CHAT, SRC_TCL, SRC_BERRY, SRC_FILE, SRC_SSERIAL, SRC_USBCONSOLE, SRC_SO47, SRC_SENSOR, SRC_WEB, SRC_MAX }; const char kCommandSource[] PROGMEM = "I|MQTT|Restart|Button|Switch|Backlog|Serial|WebGui|WebCommand|WebConsole|PulseTimer|" "Timer|Rule|MaxPower|MaxEnergy|Overtemp|Light|Knx|Display|Wemo|Hue|Retry|Remote|Shutter|" - "Thermostat|Chat|TCL|Berry|File|SSerial|UsbConsole|SO47|Sensor"; + "Thermostat|Chat|TCL|Berry|File|SSerial|UsbConsole|SO47|Sensor|Web"; const uint8_t kDefaultRfCode[9] PROGMEM = { 0x21, 0x16, 0x01, 0x0E, 0x03, 0x48, 0x2E, 0x1A, 0x00 }; diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index d658efed2..72c8bcb3b 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -474,6 +474,7 @@ #define USE_ENHANCED_GUI_WIFI_SCAN // Enable Wi-Fi scan output with BSSID (+0k5 code) // #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code) // #define USE_WEBGETCONFIG // Enable restoring config from external webserver (+0k6) +// #define USE_WEBRUN // Enable executing a tasmota command file from external web server (+0.4 code) // #define USE_GPIO_VIEWER // Enable GPIO Viewer to see realtime GPIO states (+6k code) // #define GV_SAMPLING_INTERVAL 100 // [GvSampling] milliseconds - Use Tasmota Scheduler (100) or Ticker (20..99,101..1000) #define USE_EMULATION_HUE // Enable Hue Bridge emulation for Alexa (+14k code, +2k mem common) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index 44ad0508d..7d7a5d94d 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -3320,6 +3320,169 @@ bool CaptivePortal(void) /*********************************************************************************************/ +enum {QUERY_DEFAULT=0, QUERY_RUN}; +int WebQuery(char *buffer, int query_function); + +#ifdef USE_WEBRUN +char *WebRunBuffer = nullptr; +char *WebRunContext = nullptr; +bool WebRunMutex = false; + +void WebRunLoop(void) +{ + if (WebRunBuffer && !WebRunMutex && BACKLOG_EMPTY) { + WebRunMutex = true; + char *command = strtok_r(WebRunContext, "\n\r", &WebRunContext); + if (command) { + while (isspace(*command)) command++; // skip space + if (*command && ';' != *command) + ExecuteCommand(command, SRC_WEB); + } else { + free(WebRunBuffer); + WebRunBuffer = WebRunContext = nullptr; + } + WebRunMutex = false; + } +} + +void WebRunInit(const char *command_buffer) +{ + if (!WebRunBuffer) { + int len = strlen(command_buffer); + WebRunContext = WebRunBuffer = (char*)malloc(len+1); + if (WebRunBuffer) { + memcpy(WebRunBuffer, command_buffer, len); + WebRunBuffer[len] = 0; + } else { + AddLog(LOG_LEVEL_DEBUG, PSTR("WEBRUN: not enough memory")); + } + } else { + AddLog(LOG_LEVEL_DEBUG, PSTR("WEBRUN: previous not completed")); + } +} +#endif // #ifdef USE_WEBRUN + + +int WebQuery(char *buffer, int query_function = 0) +{ + // http://192.168.1.1/path GET -> Sends HTTP GET http://192.168.1.1/path + // http://192.168.1.1/path POST {"some":"message"} -> Sends HTTP POST to http://192.168.1.1/path with body {"some":"message"} + // http://192.168.1.1/path PUT [Autorization: Bearer abcdxyz] potato -> Sends HTTP PUT to http://192.168.1.1/path with authorization header and body "potato" + // http://192.168.1.1/path PATCH patchInfo -> Sends HTTP PATCH to http://192.168.1.1/path with body "potato" + + // Valid HTTP Commands: GET, POST, PUT, and PATCH + // An unlimited number of headers can be sent per request, and a body can be sent for all command types + // The body will be ignored if sending a GET command + +#if defined(ESP32) && defined(USE_WEBCLIENT_HTTPS) + HTTPClientLight http; +#else // HTTP only + WiFiClient http_client; + HTTPClient http; +#endif + + int status = WEBCMND_WRONG_PARAMETERS; + + char *temp; + const char *url = strtok_r(buffer, " ", &temp); + const char *method = strtok_r(temp, " ", &temp); + + if (url) { +#if defined(ESP32) && defined(USE_WEBCLIENT_HTTPS) + if (http.begin(UrlEncode(url))) { +#else // HTTP only + if (http.begin(http_client, UrlEncode(url))) { +#endif + char empty_body[1] = { 0 }; + char *body = empty_body; + if (temp) { // There is a body and/or header + if (temp[0] == '[') { // Header information was sent; decode it + temp += 1; + temp = strtok_r(temp, "]", &body); + bool headerFound = true; + while (headerFound) { + char *header = strtok_r(temp, ":", &temp); + if (header) { + char *headerBody = strtok_r(temp, "|", &temp); + if (headerBody) { + http.addHeader(header, headerBody); + } + else headerFound = false; + } + else headerFound = false; + } + } else { // No header information was sent, but there was a body + body = temp; + } + } + + int http_code; + if ((!method) || 0 == strcasecmp_P(method, PSTR("GET"))) { http_code = http.GET(); } + else if (0 == strcasecmp_P(method, PSTR("POST"))) { http_code = http.POST(body); } + else if (0 == strcasecmp_P(method, PSTR("PUT"))) { http_code = http.PUT(body); } + else if (0 == strcasecmp_P(method, PSTR("PATCH"))) { http_code = http.PATCH(body); } + else return status; + + if (http_code > 0) { // http_code will be negative on error +#if defined(USE_WEBSEND_RESPONSE) || defined(USE_WEBRUN) + if (http_code == HTTP_CODE_OK || http_code == HTTP_CODE_MOVED_PERMANENTLY) { + // Return received data to the user - Adds 900+ bytes to the code + String response = http.getString(); // File found at server - may need lot of ram or trigger out of memory! + const char* read = response.c_str(); +// uint32_t len = response.length() + 1; +// AddLog(LOG_LEVEL_DEBUG, PSTR("DBG: Response '%*_H' = %s"), len, (uint8_t*)read, read); +#ifdef USE_WEBRUN + if (QUERY_RUN == query_function) + WebRunInit(read); +#endif +#ifdef USE_WEBSEND_RESPONSE + char text[3] = { 0 }; // Make room foor double % + text[0] = *read++; + if (text[0] != '\0') { + Response_P(PSTR("{\"" D_CMND_WEBQUERY "\":")); + bool assume_json = (text[0] == '{') || (text[0] == '['); + if (!assume_json) { ResponseAppend_P(PSTR("\"")); } + while (text[0] != '\0') { + if (text[0] > 31) { // Remove control characters like linefeed + if ('%' == text[0]) { // Fix char string formatting for % + text[1] = '%'; + } + if (assume_json) { + if (ResponseAppend_P(text) == ResponseSize()) { break; }; + } else { + if (ResponseAppend_P(EscapeJSONString(text).c_str()) == ResponseSize()) { break; }; + } + } + text[0] = *read++; + text[1] = '\0'; + } + if (!assume_json) { ResponseAppend_P(PSTR("\"")); } + ResponseJsonEnd(); +#ifdef USE_SCRIPT + // recursive call must be possible in this case + void script_setaflg(uint8_t flg); + script_setaflg(0); +#endif // USE_SCRIPT + status = WEBCMND_VALID_RESPONSE; + } else { +#endif // USE_WEBSEND_RESPONSE + status = WEBCMND_DONE; + } + } else +#endif // USE_WEBSEND_RESPONSE || USE_WEBRUN + status = WEBCMND_DONE; + } else { + status = WEBCMND_CONNECT_FAILED; + } + http.end(); // Clean up connection data + } else { + status = WEBCMND_HOST_NOT_FOUND; + } + } + return status; +} + + int WebSend(char *buffer) { // [tasmota] POWER1 ON --> Sends http://tasmota/cm?cmnd=POWER1 ON @@ -3364,120 +3527,6 @@ int WebSend(char *buffer) return status; } -int WebQuery(char *buffer) { - // http://192.168.1.1/path GET -> Sends HTTP GET http://192.168.1.1/path - // http://192.168.1.1/path POST {"some":"message"} -> Sends HTTP POST to http://192.168.1.1/path with body {"some":"message"} - // http://192.168.1.1/path PUT [Autorization: Bearer abcdxyz] potato -> Sends HTTP PUT to http://192.168.1.1/path with authorization header and body "potato" - // http://192.168.1.1/path PATCH patchInfo -> Sends HTTP PATCH to http://192.168.1.1/path with body "potato" - - // Valid HTTP Commands: GET, POST, PUT, and PATCH - // An unlimited number of headers can be sent per request, and a body can be sent for all command types - // The body will be ignored if sending a GET command - -#if defined(ESP32) && defined(USE_WEBCLIENT_HTTPS) - HTTPClientLight http; -#else // HTTP only - WiFiClient http_client; - HTTPClient http; -#endif - - int status = WEBCMND_WRONG_PARAMETERS; - - char *temp; - char *url = strtok_r(buffer, " ", &temp); - char *method = strtok_r(temp, " ", &temp); - - if (url && method) { -#if defined(ESP32) && defined(USE_WEBCLIENT_HTTPS) - if (http.begin(UrlEncode(url))) { -#else // HTTP only - if (http.begin(http_client, UrlEncode(url))) { -#endif - char empty_body[1] = { 0 }; - char *body = empty_body; - if (temp) { // There is a body and/or header - if (temp[0] == '[') { // Header information was sent; decode it - temp += 1; - temp = strtok_r(temp, "]", &body); - bool headerFound = true; - while (headerFound) { - char *header = strtok_r(temp, ":", &temp); - if (header) { - char *headerBody = strtok_r(temp, "|", &temp); - if (headerBody) { - http.addHeader(header, headerBody); - } - else headerFound = false; - } - else headerFound = false; - } - } else { // No header information was sent, but there was a body - body = temp; - } - } - - int http_code; - if (0 == strcasecmp_P(method, PSTR("GET"))) { http_code = http.GET(); } - else if (0 == strcasecmp_P(method, PSTR("POST"))) { http_code = http.POST(body); } - else if (0 == strcasecmp_P(method, PSTR("PUT"))) { http_code = http.PUT(body); } - else if (0 == strcasecmp_P(method, PSTR("PATCH"))) { http_code = http.PATCH(body); } - else return status; - - if (http_code > 0) { // http_code will be negative on error -#ifdef USE_WEBSEND_RESPONSE - if (http_code == HTTP_CODE_OK || http_code == HTTP_CODE_MOVED_PERMANENTLY) { - // Return received data to the user - Adds 900+ bytes to the code - String response = http.getString(); // File found at server - may need lot of ram or trigger out of memory! - const char* read = response.c_str(); - -// uint32_t len = response.length() + 1; -// AddLog(LOG_LEVEL_DEBUG, PSTR("DBG: Response '%*_H' = %s"), len, (uint8_t*)read, read); - - char text[3] = { 0 }; // Make room foor double % - text[0] = *read++; - if (text[0] != '\0') { - Response_P(PSTR("{\"" D_CMND_WEBQUERY "\":")); - bool assume_json = (text[0] == '{') || (text[0] == '['); - if (!assume_json) { ResponseAppend_P(PSTR("\"")); } - while (text[0] != '\0') { - if (text[0] > 31) { // Remove control characters like linefeed - if ('%' == text[0]) { // Fix char string formatting for % - text[1] = '%'; - } - if (assume_json) { - if (ResponseAppend_P(text) == ResponseSize()) { break; }; - } else { - if (ResponseAppend_P(EscapeJSONString(text).c_str()) == ResponseSize()) { break; }; - } - } - text[0] = *read++; - text[1] = '\0'; - } - if (!assume_json) { ResponseAppend_P(PSTR("\"")); } - ResponseJsonEnd(); -#ifdef USE_SCRIPT - // recursive call must be possible in this case - void script_setaflg(uint8_t flg); - script_setaflg(0); -#endif // USE_SCRIPT - status = WEBCMND_VALID_RESPONSE; - } else { - status = WEBCMND_DONE; - } - } else -#endif // USE_WEBSEND_RESPONSE - status = WEBCMND_DONE; - } else { - status = WEBCMND_CONNECT_FAILED; - } - http.end(); // Clean up connection data - } else { - status = WEBCMND_HOST_NOT_FOUND; - } - } - return status; -} - #ifdef USE_WEBGETCONFIG int WebGetConfig(char *buffer) { // http://user:password@server:port/path/%id%.dmp : %id% will be expanded to MAC address @@ -3597,6 +3646,9 @@ const char kWebCommands[] PROGMEM = "|" // No prefix #ifdef USE_WEBGETCONFIG "|" D_CMND_WEBGETCONFIG #endif +#ifdef USE_WEBRUN + "|" D_CMND_WEBRUN +#endif #ifdef USE_CORS "|" D_CMND_CORS #endif @@ -3618,6 +3670,9 @@ void (* const WebCommand[])(void) PROGMEM = { #ifdef USE_WEBGETCONFIG , &CmndWebGetConfig #endif +#ifdef USE_WEBRUN + , &CmndWebRun +#endif #ifdef USE_CORS , &CmndCors #endif @@ -3743,6 +3798,18 @@ void CmndWebQuery(void) { } } +#ifdef USE_WEBRUN +void CmndWebRun(void) { + if (XdrvMailbox.data_len > 0) { + uint32_t result = WebQuery(XdrvMailbox.data, QUERY_RUN); + if (result != WEBCMND_VALID_RESPONSE) { + char stemp1[20]; + ResponseCmndChar(GetTextIndexed(stemp1, sizeof(stemp1), result, kWebCmndStatus)); + } + } +} +#endif // #ifdef USE_WEBRUN + #ifdef USE_WEBGETCONFIG void CmndWebGetConfig(void) { // WebGetConfig http://myserver:8000/tasmota/conf/%id%.dmp where %id% is expanded to device mac address @@ -3875,6 +3942,9 @@ bool Xdrv01(uint32_t function) switch (function) { case FUNC_LOOP: PollDnsWebserver(); +#ifdef USE_WEBRUN + WebRunLoop(); +#endif // #ifdef USE_WEBRUN #ifdef USE_EMULATION if (Settings->flag2.emulation) { PollUdp(); } #endif // USE_EMULATION From 285a6f353203586b0607bf303125d08f65efbaee Mon Sep 17 00:00:00 2001 From: Barbudor Date: Sat, 18 May 2024 22:15:46 +0200 Subject: [PATCH 21/88] knx dimmer and colour (#21434) --- tasmota/include/tasmota.h | 4 +- tasmota/language/af_AF.h | 1 + tasmota/language/bg_BG.h | 1 + tasmota/language/ca_AD.h | 1 + tasmota/language/cs_CZ.h | 1 + tasmota/language/de_DE.h | 1 + tasmota/language/el_GR.h | 1 + tasmota/language/en_GB.h | 1 + tasmota/language/es_ES.h | 1 + tasmota/language/fr_FR.h | 1 + tasmota/language/fy_NL.h | 1 + tasmota/language/he_HE.h | 1 + tasmota/language/hu_HU.h | 1 + tasmota/language/it_IT.h | 1 + tasmota/language/ko_KO.h | 1 + tasmota/language/nl_NL.h | 1 + tasmota/language/pl_PL.h | 1 + tasmota/language/pt_BR.h | 1 + tasmota/language/pt_PT.h | 1 + tasmota/language/ro_RO.h | 1 + tasmota/language/ru_RU.h | 1 + tasmota/language/sk_SK.h | 1 + tasmota/language/sv_SE.h | 1 + tasmota/language/tr_TR.h | 1 + tasmota/language/uk_UA.h | 1 + tasmota/language/vi_VN.h | 1 + tasmota/language/zh_CN.h | 1 + tasmota/language/zh_TW.h | 1 + tasmota/tasmota_xdrv_driver/xdrv_04_light.ino | 6 + tasmota/tasmota_xdrv_driver/xdrv_11_knx.ino | 143 +++++++++++++++++- 30 files changed, 172 insertions(+), 8 deletions(-) diff --git a/tasmota/include/tasmota.h b/tasmota/include/tasmota.h index 7467fb913..16696bf3f 100644 --- a/tasmota/include/tasmota.h +++ b/tasmota/include/tasmota.h @@ -283,7 +283,9 @@ const uint32_t LOOP_SLEEP_DELAY = 50; // Lowest number of milliseconds to #define KNX_SLOT4 29 #define KNX_SLOT5 30 #define KNX_SCENE 31 -#define KNX_MAX_device_param 31 +#define KNX_DIMMER 32 // aka DPT_Scaling 5.001 +#define KNX_COLOUR 33 // aka DPT_Colour_RGB 232.600 or DPT_Colour_RGBW 251.600 +#define KNX_MAX_device_param 33 #define MAX_KNXTX_CMNDS 5 // XPT2046 resistive touch driver min/max raw values diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index d4122d211..8abf50aa5 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -76,6 +76,7 @@ #define D_COMMAND "Bevel" #define D_CONNECTED "Gekoppel" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Telling" #define D_COUNTER "Opnemer" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 9323b9d09..834b89774 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -76,6 +76,7 @@ #define D_COMMAND "Команда" #define D_CONNECTED "Свързан" #define D_CORS_DOMAIN "Домейн на CORS" +#define D_COLOR "Color" #define D_COUNT "Брой" #define D_COUNTER "Брояч" #define D_CT_POWER "ТТ Мощност" diff --git a/tasmota/language/ca_AD.h b/tasmota/language/ca_AD.h index 14fe65a07..1b8e37bfb 100644 --- a/tasmota/language/ca_AD.h +++ b/tasmota/language/ca_AD.h @@ -76,6 +76,7 @@ #define D_COMMAND "Ordre" #define D_CONNECTED "Connectat" #define D_CORS_DOMAIN "Domini CORS" +#define D_COLOR "Color" #define D_COUNT "Compta" #define D_COUNTER "Comptador" #define D_CT_POWER "Energia CT" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 83774fd65..19cc0a432 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -76,6 +76,7 @@ #define D_COMMAND "Příkaz" #define D_CONNECTED "...připojeno" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Počítej" #define D_COUNTER "Počítadlo" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 1fc8b156d..7c69b0d26 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -76,6 +76,7 @@ #define D_COMMAND "Befehl" #define D_CONNECTED "verbunden" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Anzahl" // used as a noun throughout #define D_COUNTER "Zähler" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 2b25c9ea1..0d8860336 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -75,6 +75,7 @@ #define D_COLDLIGHT "Ψυχρό" #define D_COMMAND "Εντολή" #define D_CONNECTED "Συνδεδεμένο" +#define D_COLOR "Color" #define D_COUNT "Μέτρηση" #define D_CORS_DOMAIN "CORS Domain" #define D_COUNTER "Μετρητής" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 1bec1eb93..0ec400917 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -76,6 +76,7 @@ #define D_COMMAND "Command" #define D_CONNECTED "Connected" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Count" #define D_COUNTER "Counter" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 9ee96b57a..346c143cc 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -76,6 +76,7 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Conectado" #define D_CORS_DOMAIN "Sitio WEB para CORS" +#define D_COLOR "Color" #define D_COUNT "Conteo" #define D_COUNTER "Contador" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 86b549ef6..e72b5a98f 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -76,6 +76,7 @@ #define D_COMMAND "Commande" #define D_CONNECTED "Connecté" #define D_CORS_DOMAIN "Domaine CORS" +#define D_COLOR "Color" #define D_COUNT "Compte" #define D_COUNTER "Compteur" #define D_CT_POWER "Puissance CT" diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index e3bbbc78d..99a9ded66 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -76,6 +76,7 @@ #define D_COMMAND "Oarder" #define D_CONNECTED "Ferbûn" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Nûmer" #define D_COUNTER "Teller" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 481b8d9f7..8783e8858 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -76,6 +76,7 @@ #define D_COMMAND "פקודה" #define D_CONNECTED "מחובר" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "סופר" #define D_COUNTER "מונה" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 39652b619..a8134a18d 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -76,6 +76,7 @@ #define D_COMMAND "Parancs" #define D_CONNECTED "Csatlakoztatva" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Szám" #define D_COUNTER "Számláló" #define D_CT_POWER "CT erősség" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 6069d9a6f..477e28547 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -76,6 +76,7 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Connesso" #define D_CORS_DOMAIN "Dominio CORS" +#define D_COLOR "Color" #define D_COUNT "Conteggio" #define D_COUNTER "Contatore" #define D_CT_POWER "Alimentazione CT" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 8f9aec18b..311d7e8d6 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -75,6 +75,7 @@ #define D_COLDLIGHT "차갑게" #define D_COMMAND "커맨드" #define D_CONNECTED "연결됨" +#define D_COLOR "Color" #define D_COUNT "횟수" #define D_CORS_DOMAIN "CORS Domain" #define D_COUNTER "Counter" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 530df849b..9ec4d8a11 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -75,6 +75,7 @@ #define D_COLDLIGHT "Koud" #define D_COMMAND "Opdracht" #define D_CONNECTED "Verbonden" +#define D_COLOR "Color" #define D_COUNT "Aantal" #define D_CORS_DOMAIN "CORS Domain" #define D_COUNTER "Teller" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index adb686580..c321ba7fc 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -76,6 +76,7 @@ #define D_COMMAND "Komenda" #define D_CONNECTED "Połączony" #define D_CORS_DOMAIN "Domena CORS" +#define D_COLOR "Color" #define D_COUNT "Licz" #define D_COUNTER "Licznik" #define D_CT_POWER "Moc CT" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index d4ebf6bf1..0887096a7 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -76,6 +76,7 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Ligado" #define D_CORS_DOMAIN "Domínio CORS" +#define D_COLOR "Color" #define D_COUNT "Contagem" #define D_COUNTER "Contador" #define D_CT_POWER "Carga CT" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index d27ca6489..ac4e5e7e6 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -76,6 +76,7 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Ligado" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Contagem" #define D_COUNTER "Contador" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 5f2a6adfa..e9eb8ed0c 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -76,6 +76,7 @@ #define D_COMMAND "Comandă" #define D_CONNECTED "Conectat" #define D_CORS_DOMAIN "Domeniu CORS" +#define D_COLOR "Color" #define D_COUNT "Numărătoare" #define D_COUNTER "Contor" #define D_CT_POWER "Putere Transformată" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 50f2a3b68..e3cce4b84 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -77,6 +77,7 @@ #define D_COMMAND "Команда" #define D_CONNECTED "Соединен" #define D_CORS_DOMAIN "Домен CORS" +#define D_COLOR "Color" #define D_COUNT "Подсчет" #define D_COUNTER "Счетчик" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 5edc13b7a..043cfbe9b 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -76,6 +76,7 @@ #define D_COMMAND "Príkaz" #define D_CONNECTED "...pripojené" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Počítaj" #define D_COUNTER "Počítadlo" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 474311860..66b9c7ad4 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -76,6 +76,7 @@ #define D_COMMAND "Kommando" #define D_CONNECTED "Ansluten" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Räkna" #define D_COUNTER "Räknare" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index fb002ed79..3f761a2be 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -76,6 +76,7 @@ #define D_COMMAND "Komut" #define D_CONNECTED "Bağlandı" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Sayı" #define D_COUNTER "Sayaç" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index b6b15c530..084a95005 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -76,6 +76,7 @@ #define D_COMMAND "Команда" #define D_CONNECTED "Під'єднано" #define D_CORS_DOMAIN "Домен CORS" +#define D_COLOR "Color" #define D_COUNT "разів" #define D_COUNTER "Лічильник" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index ed5aa210f..8871e2bec 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -76,6 +76,7 @@ #define D_COMMAND "Dòng Lệnh" #define D_CONNECTED "Đã kết nối" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "Đếm" #define D_COUNTER "Bộ đếm" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index e86c3b64e..ea75855a9 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -76,6 +76,7 @@ #define D_COMMAND "命令:" #define D_CONNECTED "已连接" #define D_CORS_DOMAIN "CORS Domain" +#define D_COLOR "Color" #define D_COUNT "数量:" #define D_COUNTER "计数器" #define D_CT_POWER "CT Power" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 85878d25e..b90806baf 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -76,6 +76,7 @@ #define D_COMMAND "命令:" #define D_CONNECTED "已連線" #define D_CORS_DOMAIN "跨來源資源共享的網域(CORS Domain)" +#define D_COLOR "Color" #define D_COUNT "數量:" #define D_COUNTER "Counter" #define D_CT_POWER "CT Power" diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light.ino index a119a8bd7..7fe085f60 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light.ino @@ -1549,6 +1549,9 @@ void LightPreparePower(power_t channels = 0xFFFFFFFF) { // 1 = only RGB, 2 = #ifdef USE_DOMOTICZ DomoticzUpdatePowerState(Light.device + i); #endif // USE_DOMOTICZ + #ifdef USE_KNX + KnxUpdateLight(); + #endif } } } else { @@ -1585,6 +1588,9 @@ void LightPreparePower(power_t channels = 0xFFFFFFFF) { // 1 = only RGB, 2 = #ifdef USE_DOMOTICZ DomoticzUpdatePowerState(Light.device); #endif // USE_DOMOTICZ +#ifdef USE_KNX + KnxUpdateLight(); +#endif } if (Settings->flag3.hass_tele_on_power) { // SetOption59 - Send tele/%topic%/STATE in addition to stat/%topic%/RESULT diff --git a/tasmota/tasmota_xdrv_driver/xdrv_11_knx.ino b/tasmota/tasmota_xdrv_driver/xdrv_11_knx.ino index 03b385671..3e5a8e929 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_11_knx.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_11_knx.ino @@ -117,6 +117,8 @@ device_parameters_t device_param[] = { { KNX_SLOT4 , false, false, KNX_Empty }, { KNX_SLOT5 , false, false, KNX_Empty }, { KNX_SCENE , false, false, KNX_Empty }, + { KNX_DIMMER , false, false, KNX_Empty }, + { KNX_COLOUR , false, false, KNX_Empty }, { KNX_Empty, false, false, KNX_Empty} }; @@ -153,6 +155,8 @@ const char * device_param_ga[] = { D_KNX_TX_SLOT " 4", D_KNX_TX_SLOT " 5", D_KNX_TX_SCENE , + D_BRIGHTLIGHT , + D_COLOR , nullptr }; @@ -189,7 +193,9 @@ const char *device_param_cb[] = { D_KNX_RX_SLOT " 4", D_KNX_RX_SLOT " 5", D_KNX_RX_SCENE , - nullptr + D_BRIGHTLIGHT , + D_COLOR , +nullptr }; // Commands @@ -243,7 +249,7 @@ void KNX_Send_4byte_float(address_t const &receiver, float value, knx_command_ty #define KNX_WRITE_4BYTE_FLOAT(r,v) KNX_Send_4byte_float((r),(v),KNX_CT_WRITE) #define KNX_ANSWER_4BYTE_FLOAT(r,v) KNX_Send_4byte_float((r),(v),KNX_CT_ANSWER) -void KNX_Send_4byte_int(address_t const &receiver, int value, knx_command_type_t ct) +void KNX_Send_4byte_int(address_t const &receiver, int32_t value, knx_command_type_t ct) { uint8_t repeat = Settings->flag.knx_enable_enhancement ? KNX_ENHANCEMENT_REPEAT : 1; while ( repeat-- ) @@ -252,6 +258,34 @@ void KNX_Send_4byte_int(address_t const &receiver, int value, knx_command_type_t #define KNX_WRITE_4BYTE_INT(r,v) KNX_Send_4byte_int((r),(v),KNX_CT_WRITE) #define KNX_ANSWER_4BYTE_INT(r,v) KNX_Send_4byte_int((r),(v),KNX_CT_ANSWER) +void KNX_Send_4byte_uint(address_t const &receiver, uint32_t value, knx_command_type_t ct) +{ + uint8_t repeat = Settings->flag.knx_enable_enhancement ? KNX_ENHANCEMENT_REPEAT : 1; + while ( repeat-- ) + knx.send_4byte_uint(receiver, ct, value); +} +#define KNX_WRITE_4BYTE_UINT(r,v) KNX_Send_4byte_uint((r),(v),KNX_CT_WRITE) +#define KNX_ANSWER_4BYTE_UINT(r,v) KNX_Send_4byte_uint((r),(v),KNX_CT_ANSWER) + +void KNX_Send_3byte_color(address_t const &receiver, uint8_t* color, knx_command_type_t ct) +{ + uint8_t buf[] = {0x00, color[0], color[1], color[2]}; + uint8_t repeat = Settings->flag.knx_enable_enhancement ? KNX_ENHANCEMENT_REPEAT : 1; + while ( repeat-- ) + knx.send(receiver, ct, 4, buf); +} +#define KNX_WRITE_3BYTE_COLOR(r,rgb) KNX_Send_3byte_color((r),(rgb),KNX_CT_WRITE) +#define KNX_ANSWER_3BYTE_COLOR(r,rgb) KNX_Send_3byte_color((r),(rgb),KNX_CT_ANSWER) + +void KNX_Send_6byte_color(address_t const &receiver, uint8_t* color, knx_command_type_t ct) +{ + uint8_t buf[] = {0x00, color[0], color[1], color[2], color[3], 0x00, 0x0F}; + uint8_t repeat = Settings->flag.knx_enable_enhancement ? KNX_ENHANCEMENT_REPEAT : 1; + while ( repeat-- ) + knx.send(receiver, ct, 7, buf); +} +#define KNX_WRITE_6BYTE_COLOR(r,rgbw) KNX_Send_6byte_color((r),(rgbw),KNX_CT_WRITE) +#define KNX_ANSWER_6BYTE_COLOR(r,rgbw) KNX_Send_6byte_color((r),(rgbw),KNX_CT_ANSWER) uint8_t KNX_GA_Search( uint8_t param, uint8_t start = 0 ) @@ -559,7 +593,7 @@ void KNX_INIT(void) device_param[KNX_ENERGY_CURRENT-1].show = true; device_param[KNX_ENERGY_POWERFACTOR-1].show = true; } -#endif +#endif // USE_ENERGY_SENSOR #ifdef USE_RULES device_param[KNX_SLOT1-1].show = true; @@ -568,7 +602,15 @@ void KNX_INIT(void) device_param[KNX_SLOT4-1].show = true; device_param[KNX_SLOT5-1].show = true; device_param[KNX_SCENE-1].show = true; -#endif +#endif // USE_RULES + +#ifdef USE_LIGHT + if (Light.subtype > LST_NONE) { + device_param[KNX_DIMMER-1].show = true; + if ((LST_RGB == Light.subtype) || (LST_RGBW == Light.subtype)) + device_param[KNX_COLOUR-1].show = true; + } +#endif // USE_LIGHT // Delete from KNX settings all configuration is not anymore related to this device if (KNX_CONFIG_NOT_MATCH()) { @@ -611,6 +653,15 @@ void KNX_CB_Action(message_t const &msg, void *arg) // VALUE uint8_t tempvar = knx.data_to_1byte_uint(msg.data); dtostrfd(tempvar,0,tempchar); +#ifdef USE_LIGHT + } else if (chan->type == KNX_DIMMER) { + // VALUE + uint8_t tempvar = changeUIntScale(knx.data_to_1byte_uint(msg.data),0, 255, 0, 100); + dtostrfd(tempvar,0,tempchar); + } else if (chan->type == KNX_COLOUR) { + // VALUE + snprintf_P(tempchar, sizeof(tempchar), (Light.subtype == LST_RGB) ? PSTR("%02X%02X%02X"):PSTR("%02X%02X%02X%02X"), msg.data[1], msg.data[2], msg.data[3]); +#endif // USE_LIGHT } else { // VALUE float tempvar = knx.data_to_4byte_float(msg.data); @@ -668,7 +719,33 @@ void KNX_CB_Action(message_t const &msg, void *arg) } } } -#endif +#endif // USE_RULES +#ifdef USE_LIGHT + else if (chan->type == KNX_DIMMER) // KNX RX DIMMER SLOT (write command) + { + if (!toggle_inhibit) { + char command[25]; + // Value received + snprintf_P(command, sizeof(command), PSTR("Dimmer %s"), tempchar); + ExecuteCommand(command, SRC_KNX); + if (Settings->flag.knx_enable_enhancement) { + toggle_inhibit = TOGGLE_INHIBIT_TIME; + } + } + } + else if (chan->type == KNX_COLOUR) // KNX RX COLOUR_RGB/RGBW SLOT (write command) + { + if (!toggle_inhibit) { + char command[25]; + // Value received + snprintf_P(command, sizeof(command), PSTR("Color #%s"), tempchar); + ExecuteCommand(command, SRC_KNX); + if (Settings->flag.knx_enable_enhancement) { + toggle_inhibit = TOGGLE_INHIBIT_TIME; + } + } + } +#endif // USE_LIGHT break; case KNX_CT_READ: @@ -711,7 +788,7 @@ void KNX_CB_Action(message_t const &msg, void *arg) { KNX_ANSWER_4BYTE_INT(msg.received_on, round(1000.0 * Energy->total_sum)); } -#endif +#endif // USE_ENERGY_SENSOR #ifdef USE_RULES else if ((chan->type >= KNX_SLOT1) && (chan->type <= KNX_SLOT5)) // KNX RX SLOTs (read command) { @@ -724,7 +801,22 @@ void KNX_CB_Action(message_t const &msg, void *arg) } } } -#endif +#endif // USE_RULES +#ifdef USE_LIGHT + else if (chan->type == KNX_DIMMER) // Reply KNX_DIMMER + { + uint8_t dimmer = changeUIntScale(light_state.getDimmer(), 0, 100, 0, 255); + KNX_ANSWER_1BYTE_UINT(msg.received_on, dimmer); + } + else if (chan->type == KNX_COLOUR) // Reply KNX_COLOUR + { + if ( Light.subtype == LST_RGB) { + KNX_ANSWER_3BYTE_COLOR(msg.received_on, Light.current_color); + } else if ( Light.subtype == LST_RGBW) { + KNX_ANSWER_6BYTE_COLOR(msg.received_on, Light.current_color); + } + } +#endif // USE_LIGHT break; } } @@ -751,6 +843,43 @@ void KnxUpdatePowerState(uint8_t device, power_t state) } +#ifdef USE_LIGHT +void KnxUpdateLight() +{ + if (!(Settings->flag.knx_enabled)) { return; } + + uint8_t dimmer = light_state.getDimmer(); + uint8_t dim_knx = changeUIntScale(dimmer, 0, 100, 0, 255); + + for (uint32_t i = 0; i < Settings->knx_GA_registered; ++i) + { + KNX_addr.value = Settings->knx_GA_addr[i]; + if ( KNX_addr.value != 0 ) { + switch(Settings->knx_GA_param[i]) { + case KNX_DIMMER: + KNX_WRITE_1BYTE_UINT(KNX_addr, dim_knx); + AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_KNX "%s %d " D_SENT_TO " %d/%d/%d"), + device_param_ga[KNX_DIMMER -1], + dimmer, + KNX_addr.ga.area, KNX_addr.ga.line, KNX_addr.ga.member); + break; + case KNX_COLOUR: + if ( Light.subtype == LST_RGB) { + KNX_WRITE_3BYTE_COLOR(KNX_addr, Light.current_color); + } else if ( Light.subtype == LST_RGBW) { + KNX_WRITE_6BYTE_COLOR(KNX_addr, Light.current_color); + } + AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_KNX "%s %d,%d,%d,%d " D_SENT_TO " %d/%d/%d"), + device_param_ga[KNX_COLOUR -1], + Light.current_color[0], Light.current_color[1], Light.current_color[2], Light.current_color[3], + KNX_addr.ga.area, KNX_addr.ga.line, KNX_addr.ga.member); + break; + } + } + } +} +#endif // USE_LIGHT + void KnxSendButtonPower(void) { if (!(Settings->flag.knx_enabled)) { return; } From 0e5b2a86b8edf1871d1acbb794cc66fefc44122b Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Sat, 18 May 2024 22:15:59 +0200 Subject: [PATCH 22/88] i2s audio ,some improvements (#21433) --- .../tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino | 4 ++++ tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino index c9a102517..dafbfb772 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino @@ -85,7 +85,11 @@ typedef struct{ struct { uint32_t sample_rate = 32000; // B00-03 - 32000 is compatible with MP3 encoding uint16_t gain = 30 * 16; // B04-05 - in Q12.4 +#if SOC_I2S_SUPPORTS_PDM_RX uint8_t mode = I2S_MODE_PDM; // B06 - I2S mode standard, PDM, TDM, DAC +#else + uint8_t mode = I2S_MODE_STD; // B06 - I2S mode standard, PDM, TDM, DAC +#endif uint8_t slot_mask = BIT(0); // B07 - slot mask = left/right/both depended on mode, so BIT(0) maybe left or right uint8_t slot_bit_width = I2S_SLOT_BIT_WIDTH_32BIT; // B08 - auto equals data_bit_width - can differ from bits per sample e.g. INMP441 uint8_t channels = 1; // B09 - mono/stereo - 1 is added for both diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino index f2072cb8b..1c9f5714f 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino @@ -404,7 +404,7 @@ void I2sMicTask(void *arg){ } ctime = TasmotaGlobal.uptime; - timeForOneRead = 1000 / ((audio_i2s.Settings->rx.sample_rate / samples_per_pass)); + timeForOneRead = 1000 / ((audio_i2s.Settings->rx.sample_rate / (samples_per_pass * audio_i2s.Settings->rx.channels ))); timeForOneRead -= 1; // be very in time AddLog(LOG_LEVEL_DEBUG, PSTR("I2S: samples %u, bytesize %u, time: %u"),samples_per_pass, bytesize, timeForOneRead); @@ -1027,7 +1027,11 @@ void CmndI2SI2SRtttl(void) { } void CmndI2SMicRec(void) { - if (audio_i2s.Settings->sys.mp3_preallocate == 1) { + if (audio_i2s_mp3.mp3ram == nullptr){ + AddLog(LOG_LEVEL_DEBUG,PSTR("I2S: try late buffer allocation for mp3 encoder")); + audio_i2s_mp3.mp3ram = special_malloc(preallocateCodecSize); + } + if (audio_i2s_mp3.mp3ram != nullptr) { if (XdrvMailbox.data_len > 0) { if (!strncmp(XdrvMailbox.data, "-?", 2)) { Response_P("{\"I2SREC-duration\":%d}", audio_i2s_mp3.recdur); From ec97552c8b9b9ad7641d1f25de0a604132869f29 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 19 May 2024 11:20:42 +0200 Subject: [PATCH 23/88] Update changelogs --- CHANGELOG.md | 3 +++ RELEASENOTES.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5792506f..a2efdc8d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ All notable changes to this project will be documented in this file. ## [14.0.0.1] ### Added - Enabled watchdog for ESP32 and variants (#21422) +- Optional command ``WebRun`` (as WebQuery extension) (#21364) +- Knx dimmer and color (#21434) ### Breaking Changed @@ -14,6 +16,7 @@ All notable changes to this project will be documented in this file. - On universal display remove default backlight power if a PWM channel is used for backlight - Berry binary compiled with gcc (#21426) - GPIOViewer from v1.5.2 to v1.5.3 (No functional change) +- ESP32 I2S audio improvements (#21433) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index f327a0cca..e3216fd0c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -121,6 +121,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ## Changelog v14.0.0.1 ### Added +- Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) +- Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) - Enabled watchdog for ESP32 and variants [#21422](https://github.com/arendst/Tasmota/issues/21422) ### Breaking Changed @@ -129,6 +131,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) +- ESP32 I2S audio improvements [#21433](https://github.com/arendst/Tasmota/issues/21433) - Berry binary compiled with gcc [#21426](https://github.com/arendst/Tasmota/issues/21426) ### Fixed From 009aa8d48182641e729ba24661eb8e0d2a5f6d81 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 19 May 2024 12:09:33 +0200 Subject: [PATCH 24/88] Prep ASR650X LoRaWan node --- tasmota/include/tasmota_template.h | 6 ++++++ tasmota/language/af_AF.h | 2 ++ tasmota/language/bg_BG.h | 2 ++ tasmota/language/ca_AD.h | 2 ++ tasmota/language/cs_CZ.h | 2 ++ tasmota/language/de_DE.h | 2 ++ tasmota/language/el_GR.h | 2 ++ tasmota/language/en_GB.h | 2 ++ tasmota/language/es_ES.h | 2 ++ tasmota/language/fr_FR.h | 2 ++ tasmota/language/fy_NL.h | 2 ++ tasmota/language/he_HE.h | 2 ++ tasmota/language/hu_HU.h | 2 ++ tasmota/language/it_IT.h | 4 +++- tasmota/language/ko_KO.h | 2 ++ tasmota/language/nl_NL.h | 2 ++ tasmota/language/pl_PL.h | 2 ++ tasmota/language/pt_BR.h | 2 ++ tasmota/language/pt_PT.h | 2 ++ tasmota/language/ro_RO.h | 2 ++ tasmota/language/ru_RU.h | 2 ++ tasmota/language/sk_SK.h | 2 ++ tasmota/language/sv_SE.h | 2 ++ tasmota/language/tr_TR.h | 2 ++ tasmota/language/uk_UA.h | 2 ++ tasmota/language/vi_VN.h | 2 ++ tasmota/language/zh_CN.h | 2 ++ tasmota/language/zh_TW.h | 2 ++ 28 files changed, 61 insertions(+), 1 deletion(-) diff --git a/tasmota/include/tasmota_template.h b/tasmota/include/tasmota_template.h index 6efc20425..8f0dbd086 100644 --- a/tasmota/include/tasmota_template.h +++ b/tasmota/include/tasmota_template.h @@ -220,6 +220,7 @@ enum UserSelectablePins { GPIO_TS_SPI_CS, GPIO_TS_RST, GPIO_TS_IRQ, // SPI for Universal Touch Screen GPIO_RN2XX3_TX, GPIO_RN2XX3_RX, GPIO_RN2XX3_RST, // RN2XX3 LoRaWan node Serial interface GPIO_TCP_TX_EN, // TCP to serial bridge, EN pin + GPIO_ASR650X_TX, GPIO_ASR650X_RX, // ASR650X LoRaWan node Serial interface GPIO_SENSOR_END }; // Error as warning to rethink GPIO usage with max 2045 @@ -487,6 +488,7 @@ const char kSensorNames[] PROGMEM = D_GPIO_TS_SPI_CS "|" D_GPIO_TS_RST "|" D_GPIO_TS_IRQ "|" D_GPIO_RN2XX3_TX "|" D_GPIO_RN2XX3_RX "|" D_GPIO_RN2XX3_RST "|" D_SENSOR_TCP_TXD_EN "|" + D_GPIO_ASR650X_TX "|" D_GPIO_ASR650X_RX "|" ; const char kSensorNamesFixed[] PROGMEM = @@ -1092,6 +1094,10 @@ const uint16_t kGpioNiceList[] PROGMEM = { AGPIO(GPIO_RN2XX3_RX), AGPIO(GPIO_RN2XX3_RST), // RN2XX3 LoRaWan node Serial interface #endif +#ifdef USE_LORAWAN_ASR650X + AGPIO(GPIO_ASR650X_TX), + AGPIO(GPIO_ASR650X_RX), // ASR650X LoRaWan node Serial interface +#endif /*-------------------------------------------------------------------------------------------*\ * Other sensors diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index 8abf50aa5..fabaec1e1 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 834b89774..834009096 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/ca_AD.h b/tasmota/language/ca_AD.h index 1b8e37bfb..75151988a 100644 --- a/tasmota/language/ca_AD.h +++ b/tasmota/language/ca_AD.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 19cc0a432..d0838a0a6 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 7c69b0d26..43d5a5535 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 0d8860336..1c47c5560 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 0ec400917..2187a6871 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 346c143cc..82ba7a2d6 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index e72b5a98f..d7ac06abf 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index 99a9ded66..bf1b2cdbe 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 8783e8858..e7422821a 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index a8134a18d..a037e28a5 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 477e28547..699ce126c 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -76,7 +76,7 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Connesso" #define D_CORS_DOMAIN "Dominio CORS" -#define D_COLOR "Color" +#define D_COLOR "Color" #define D_COUNT "Conteggio" #define D_COUNTER "Contatore" #define D_CT_POWER "Alimentazione CT" @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 - TX" #define D_GPIO_RN2XX3_RX "RN2XX3 - RX" #define D_GPIO_RN2XX3_RST "RN2XX3 - Rst" +#define D_GPIO_ASR650X_TX "ASR650X - Tx" +#define D_GPIO_ASR650X_RX "ASR650X - Rx" #define D_GPIO_LORA_CS "LoRa - CS" #define D_GPIO_LORA_RST "LoRa - Rst" #define D_GPIO_LORA_BUSY "LoRa - Busy" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 311d7e8d6..dae42e67d 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 9ec4d8a11..7a2466dc5 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index c321ba7fc..d16a56c72 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 0887096a7..c26076964 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index ac4e5e7e6..4daa0a48b 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index e9eb8ed0c..bcbdbb23a 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index e3cce4b84..18b0d438d 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -791,6 +791,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 043cfbe9b..f273cae32 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 66b9c7ad4..c968ef2ca 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 3f761a2be..a570fc57e 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index 084a95005..490328438 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 8871e2bec..6c279b59d 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index ea75855a9..5542facae 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index b90806baf..d285af57f 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -790,6 +790,8 @@ #define D_GPIO_RN2XX3_TX "RN2XX3 Tx" #define D_GPIO_RN2XX3_RX "RN2XX3 Rx" #define D_GPIO_RN2XX3_RST "RN2XX3 Rst" +#define D_GPIO_ASR650X_TX "ASR650x Tx" +#define D_GPIO_ASR650X_RX "ASR650x Rx" #define D_GPIO_LORA_CS "LoRa CS" #define D_GPIO_LORA_RST "LoRa Rst" #define D_GPIO_LORA_BUSY "LoRa Busy" From 7f7bcd0ab6ce909cf7796ab87786c71cb457ce88 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Sun, 19 May 2024 17:12:54 +0200 Subject: [PATCH 25/88] small refactoring, more robust handling of commands (#21439) --- .../xdrv_42_0_i2s_audio_idf51.ino | 46 +++++++++++-------- .../xdrv_42_3_i2s_saytime.ino | 2 +- .../xdrv_42_6_i2s_rtttl.ino | 2 - .../xdrv_42_7_i2s_webradio_idf51.ino | 2 +- 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino index 1c9f5714f..5104e2ab9 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino @@ -90,7 +90,8 @@ struct AUDIO_I2S_MP3_t { uint8_t mic_stop; int8_t mic_error; bool use_stream = false; - + bool task_running = false; + bool task_has_ended = false; // SHINE uint32_t recdur; @@ -117,7 +118,7 @@ struct AUDIO_I2S_MP3_t { \*********************************************************************************************/ const char kI2SAudio_Commands[] PROGMEM = "I2S|" - "Gain|Rec|MGain|Stop|Config" + "Gain|Rec|Stop|Config" #ifdef USE_I2S_MP3 "|Play" #endif @@ -145,7 +146,7 @@ const char kI2SAudio_Commands[] PROGMEM = "I2S|" ; void (* const I2SAudio_Command[])(void) PROGMEM = { - &CmndI2SGain, &CmndI2SMicRec, &CmndI2SMicGain, &CmndI2SStop, &CmndI2SConfig, + &CmndI2SGain, &CmndI2SMicRec, &CmndI2SStop, &CmndI2SConfig, #ifdef USE_I2S_MP3 &CmndI2SPlay, #endif @@ -776,6 +777,14 @@ void I2sInit(void) { // // Returns `I2S_OK` if ok to send to output or error code int32_t I2SPrepareTx(void) { + + if(audio_i2s_mp3.task_running){ + audio_i2s_mp3.task_running = false; + while(!audio_i2s_mp3.task_has_ended){ + delay(1); + } + } + AddLog(LOG_LEVEL_DEBUG, "I2S: I2SPrepareTx out=%p", audio_i2s.out); if (!audio_i2s.out) { return I2S_ERR_OUTPUT_NOT_CONFIGURED; } @@ -831,28 +840,34 @@ void I2sStatusCallback(void *cbData, int code, const char *string) { } #ifdef USE_I2S_MP3 -void I2sMp3Task2(void *arg){ - while (1) { +void I2sMp3WrTask(void *arg){ + audio_i2s_mp3.task_running = true; + audio_i2s_mp3.task_has_ended = false; + while (audio_i2s_mp3.task_running) { if (audio_i2s_mp3.decoder && audio_i2s_mp3.decoder->isRunning()) { if (!audio_i2s_mp3.decoder->loop()) { - I2sStopPlaying(); + audio_i2s_mp3.task_running = false; //retryms = millis() + 2000; } vTaskDelay(pdMS_TO_TICKS(1)); } } + audio_i2s_mp3.decoder->stop(); + audio_i2s_mp3.task_has_ended = true; + I2sStopPlaying(); } void I2SStopMP3Play(void) { - if (audio_i2s_mp3.mp3_task_handle) { - vTaskDelete(audio_i2s_mp3.mp3_task_handle); - audio_i2s_mp3.mp3_task_handle = nullptr; - } if (audio_i2s_mp3.decoder) { audio_i2s_mp3.decoder->stop(); delete audio_i2s_mp3.decoder; audio_i2s_mp3.decoder = NULL; } + + if (audio_i2s_mp3.mp3_task_handle) { + vTaskDelete(audio_i2s_mp3.mp3_task_handle); + audio_i2s_mp3.mp3_task_handle = nullptr; + } } #endif // USE_I2S_MP3 @@ -1016,7 +1031,7 @@ void CmndI2SSay(void) { } void CmndI2SI2SRtttl(void) { - if (I2SPrepareTx()) { + if (I2SPrepareTx() != I2S_OK) { ResponseCmndChar("I2S output not configured"); return; } @@ -1060,15 +1075,6 @@ void CmndI2SMicRec(void) { } } -// mic gain in factor not percent -void CmndI2SMicGain(void) { - // TODO - does nothing for now - if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 256)) { - audio_i2s.Settings->rx.gain = XdrvMailbox.payload; - } - ResponseCmndNumber(audio_i2s.Settings->rx.gain); -} - /*********************************************************************************************\ * Interface \*********************************************************************************************/ diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino index 91583effa..f52b8bc71 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino @@ -120,7 +120,7 @@ AudioGeneratorTalkie *talkie = nullptr; } void Cmd_Time(void) { - if (!audio_i2s.out) return; + if (I2SPrepareTx() != I2S_OK) return; sayTime(RtcTime.hour, RtcTime.minute); ResponseCmndDone(); } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino index 21ab060e5..bf4ecfdb3 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino @@ -26,8 +26,6 @@ void Rtttl(char *buffer); void Rtttl(char *buffer) { - if (!audio_i2s.out) return; - AudioGeneratorRTTTL *rtttl; AudioFileSourcePROGMEM *file = NULL; diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino index df28b0e8f..370bebb9d 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino @@ -83,7 +83,7 @@ void Webradio(const char *url) { } AddLog(LOG_LEVEL_DEBUG,PSTR("I2S: will launch webradio task")); - xTaskCreatePinnedToCore(I2sMp3Task2, "MP3-2", 8192, NULL, 3, &audio_i2s_mp3.mp3_task_handle, 1); + xTaskCreatePinnedToCore(I2sMp3WrTask, "MP3-WR", 8192, NULL, 3, &audio_i2s_mp3.mp3_task_handle, 1); } #ifdef USE_WEBSERVER From 239ddfc15cefdc0013e2bf94a9cc350411e86318 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sun, 19 May 2024 19:47:32 +0200 Subject: [PATCH 26/88] Wrong timeout in `WebQuery` and `webclient` since Core3 (#21442) --- CHANGELOG.md | 1 + lib/libesp32/ESP-Mail-Client/src/ESP_Mail_TCPClient.h | 2 +- lib/libesp32/HttpClientLight/src/HttpClientLight.cpp | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2efdc8d5..542c6cf7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ All notable changes to this project will be documented in this file. - Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) - Avoid connection errors when switching to safeboot to upload OTA firmware (#21428) - Berry Leds matrix alternate more and error about 'bri' attribute (#21431) +- Wrong timeout in `WebQuery` and `webclient` since Core3 ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/lib/libesp32/ESP-Mail-Client/src/ESP_Mail_TCPClient.h b/lib/libesp32/ESP-Mail-Client/src/ESP_Mail_TCPClient.h index 43bb799d2..1656a64f0 100644 --- a/lib/libesp32/ESP-Mail-Client/src/ESP_Mail_TCPClient.h +++ b/lib/libesp32/ESP-Mail-Client/src/ESP_Mail_TCPClient.h @@ -190,7 +190,7 @@ public: */ void setTimeout(uint32_t timeoutSec) { - _tcp_client->setTimeout(timeoutSec); + _tcp_client->setTimeout(timeoutSec * 1000); } /** Set the BearSSL IO buffer size. diff --git a/lib/libesp32/HttpClientLight/src/HttpClientLight.cpp b/lib/libesp32/HttpClientLight/src/HttpClientLight.cpp index 2705d9694..6c35df254 100644 --- a/lib/libesp32/HttpClientLight/src/HttpClientLight.cpp +++ b/lib/libesp32/HttpClientLight/src/HttpClientLight.cpp @@ -500,7 +500,7 @@ void HTTPClientLight::setTimeout(uint16_t timeout) { _tcpTimeout = timeout; if(connected()) { - _client->setTimeout((timeout + 500) / 1000); + _client->setTimeout(timeout); } } @@ -1176,7 +1176,7 @@ bool HTTPClientLight::connect(void) } // set Timeout for WiFiClient and for Stream::readBytesUntil() and Stream::readStringUntil() - _client->setTimeout((_tcpTimeout + 500) / 1000); + _client->setTimeout(_tcpTimeout); log_d(" connected to %s:%u", _host.c_str(), _port); From 62af6f3a7c340114157d86e3d60f3d83be1febdc Mon Sep 17 00:00:00 2001 From: bovirus <1262554+bovirus@users.noreply.github.com> Date: Mon, 20 May 2024 09:11:48 +0200 Subject: [PATCH 27/88] Update Italian language (#21437) * Update Italian language * Update Italian language (2) --------- Co-authored-by: Theo Arends <11044339+arendst@users.noreply.github.com> --- tasmota/language/it_IT.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 699ce126c..080799eda 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -28,7 +28,7 @@ * Use online command StateText to translate ON, OFF, HOLD and TOGGLE. * Use online command Prefix to translate cmnd, stat and tele. * - * Updated until v9.4.0.1 - Last update 26.04.2024 + * Updated until v9.4.0.1 - Last update 19.05.2024 \*********************************************************************/ #define LANGUAGE_MODULE_NAME // Enable to display "Module Generic" (ie Spanish), Disable to display "Generic Module" (ie English) @@ -76,7 +76,8 @@ #define D_COMMAND "Comando" #define D_CONNECTED "Connesso" #define D_CORS_DOMAIN "Dominio CORS" -#define D_COLOR "Color" + +#define D_COLOR "Colore" #define D_COUNT "Conteggio" #define D_COUNTER "Contatore" #define D_CT_POWER "Alimentazione CT" @@ -793,6 +794,8 @@ #define D_GPIO_ASR650X_TX "ASR650X - Tx" #define D_GPIO_ASR650X_RX "ASR650X - Rx" #define D_GPIO_LORA_CS "LoRa - CS" +#define D_GPIO_ASR650X_TX "ASR650x - TX" +#define D_GPIO_ASR650X_RX "ASR650x - RX" #define D_GPIO_LORA_RST "LoRa - Rst" #define D_GPIO_LORA_BUSY "LoRa - Busy" #define D_GPIO_LORA_DI "LoRa - DIO" // Suffix "0","1","2" From e7f69ebc5f1c46c788ecb425639b38669dc96100 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Mon, 20 May 2024 09:12:14 +0200 Subject: [PATCH 28/88] bugfix: webradio crash with invalid url (#21446) --- .../src/AudioFileSourceICYStream.cpp | 10 +++----- .../xdrv_42_0_i2s_audio_idf51.ino | 1 - .../xdrv_42_7_i2s_webradio_idf51.ino | 25 ++++++++++--------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/lib/lib_audio/ESP8266Audio/src/AudioFileSourceICYStream.cpp b/lib/lib_audio/ESP8266Audio/src/AudioFileSourceICYStream.cpp index 25e641705..b05a051cc 100644 --- a/lib/lib_audio/ESP8266Audio/src/AudioFileSourceICYStream.cpp +++ b/lib/lib_audio/ESP8266Audio/src/AudioFileSourceICYStream.cpp @@ -45,17 +45,15 @@ bool AudioFileSourceICYStream::open(const char *url) { static const char *hdr[] = { "icy-metaint", "icy-name", "icy-genre", "icy-br" }; pos = 0; - http.begin(client, url); + if (!http.begin(client, url)) { + cb.st(STATUS_HTTPFAIL, PSTR("Can't connect to url")); + return false; + } http.addHeader("Icy-MetaData", "1"); http.collectHeaders( hdr, 4 ); http.setReuse(true); http.setFollowRedirects(HTTPC_FORCE_FOLLOW_REDIRECTS); int code = http.GET(); - if (code != HTTP_CODE_OK) { - http.end(); - cb.st(STATUS_HTTPFAIL, PSTR("Can't open HTTP request")); - return false; - } if (http.hasHeader(hdr[0])) { String ret = http.header(hdr[0]); icyMetaInt = ret.toInt(); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino index 5104e2ab9..f4a840044 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino @@ -847,7 +847,6 @@ void I2sMp3WrTask(void *arg){ if (audio_i2s_mp3.decoder && audio_i2s_mp3.decoder->isRunning()) { if (!audio_i2s_mp3.decoder->loop()) { audio_i2s_mp3.task_running = false; - //retryms = millis() + 2000; } vTaskDelay(pdMS_TO_TICKS(1)); } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino index 370bebb9d..c023fb197 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino @@ -27,7 +27,6 @@ struct AUDIO_I2S_WEBRADIO_t { char wr_title[64]; void *preallocateBuffer = NULL; void *preallocateCodec = NULL; - uint32_t retryms = 0; } Audio_webradio; void I2sMDCallback(void *cbData, const char *type, bool isUnicode, const char *str) { @@ -43,6 +42,10 @@ void I2sMDCallback(void *cbData, const char *type, bool isUnicode, const char *s } } +void I2SWrStatusCB(void *cbData, int code, const char *str){ + AddLog(LOG_LEVEL_INFO, "I2S: status: %s",str); +} + void Webradio(const char *url) { // allocate buffers if not already done if (Audio_webradio.preallocateBuffer == NULL) { @@ -65,21 +68,22 @@ void Webradio(const char *url) { return; } - // if (audio_i2s_mp3.decoder || audio_i2s_mp3.mp3) return; - if (!audio_i2s.out) return; - I2SAudioPower(true); - Audio_webradio.ifile = new AudioFileSourceICYStream(url); + Audio_webradio.ifile = new AudioFileSourceICYStream(); Audio_webradio.ifile->RegisterMetadataCB(I2sMDCallback, NULL); + Audio_webradio.ifile->RegisterStatusCB(I2SWrStatusCB, NULL); + if(!Audio_webradio.ifile->open(url)){ + I2sWebRadioStopPlaying(); + return; + } + + I2SAudioPower(true); Audio_webradio.buff = new AudioFileSourceBuffer(Audio_webradio.ifile, Audio_webradio.preallocateBuffer, preallocateBufferSize); Audio_webradio.buff->RegisterStatusCB(I2sStatusCallback, NULL); audio_i2s_mp3.decoder = new AudioGeneratorMP3(Audio_webradio.preallocateCodec, preallocateCodecSize); audio_i2s_mp3.decoder->RegisterStatusCB(I2sStatusCallback, NULL); audio_i2s_mp3.decoder->begin(Audio_webradio.buff, audio_i2s.out); if (!audio_i2s_mp3.decoder->isRunning()) { - // Serial.printf_P(PSTR("Can't connect to URL")); I2sStopPlaying(); - // strcpy_P(status, PSTR("Unable to connect to URL")); - Audio_webradio.retryms = millis() + 2000; } AddLog(LOG_LEVEL_DEBUG,PSTR("I2S: will launch webradio task")); @@ -102,11 +106,8 @@ void I2sWrShow(bool json) { #endif // USE_WEBSERVER void CmndI2SWebRadio(void) { - if (!audio_i2s.out) return; + if (I2SPrepareTx() != I2S_OK) return; - if (audio_i2s_mp3.decoder) { - I2sStopPlaying(); - } if (XdrvMailbox.data_len > 0) { Webradio(XdrvMailbox.data); ResponseCmndChar(XdrvMailbox.data); From 7253e83a041acfdb4431789a173e137a8bfcb01e Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Mon, 20 May 2024 16:51:35 +0200 Subject: [PATCH 29/88] Fixed Zigbee crash when removing `ZbName` (#21449) --- CHANGELOG.md | 1 + tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_2a_devices_impl.ino | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 542c6cf7b..c213829c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file. - Avoid connection errors when switching to safeboot to upload OTA firmware (#21428) - Berry Leds matrix alternate more and error about 'bri' attribute (#21431) - Wrong timeout in `WebQuery` and `webclient` since Core3 +- Zigbee crash when removing `ZbName` ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_2a_devices_impl.ino b/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_2a_devices_impl.ino index 549af03fc..bb8d2e8ac 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_2a_devices_impl.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_2a_devices_impl.ino @@ -323,7 +323,7 @@ bool Z_Device::setEPName(uint8_t ep, const char * name) { } void Z_Device::setStringAttribute(char*& attr, const char * str) { - if (nullptr == str) { str = PSTR(""); } // nullptr is considered empty string + if (nullptr == str) { str = ""; } // nullptr is considered empty string, don't use PROGMEM to avoid crash size_t str_len = strlen(str); if ((nullptr == attr) && (0 == str_len)) { return; } // if both empty, don't do anything From 2eccc96c62e1d169130266e726a506961c4b1d67 Mon Sep 17 00:00:00 2001 From: btsimonh Date: Mon, 20 May 2024 19:56:55 +0100 Subject: [PATCH 30/88] Ble 32 fixscanning (#21451) * restore scanend callback * fix ble scanning time from 20ms to 20s * fix connection timeout. Use ->getLastError() to find out why we did not connect. * add #define to remove hack if not required in the future. --- .../tasmota_xdrv_driver/xdrv_79_esp32_ble.ino | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino b/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino index d267749aa..7c10f2967 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino @@ -151,8 +151,12 @@ i.e. the Bluetooth of the ESP can be shared without conflict. #include "NimBLEEddystoneTLM.h" #include "NimBLEBeacon.h" +// assume this hack is still valid. +#define DEPENDSONNIMBLEARDUINO 1 +#ifdef DEPENDSONNIMBLEARDUINO // from ble_gap.c extern "C" void ble_gap_conn_broken(uint16_t conn_handle, int reason); +#endif #ifdef BLE_ESP32_EXAMPLES void installExamples(); @@ -1329,6 +1333,10 @@ static BLESensorCallback clientCB; class BLEAdvCallbacks: public NimBLEScanCallbacks { + void onScanEnd(NimBLEScanResults results) { + BLEscanEndedCB(results); + } + void onResult(NimBLEAdvertisedDevice* advertisedDevice) { TasAutoMutex localmutex(&BLEOperationsRecursiveMutex, "BLEAddCB"); uint64_t now = esp_timer_get_time(); @@ -1684,7 +1692,9 @@ static void BLETaskStopStartNimBLE(NimBLEClient **ppClient, bool start = true){ */ (*ppClient)->setConnectionParams(12,12,0,51); /** Set how long we are willing to wait for the connection to complete (seconds), default is 30. */ - (*ppClient)->setConnectTimeout(15); + // this is now in ms!!!! despite docs. + // let's just leave it at the default 30s? + //(*ppClient)->setConnectTimeout(15 * 1000); } uint64_t now = esp_timer_get_time(); @@ -1719,7 +1729,8 @@ int BLETaskStartScan(int time){ #endif //vTaskDelay(500/ portTICK_PERIOD_MS); ble32Scan->setActiveScan(BLEScanActiveMode ? 1: 0); - + // we read the results dynamically as they come in. + ble32Scan->setMaxResults(0); // seems we could get the callback within the start call.... // so set these before starting @@ -1729,7 +1740,11 @@ int BLETaskStartScan(int time){ time = BLETriggerScan; BLETriggerScan = 0; } - ble32Scan->start(time, true); // 20s scans, restarted when then finish + + // note: this is documented as being seconds. However, experience and Apache docs tells us ms. + time = time * 1000; + ble32Scan->start(time, false); // 20s scans, restarted when then finish + //vTaskDelay(500/ portTICK_PERIOD_MS); return 0; } @@ -2037,9 +2052,7 @@ static void BLETaskRunCurrentOperation(BLE_ESP32::generic_sensor_t** pCurrentOpe } else { // connect itself failed newstate = GEN_STATE_FAILED_CONNECT; -//#define NIMBLE_CLIENT_HAS_RESULT 1 -#ifdef NIMBLE_CLIENT_HAS_RESULT - int rc = pClient->m_result; + int rc = pClient->getLastError(); switch (rc){ case (0x0200+BLE_ERR_CONN_LIMIT ): @@ -2056,10 +2069,8 @@ static void BLETaskRunCurrentOperation(BLE_ESP32::generic_sensor_t** pCurrentOpe if (rc){ AddLog(LOG_LEVEL_ERROR,PSTR("BLE: failed to connect to device low level rc 0x%x"), rc); } -#else // failed to connect AddLog(LOG_LEVEL_ERROR,PSTR("BLE: failed to connect to device")); -#endif } op->state = newstate; } @@ -2091,7 +2102,9 @@ static void BLETaskRunTaskDoneOperation(BLE_ESP32::generic_sensor_t** op, NimBLE waits++; if (waits == 5){ int conn_id = (*ppClient)->getConnId(); +#ifdef DEPENDSONNIMBLEARDUINO ble_gap_conn_broken(conn_id, -1); +#endif #ifdef BLE_ESP32_DEBUG AddLog(LOG_LEVEL_ERROR,PSTR("BLE: wait discon%d - kill connection"), waits); #endif From dc107a1a6ebd95b2b5111d7949ea79c8807c0cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 21 May 2024 09:40:05 +0200 Subject: [PATCH 31/88] Support for Matter 1.3 Water leak detectors (#21456) * Create Matter_Plugin_2_Sensor_Waterleak.be * Update Matter_Plugin_2_Sensor_Waterleak.be * Create Matter_Plugin_3_Bridge_Sensor_Waterleak.be * Create Matter_Plugin_9_Virt_Sensor_Waterleak.be * Update Matter_UI.be * Update be_matter_module.c * Update Matter_UI.be * Solidify Matter * Solidified new Matter files * Solidified new Matter files --- .../berry_matter/src/be_matter_module.c | 3 + .../Matter_Plugin_2_Sensor_Waterleak.be | 119 +++++ ...Matter_Plugin_3_Bridge_Sensor_Waterleak.be | 110 +++++ .../Matter_Plugin_9_Virt_Sensor_Waterleak.be | 35 ++ .../berry_matter/src/embedded/Matter_UI.be | 6 +- ...idified_Matter_Plugin_2_Sensor_Waterleak.h | 444 ++++++++++++++++++ ..._Matter_Plugin_3_Bridge_Sensor_Waterleak.h | 433 +++++++++++++++++ ...ed_Matter_Plugin_9_Virt_Sensor_Waterleak.h | 34 ++ .../src/solidify/solidified_Matter_UI.h | 4 +- .../solidify/solidified_Matter_zz_Device.h | 79 ++-- 10 files changed, 1224 insertions(+), 43 deletions(-) create mode 100644 lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Waterleak.be create mode 100644 lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Waterleak.be create mode 100644 lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Waterleak.be create mode 100644 lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h create mode 100644 lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h create mode 100644 lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index ed3feb2c6..6636af2ac 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -253,8 +253,10 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because #include "solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h" #include "solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h" #include "solidify/solidified_Matter_Plugin_2_Sensor_Contact.h" +#include "solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h" #include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h" #include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h" +#include "solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h" #include "solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h" #include "solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h" #include "solidify/solidified_Matter_Plugin_3_Bridge_Light0.h" @@ -269,6 +271,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because #include "solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h" #include "solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h" #include "solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h" +#include "solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h" #include "solidify/solidified_Matter_Plugin_z_All.h" #include "solidify/solidified_Matter_zz_Device.h" diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Waterleak.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Waterleak.be new file mode 100644 index 000000000..04e8a4644 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Waterleak.be @@ -0,0 +1,119 @@ +# +# Matter_Plugin_2_Sensor_Waterleak.be - implements the behavior for a Water leak Sensor +# +# Copyright (C) 2024 Stephan Hadinger & Theo Arends +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import matter + +# Matter plug-in for core behavior + +#@ solidify:Matter_Plugin_Sensor_Waterleak,weak + +class Matter_Plugin_Sensor_Waterleak : Matter_Plugin_Device + static var TYPE = "waterleak" # name of the plug-in in json + static var DISPLAY_NAME = "Waterleak" # display name of the plug-in + static var ARG = "switch" # additional argument name (or empty if none) + static var ARG_HINT = "Switch number" + static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type + static var UPDATE_TIME = 750 # update every 750ms + static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Waterleak") + static var CLUSTERS = matter.consolidate_clusters(_class, { + 0x0045: [0], # Boolean State p.70 - no writable + }) + # MATTER_WATER_LEAK_DETECTOR_DEVICE_TYPE_ID 0x0043 + static var TYPES = { 0x0043: 1 } # Waterleak Sensor, rev 1 + + var tasmota_switch_index # Switch number in Tasmota (one based) + var shadow_leak + + ############################################################# + # Constructor + def init(device, endpoint, config) + super(self).init(device, endpoint, config) + self.shadow_leak = false + end + + ############################################################# + # parse_configuration + # + # Parse configuration map + def parse_configuration(config) + self.tasmota_switch_index = int(config.find(self.ARG #-'switch'-#, 1)) + if self.tasmota_switch_index <= 0 self.tasmota_switch_index = 1 end + end + + ############################################################# + # Update shadow + # + def update_shadow() + super(self).update_shadow() + if !self.VIRTUAL + var switch_str = "Switch" + str(self.tasmota_switch_index) + + var j = tasmota.cmd("Status 8", true) + if j != nil j = j.find("StatusSNS") end + if j != nil && j.contains(switch_str) + var state = (j.find(switch_str) == "ON") + + if (self.shadow_leak != state) + self.attribute_updated(0x0045, 0x0000) + end + self.shadow_leak = state + end + end + end + + ############################################################# + # read an attribute + # + def read_attribute(session, ctx, tlv_solo) + var TLV = matter.TLV + var cluster = ctx.cluster + var attribute = ctx.attribute + + # ==================================================================================================== + if cluster == 0x0045 # ========== Boolean State ========== + if attribute == 0x0000 # ---------- StateValue / bool ---------- + if self.shadow_leak != nil + return tlv_solo.set(TLV.BOOL, self.shadow_leak) + else + return tlv_solo.set(TLV.NULL, nil) + end + end + + end + return super(self).read_attribute(session, ctx, tlv_solo) + end + + ############################################################# + # update_virtual + # + # Update internal state for virtual devices + def update_virtual(payload_json) + var val_onoff = payload_json.find("Waterleak") + if val_onoff != nil + val_onoff = bool(val_onoff) + if self.shadow_leak != val_onoff + self.attribute_updated(0x0045, 0x0000) + self.shadow_leak = val_onoff + end + end + super(self).update_virtual(payload_json) + end + +end +matter.Plugin_Sensor_Waterleak = Matter_Plugin_Sensor_Waterleak diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Waterleak.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Waterleak.be new file mode 100644 index 000000000..aa7c7c7d1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Waterleak.be @@ -0,0 +1,110 @@ +# +# Matter_Plugin_Bridge_Sensor_Waterleak.be - implements Waterleak Sensor via HTTP to Tasmota +# +# Copyright (C) 2024 Stephan Hadinger & Theo Arends +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import matter + +# Matter plug-in for core behavior + +#@ solidify:Matter_Plugin_Bridge_Sensor_Waterleak,weak + +class Matter_Plugin_Bridge_Sensor_Waterleak : Matter_Plugin_Bridge_HTTP + static var TYPE = "http_waterleak" # name of the plug-in in json + static var DISPLAY_NAME = "Waterleak" # display name of the plug-in + static var ARG = "switch" # additional argument name (or empty if none) + static var ARG_HINT = "Switch number" + static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type + static var UPDATE_TIME = 5000 # update every 5s + static var UPDATE_CMD = "Status 8" # command to send for updates + + static var CLUSTERS = matter.consolidate_clusters(_class, { + 0x0045: [0], # Boolean State p.70 - no writable + }) + static var TYPES = { 0x0043: 1 } # Waterleak Sensor, rev 1 + + var tasmota_switch_index # Switch number in Tasmota (one based) + var shadow_Waterleak + + ############################################################# + # Constructor + def init(device, endpoint, arguments) + super(self).init(device, endpoint, arguments) + self.tasmota_switch_index = int(arguments.find(self.ARG #-'switch'-#, 1)) + if self.tasmota_switch_index <= 0 self.tasmota_switch_index = 1 end + end + + ############################################################# + # Stub for updating shadow values (local copies of what we published to the Matter gateway) + # + # This call is synnchronous and blocking. + def parse_update(data, index) + if index == 8 # Status 8 + var state = false + + state = (data.find("Switch" + str(self.tasmota_switch_index)) == "ON") + + if self.shadow_Waterleak != nil && self.shadow_Waterleak != bool(state) + self.attribute_updated(0x0045, 0x0000) + end + self.shadow_Waterleak = state + end + end + + ############################################################# + # read an attribute + # + def read_attribute(session, ctx, tlv_solo) + var TLV = matter.TLV + var cluster = ctx.cluster + var attribute = ctx.attribute + + # ==================================================================================================== + if cluster == 0x0045 # ========== Boolean State ========== + if attribute == 0x0000 # ---------- StateValue / bool ---------- + if self.shadow_Waterleak != nil + return tlv_solo.set(TLV.BOOL, self.shadow_Waterleak) + else + return tlv_solo.set(TLV.NULL, nil) + end + end + + end + return super(self).read_attribute(session, ctx, tlv_solo) + end + + ############################################################# + # web_values + # + # Show values of the remote device as HTML + def web_values() + import webserver + self.web_values_prefix() # display '| ' and name if present + webserver.content_send(format("Waterleak%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_Waterleak))) + end + + # Show prefix before web value + def web_values_prefix() + import webserver + var name = self.get_name() + if !name + name = "Switch" + str(self.tasmota_switch_index) + end + webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : "")) + end +end +matter.Plugin_Bridge_Sensor_Waterleak = Matter_Plugin_Bridge_Sensor_Waterleak diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Waterleak.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Waterleak.be new file mode 100644 index 000000000..a2bde6498 --- /dev/null +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_9_Virt_Sensor_Waterleak.be @@ -0,0 +1,35 @@ + +# +# Matter_Plugin_9_Virt_Sensor_Waterleak.be - implements the behavior for a Virtual Waterleak Sensor +# +# Copyright (C) 2024 Stephan Hadinger & Theo Arends +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import matter + +# Matter plug-in for core behavior + +#@ solidify:Matter_Plugin_Virt_Sensor_Waterleak ,weak + +class Matter_Plugin_Virt_Sensor_Waterleak : Matter_Plugin_Virt_Sensor_Waterleak + static var TYPE = "v_waterleak" # name of the plug-in in json + static var DISPLAY_NAME = "v.Waterleak" # display name of the plug-in + static var ARG = "" # no arg for virtual device + static var ARG_HINT = "_Not used_" # Hint for entering the Argument (inside 'placeholder') + static var VIRTUAL = true # virtual device + +end +matter.Plugin_Virt_Sensor_Waterleak = Matter_Plugin_Virt_Sensor_Waterleak diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be index 9c1e082de..d5f6d6e1b 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_UI.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_UI.be @@ -33,12 +33,12 @@ import matter ################################################################################# class Matter_UI static var _CLASSES_TYPES = "|relay|light0|light1|light2|light3|shutter|shutter+tilt" - "|temperature|pressure|illuminance|humidity|occupancy|onoff|contact|flow" + "|temperature|pressure|illuminance|humidity|occupancy|onoff|contact|flow|waterleak" "|-virtual|v_relay|v_light0|v_light1|v_light2|v_light3" - "|v_temp|v_pressure|v_illuminance|v_humidity|v_occupancy|v_contact|v_flow" + "|v_temp|v_pressure|v_illuminance|v_humidity|v_occupancy|v_contact|v_flow|v_waterleak" static var _CLASSES_TYPES2= "|http_relay|http_light0|http_light1|http_light2|http_light3" "|http_temperature|http_pressure|http_illuminance|http_humidity" - "|http_occupancy|http_contact|http_flow" + "|http_occupancy|http_contact|http_flow|http_waterleak" var device # #################################################################################################### diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h new file mode 100644 index 000000000..dbc7bbdd8 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h @@ -0,0 +1,444 @@ +/* Solidification of Matter_Plugin_2_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(shadow_leak), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[11]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100900, // 0003 GETMET R4 R4 K0 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x50100000, // 0008 LDBOOL R4 0 0 + 0x90020204, // 0009 SETMBR R0 K1 R4 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak_update_shadow, /* name */ + be_nested_proto( + 8, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[14]) { /* constants */ + /* K0 */ be_nested_str_weak(update_shadow), + /* K1 */ be_nested_str_weak(VIRTUAL), + /* K2 */ be_nested_str_weak(Switch), + /* K3 */ be_nested_str_weak(tasmota_switch_index), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(cmd), + /* K6 */ be_nested_str_weak(Status_X208), + /* K7 */ be_nested_str_weak(find), + /* K8 */ be_nested_str_weak(StatusSNS), + /* K9 */ be_nested_str_weak(contains), + /* K10 */ be_nested_str_weak(ON), + /* K11 */ be_nested_str_weak(shadow_leak), + /* K12 */ be_nested_str_weak(attribute_updated), + /* K13 */ be_const_int(0), + }), + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[43]) { /* code */ + 0x60040003, // 0000 GETGBL R1 G3 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x8C040300, // 0003 GETMET R1 R1 K0 + 0x7C040200, // 0004 CALL R1 1 + 0x88040101, // 0005 GETMBR R1 R0 K1 + 0x74060022, // 0006 JMPT R1 #002A + 0x60040008, // 0007 GETGBL R1 G8 + 0x88080103, // 0008 GETMBR R2 R0 K3 + 0x7C040200, // 0009 CALL R1 1 + 0x00060401, // 000A ADD R1 K2 R1 + 0xB80A0800, // 000B GETNGBL R2 K4 + 0x8C080505, // 000C GETMET R2 R2 K5 + 0x58100006, // 000D LDCONST R4 K6 + 0x50140200, // 000E LDBOOL R5 1 0 + 0x7C080600, // 000F CALL R2 3 + 0x4C0C0000, // 0010 LDNIL R3 + 0x200C0403, // 0011 NE R3 R2 R3 + 0x780E0003, // 0012 JMPF R3 #0017 + 0x8C0C0507, // 0013 GETMET R3 R2 K7 + 0x58140008, // 0014 LDCONST R5 K8 + 0x7C0C0400, // 0015 CALL R3 2 + 0x5C080600, // 0016 MOVE R2 R3 + 0x4C0C0000, // 0017 LDNIL R3 + 0x200C0403, // 0018 NE R3 R2 R3 + 0x780E000F, // 0019 JMPF R3 #002A + 0x8C0C0509, // 001A GETMET R3 R2 K9 + 0x5C140200, // 001B MOVE R5 R1 + 0x7C0C0400, // 001C CALL R3 2 + 0x780E000B, // 001D JMPF R3 #002A + 0x8C0C0507, // 001E GETMET R3 R2 K7 + 0x5C140200, // 001F MOVE R5 R1 + 0x7C0C0400, // 0020 CALL R3 2 + 0x1C0C070A, // 0021 EQ R3 R3 K10 + 0x8810010B, // 0022 GETMBR R4 R0 K11 + 0x20100803, // 0023 NE R4 R4 R3 + 0x78120003, // 0024 JMPF R4 #0029 + 0x8C10010C, // 0025 GETMET R4 R0 K12 + 0x541A0044, // 0026 LDINT R6 69 + 0x581C000D, // 0027 LDCONST R7 K13 + 0x7C100600, // 0028 CALL R4 3 + 0x90021603, // 0029 SETMBR R0 K11 R3 + 0x80000000, // 002A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_configuration +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(tasmota_switch_index), + /* K1 */ be_nested_str_weak(find), + /* K2 */ be_nested_str_weak(ARG), + /* K3 */ be_const_int(1), + /* K4 */ be_const_int(0), + }), + be_str_weak(parse_configuration), + &be_const_str_solidified, + ( &(const binstruction[12]) { /* code */ + 0x60080009, // 0000 GETGBL R2 G9 + 0x8C0C0301, // 0001 GETMET R3 R1 K1 + 0x88140102, // 0002 GETMBR R5 R0 K2 + 0x58180003, // 0003 LDCONST R6 K3 + 0x7C0C0600, // 0004 CALL R3 3 + 0x7C080200, // 0005 CALL R2 1 + 0x90020002, // 0006 SETMBR R0 K0 R2 + 0x88080100, // 0007 GETMBR R2 R0 K0 + 0x18080504, // 0008 LE R2 R2 K4 + 0x780A0000, // 0009 JMPF R2 #000B + 0x90020103, // 000A SETMBR R0 K0 K3 + 0x80000000, // 000B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(shadow_leak), + /* K6 */ be_nested_str_weak(set), + /* K7 */ be_nested_str_weak(BOOL), + /* K8 */ be_nested_str_weak(NULL), + /* K9 */ be_nested_str_weak(read_attribute), + }), + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0044, // 0004 LDINT R7 69 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0010, // 0006 JMPF R7 #0018 + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E000E, // 0008 JMPF R7 #0018 + 0x881C0105, // 0009 GETMBR R7 R0 K5 + 0x4C200000, // 000A LDNIL R8 + 0x201C0E08, // 000B NE R7 R7 R8 + 0x781E0005, // 000C JMPF R7 #0013 + 0x8C1C0706, // 000D GETMET R7 R3 K6 + 0x88240907, // 000E GETMBR R9 R4 K7 + 0x88280105, // 000F GETMBR R10 R0 K5 + 0x7C1C0600, // 0010 CALL R7 3 + 0x80040E00, // 0011 RET 1 R7 + 0x70020004, // 0012 JMP #0018 + 0x8C1C0706, // 0013 GETMET R7 R3 K6 + 0x88240908, // 0014 GETMBR R9 R4 K8 + 0x4C280000, // 0015 LDNIL R10 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x601C0003, // 0018 GETGBL R7 G3 + 0x5C200000, // 0019 MOVE R8 R0 + 0x7C1C0200, // 001A CALL R7 1 + 0x8C1C0F09, // 001B GETMET R7 R7 K9 + 0x5C240200, // 001C MOVE R9 R1 + 0x5C280400, // 001D MOVE R10 R2 + 0x5C2C0600, // 001E MOVE R11 R3 + 0x7C1C0800, // 001F CALL R7 4 + 0x80040E00, // 0020 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(Matter_Plugin_Sensor_Waterleak_update_virtual, /* name */ + be_nested_proto( + 7, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(find), + /* K1 */ be_nested_str_weak(Waterleak), + /* K2 */ be_nested_str_weak(shadow_leak), + /* K3 */ be_nested_str_weak(attribute_updated), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(update_virtual), + }), + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[25]) { /* code */ + 0x8C080300, // 0000 GETMET R2 R1 K0 + 0x58100001, // 0001 LDCONST R4 K1 + 0x7C080400, // 0002 CALL R2 2 + 0x4C0C0000, // 0003 LDNIL R3 + 0x200C0403, // 0004 NE R3 R2 R3 + 0x780E000B, // 0005 JMPF R3 #0012 + 0x600C0017, // 0006 GETGBL R3 G23 + 0x5C100400, // 0007 MOVE R4 R2 + 0x7C0C0200, // 0008 CALL R3 1 + 0x5C080600, // 0009 MOVE R2 R3 + 0x880C0102, // 000A GETMBR R3 R0 K2 + 0x200C0602, // 000B NE R3 R3 R2 + 0x780E0004, // 000C JMPF R3 #0012 + 0x8C0C0103, // 000D GETMET R3 R0 K3 + 0x54160044, // 000E LDINT R5 69 + 0x58180004, // 000F LDCONST R6 K4 + 0x7C0C0600, // 0010 CALL R3 3 + 0x90020402, // 0011 SETMBR R0 K2 R2 + 0x600C0003, // 0012 GETGBL R3 G3 + 0x5C100000, // 0013 MOVE R4 R0 + 0x7C0C0200, // 0014 CALL R3 1 + 0x8C0C0705, // 0015 GETMET R3 R3 K5 + 0x5C140200, // 0016 MOVE R5 R1 + 0x7C0C0400, // 0017 CALL R3 2 + 0x80000000, // 0018 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Device; +be_local_class(Matter_Plugin_Sensor_Waterleak, + 2, + &be_class_Matter_Plugin_Device, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_TYPE, 2), be_const_static_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_update_virtual_closure) }, + { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_init_closure) }, + { be_const_key_weak(shadow_leak, 15), be_const_var(1) }, + { be_const_key_weak(update_shadow, 4), be_const_closure(Matter_Plugin_Sensor_Waterleak_update_shadow_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) }, + { be_const_key_weak(ARG, 11), be_nested_str_weak(switch) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) }, + { be_const_key_weak(CLUSTERS, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(12, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(2), + be_const_int(3), + be_const_int(4), + be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(8, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(12, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(3), + be_const_int(5), + be_const_int(10), + be_const_int(15), + be_const_int(17), + be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(69, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(7, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(7, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(10, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(2), + be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + })) ) } )) }, + { be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(1, + ( (struct bvalue*) &(const bvalue[]) { + be_nested_str_weak(Waterleak), + })) ) } )) }, + { be_const_key_weak(read_attribute, 14), be_const_closure(Matter_Plugin_Sensor_Waterleak_read_attribute_closure) }, + { be_const_key_weak(TYPE, 6), be_nested_str_weak(waterleak) }, + { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(67, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration_closure) }, + })), + be_str_weak(Matter_Plugin_Sensor_Waterleak) +); +/*******************************************************************/ + +void be_load_Matter_Plugin_Sensor_Waterleak_class(bvm *vm) { + be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Waterleak); + be_setglobal(vm, "Matter_Plugin_Sensor_Waterleak"); + be_pop(vm, 1); +} +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h new file mode 100644 index 000000000..8b7dd80e1 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h @@ -0,0 +1,433 @@ +/* Solidification of Matter_Plugin_3_Bridge_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; + +/******************************************************************** +** Solidified function: +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E, /* name */ + be_nested_proto( + 3, /* nstack */ + 1, /* argc */ + 0, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(_X3Clambda_X3E), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x60040009, // 0000 GETGBL R1 G9 + 0x5C080000, // 0001 MOVE R2 R0 + 0x7C040200, // 0002 CALL R1 1 + 0x80040200, // 0003 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values_prefix +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 8]) { /* constants */ + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(get_name), + /* K2 */ be_nested_str_weak(Switch), + /* K3 */ be_nested_str_weak(tasmota_switch_index), + /* K4 */ be_nested_str_weak(content_send), + /* K5 */ be_nested_str_weak(PREFIX), + /* K6 */ be_nested_str_weak(html_escape), + /* K7 */ be_nested_str_weak(), + }), + be_str_weak(web_values_prefix), + &be_const_str_solidified, + ( &(const binstruction[22]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080101, // 0001 GETMET R2 R0 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x5C0C0400, // 0003 MOVE R3 R2 + 0x740E0004, // 0004 JMPT R3 #000A + 0x600C0008, // 0005 GETGBL R3 G8 + 0x88100103, // 0006 GETMBR R4 R0 K3 + 0x7C0C0200, // 0007 CALL R3 1 + 0x000E0403, // 0008 ADD R3 K2 R3 + 0x5C080600, // 0009 MOVE R2 R3 + 0x8C0C0304, // 000A GETMET R3 R1 K4 + 0x60140018, // 000B GETGBL R5 G24 + 0x88180105, // 000C GETMBR R6 R0 K5 + 0x780A0003, // 000D JMPF R2 #0012 + 0x8C1C0306, // 000E GETMET R7 R1 K6 + 0x5C240400, // 000F MOVE R9 R2 + 0x7C1C0400, // 0010 CALL R7 2 + 0x70020000, // 0011 JMP #0013 + 0x581C0007, // 0012 LDCONST R7 K7 + 0x7C140400, // 0013 CALL R5 2 + 0x7C0C0400, // 0014 CALL R3 2 + 0x80000000, // 0015 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: init +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init, /* name */ + be_nested_proto( + 9, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 6]) { /* constants */ + /* K0 */ be_nested_str_weak(init), + /* K1 */ be_nested_str_weak(tasmota_switch_index), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(ARG), + /* K4 */ be_const_int(1), + /* K5 */ be_const_int(0), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[20]) { /* code */ + 0x60100003, // 0000 GETGBL R4 G3 + 0x5C140000, // 0001 MOVE R5 R0 + 0x7C100200, // 0002 CALL R4 1 + 0x8C100900, // 0003 GETMET R4 R4 K0 + 0x5C180200, // 0004 MOVE R6 R1 + 0x5C1C0400, // 0005 MOVE R7 R2 + 0x5C200600, // 0006 MOVE R8 R3 + 0x7C100800, // 0007 CALL R4 4 + 0x60100009, // 0008 GETGBL R4 G9 + 0x8C140702, // 0009 GETMET R5 R3 K2 + 0x881C0103, // 000A GETMBR R7 R0 K3 + 0x58200004, // 000B LDCONST R8 K4 + 0x7C140600, // 000C CALL R5 3 + 0x7C100200, // 000D CALL R4 1 + 0x90020204, // 000E SETMBR R0 K1 R4 + 0x88100101, // 000F GETMBR R4 R0 K1 + 0x18100905, // 0010 LE R4 R4 K5 + 0x78120000, // 0011 JMPF R4 #0013 + 0x90020304, // 0012 SETMBR R0 K1 K4 + 0x80000000, // 0013 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: web_values +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values, /* name */ + be_nested_proto( + 10, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str_weak(webserver), + /* K1 */ be_nested_str_weak(web_values_prefix), + /* K2 */ be_nested_str_weak(content_send), + /* K3 */ be_nested_str_weak(Waterleak_X25i_X20_X25s), + /* K4 */ be_nested_str_weak(tasmota_switch_index), + /* K5 */ be_nested_str_weak(web_value_onoff), + /* K6 */ be_nested_str_weak(shadow_Waterleak), + }), + be_str_weak(web_values), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0xA4060000, // 0000 IMPORT R1 K0 + 0x8C080101, // 0001 GETMET R2 R0 K1 + 0x7C080200, // 0002 CALL R2 1 + 0x8C080302, // 0003 GETMET R2 R1 K2 + 0x60100018, // 0004 GETGBL R4 G24 + 0x58140003, // 0005 LDCONST R5 K3 + 0x88180104, // 0006 GETMBR R6 R0 K4 + 0x8C1C0105, // 0007 GETMET R7 R0 K5 + 0x88240106, // 0008 GETMBR R9 R0 K6 + 0x7C1C0400, // 0009 CALL R7 2 + 0x7C100600, // 000A CALL R4 3 + 0x7C080400, // 000B CALL R2 2 + 0x80000000, // 000C RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: parse_update +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update, /* name */ + be_nested_proto( + 8, /* nstack */ + 3, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 7]) { /* constants */ + /* K0 */ be_nested_str_weak(find), + /* K1 */ be_nested_str_weak(Switch), + /* K2 */ be_nested_str_weak(tasmota_switch_index), + /* K3 */ be_nested_str_weak(ON), + /* K4 */ be_nested_str_weak(shadow_Waterleak), + /* K5 */ be_nested_str_weak(attribute_updated), + /* K6 */ be_const_int(0), + }), + be_str_weak(parse_update), + &be_const_str_solidified, + ( &(const binstruction[28]) { /* code */ + 0x540E0007, // 0000 LDINT R3 8 + 0x1C0C0403, // 0001 EQ R3 R2 R3 + 0x780E0017, // 0002 JMPF R3 #001B + 0x500C0000, // 0003 LDBOOL R3 0 0 + 0x8C100300, // 0004 GETMET R4 R1 K0 + 0x60180008, // 0005 GETGBL R6 G8 + 0x881C0102, // 0006 GETMBR R7 R0 K2 + 0x7C180200, // 0007 CALL R6 1 + 0x001A0206, // 0008 ADD R6 K1 R6 + 0x7C100400, // 0009 CALL R4 2 + 0x1C100903, // 000A EQ R4 R4 K3 + 0x5C0C0800, // 000B MOVE R3 R4 + 0x88100104, // 000C GETMBR R4 R0 K4 + 0x4C140000, // 000D LDNIL R5 + 0x20100805, // 000E NE R4 R4 R5 + 0x78120009, // 000F JMPF R4 #001A + 0x88100104, // 0010 GETMBR R4 R0 K4 + 0x60140017, // 0011 GETGBL R5 G23 + 0x5C180600, // 0012 MOVE R6 R3 + 0x7C140200, // 0013 CALL R5 1 + 0x20100805, // 0014 NE R4 R4 R5 + 0x78120003, // 0015 JMPF R4 #001A + 0x8C100105, // 0016 GETMET R4 R0 K5 + 0x541A0044, // 0017 LDINT R6 69 + 0x581C0006, // 0018 LDCONST R7 K6 + 0x7C100600, // 0019 CALL R4 3 + 0x90020803, // 001A SETMBR R0 K4 R3 + 0x80000000, // 001B RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: read_attribute +********************************************************************/ +be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute, /* name */ + be_nested_proto( + 12, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(matter), + /* K1 */ be_nested_str_weak(TLV), + /* K2 */ be_nested_str_weak(cluster), + /* K3 */ be_nested_str_weak(attribute), + /* K4 */ be_const_int(0), + /* K5 */ be_nested_str_weak(shadow_Waterleak), + /* K6 */ be_nested_str_weak(set), + /* K7 */ be_nested_str_weak(BOOL), + /* K8 */ be_nested_str_weak(NULL), + /* K9 */ be_nested_str_weak(read_attribute), + }), + be_str_weak(read_attribute), + &be_const_str_solidified, + ( &(const binstruction[33]) { /* code */ + 0xB8120000, // 0000 GETNGBL R4 K0 + 0x88100901, // 0001 GETMBR R4 R4 K1 + 0x88140502, // 0002 GETMBR R5 R2 K2 + 0x88180503, // 0003 GETMBR R6 R2 K3 + 0x541E0044, // 0004 LDINT R7 69 + 0x1C1C0A07, // 0005 EQ R7 R5 R7 + 0x781E0010, // 0006 JMPF R7 #0018 + 0x1C1C0D04, // 0007 EQ R7 R6 K4 + 0x781E000E, // 0008 JMPF R7 #0018 + 0x881C0105, // 0009 GETMBR R7 R0 K5 + 0x4C200000, // 000A LDNIL R8 + 0x201C0E08, // 000B NE R7 R7 R8 + 0x781E0005, // 000C JMPF R7 #0013 + 0x8C1C0706, // 000D GETMET R7 R3 K6 + 0x88240907, // 000E GETMBR R9 R4 K7 + 0x88280105, // 000F GETMBR R10 R0 K5 + 0x7C1C0600, // 0010 CALL R7 3 + 0x80040E00, // 0011 RET 1 R7 + 0x70020004, // 0012 JMP #0018 + 0x8C1C0706, // 0013 GETMET R7 R3 K6 + 0x88240908, // 0014 GETMBR R9 R4 K8 + 0x4C280000, // 0015 LDNIL R10 + 0x7C1C0600, // 0016 CALL R7 3 + 0x80040E00, // 0017 RET 1 R7 + 0x601C0003, // 0018 GETGBL R7 G3 + 0x5C200000, // 0019 MOVE R8 R0 + 0x7C1C0200, // 001A CALL R7 1 + 0x8C1C0F09, // 001B GETMET R7 R7 K9 + 0x5C240200, // 001C MOVE R9 R1 + 0x5C280400, // 001D MOVE R10 R2 + 0x5C2C0600, // 001E MOVE R11 R3 + 0x7C1C0800, // 001F CALL R7 4 + 0x80040E00, // 0020 RET 1 R7 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified class: Matter_Plugin_Bridge_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, + 2, + &be_class_Matter_Plugin_Bridge_HTTP, + be_nested_map(16, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix_closure) }, + { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) }, + { be_const_key_weak(TYPES, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(67, -1), be_const_int(1) }, + })) ) } )) }, + { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, + { be_const_key_weak(parse_update, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update_closure) }, + { be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(6, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(12, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(2), + be_const_int(3), + be_const_int(4), + be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(8, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(12, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(3), + be_const_int(5), + be_const_int(10), + be_const_int(15), + be_const_int(17), + be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(69, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(7, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(7, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(10, + ( (struct bvalue*) &(const bvalue[]) { + be_const_int(0), + be_const_int(1), + be_const_int(2), + be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), + })) ) } )) }, + })) ) } )) }, + { be_const_key_weak(tasmota_switch_index, 6), be_const_var(0) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute_closure) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(TYPE, 5), be_nested_str_weak(http_waterleak) }, + { be_const_key_weak(shadow_Waterleak, -1), be_const_var(1) }, + { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X208) }, + })), + be_str_weak(Matter_Plugin_Bridge_Sensor_Waterleak) +); +/*******************************************************************/ + +void be_load_Matter_Plugin_Bridge_Sensor_Waterleak_class(bvm *vm) { + be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Waterleak); + be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Waterleak"); + be_pop(vm, 1); +} +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h new file mode 100644 index 000000000..243213612 --- /dev/null +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h @@ -0,0 +1,34 @@ +/* Solidification of Matter_Plugin_9_Virt_Sensor_Waterleak.h */ +/********************************************************************\ +* Generated code, don't edit * +\********************************************************************/ +#include "be_constobj.h" + +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Waterleak; + +/******************************************************************** +** Solidified class: Matter_Plugin_Virt_Sensor_Waterleak +********************************************************************/ +extern const bclass be_class_Matter_Plugin_Virt_Sensor_Waterleak; +be_local_class(Matter_Plugin_Virt_Sensor_Waterleak, + 0, + &be_class_Matter_Plugin_Virt_Sensor_Waterleak, + be_nested_map(5, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key(VIRTUAL, 3), be_const_bool(1) }, + { be_const_key(DISPLAY_NAME, -1), be_nested_str(v_X2EWaterleak) }, + { be_const_key(TYPE, -1), be_nested_str(v_waterleak) }, + { be_const_key(ARG_HINT, -1), be_nested_str(_Not_X20used_) }, + { be_const_key(ARG, 2), be_nested_str() }, + })), + (bstring*) &be_const_str_Matter_Plugin_Virt_Sensor_Waterleak +); +/*******************************************************************/ + +void be_load_Matter_Plugin_Virt_Sensor_Waterleak_class(bvm *vm) { + be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Waterleak); + be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Waterleak"); + be_pop(vm, 1); +} +/********************************************************************/ +/* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index f5fa77ff1..2459576e2 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -3383,7 +3383,7 @@ be_local_class(Matter_UI, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(equal_map, -1), be_const_static_closure(Matter_UI_equal_map_closure) }, { be_const_key_weak(page_part_mgr_adv, -1), be_const_closure(Matter_UI_page_part_mgr_adv_closure) }, - { be_const_key_weak(_CLASSES_TYPES2, -1), be_nested_str_weak(_X7Chttp_relay_X7Chttp_light0_X7Chttp_light1_X7Chttp_light2_X7Chttp_light3_X7Chttp_temperature_X7Chttp_pressure_X7Chttp_illuminance_X7Chttp_humidity_X7Chttp_occupancy_X7Chttp_contact_X7Chttp_flow) }, + { be_const_key_weak(_CLASSES_TYPES2, -1), be_nested_str_weak(_X7Chttp_relay_X7Chttp_light0_X7Chttp_light1_X7Chttp_light2_X7Chttp_light3_X7Chttp_temperature_X7Chttp_pressure_X7Chttp_illuminance_X7Chttp_humidity_X7Chttp_occupancy_X7Chttp_contact_X7Chttp_flow_X7Chttp_waterleak) }, { be_const_key_weak(page_part_mgr, 25), be_const_closure(Matter_UI_page_part_mgr_closure) }, { be_const_key_weak(show_plugins_hints_js, -1), be_const_closure(Matter_UI_show_plugins_hints_js_closure) }, { be_const_key_weak(show_enable, -1), be_const_closure(Matter_UI_show_enable_closure) }, @@ -3395,7 +3395,7 @@ be_local_class(Matter_UI, { be_const_key_weak(show_commissioning_info, -1), be_const_closure(Matter_UI_show_commissioning_info_closure) }, { be_const_key_weak(page_part_ctl, 18), be_const_closure(Matter_UI_page_part_ctl_closure) }, { be_const_key_weak(show_fabric_info, -1), be_const_closure(Matter_UI_show_fabric_info_closure) }, - { be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_weak(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow) }, + { be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_long(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7Cwaterleak_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow_X7Cwaterleak) }, { be_const_key_weak(web_get_arg, -1), be_const_closure(Matter_UI_web_get_arg_closure) }, { be_const_key_weak(plugin_option, 5), be_const_closure(Matter_UI_plugin_option_closure) }, { be_const_key_weak(web_add_config_button, -1), be_const_closure(Matter_UI_web_add_config_button_closure) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h index b8df6edf0..affd16da3 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h @@ -6206,49 +6206,52 @@ be_local_class(Matter_Device, { be_const_key_weak(stop, 14), be_const_closure(Matter_Device_stop_closure) }, { be_const_key_weak(stop_basic_commissioning, 13), be_const_closure(Matter_Device_stop_basic_commissioning_closure) }, { be_const_key_weak(plugins_classes, 10), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { - be_const_map( * be_nested_map(41, + be_const_map( * be_nested_map(44, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(aggregator, -1), be_const_class(be_class_Matter_Plugin_Aggregator) }, - { be_const_key_weak(light2, -1), be_const_class(be_class_Matter_Plugin_Light2) }, - { be_const_key_weak(v_light1, 17), be_const_class(be_class_Matter_Plugin_Virt_Light1) }, - { be_const_key_weak(v_light3, -1), be_const_class(be_class_Matter_Plugin_Virt_Light3) }, + { be_const_key_weak(humidity, 37), be_const_class(be_class_Matter_Plugin_Sensor_Humidity) }, + { be_const_key_weak(flow, -1), be_const_class(be_class_Matter_Plugin_Sensor_Flow) }, { be_const_key_weak(v_flow, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Flow) }, - { be_const_key_weak(shutter, 14), be_const_class(be_class_Matter_Plugin_Shutter) }, + { be_const_key_weak(waterleak, -1), be_const_class(be_class_Matter_Plugin_Sensor_Waterleak) }, + { be_const_key_weak(http_flow, 25), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Flow) }, { be_const_key_weak(v_pressure, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Pressure) }, - { be_const_key_weak(v_temp, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Temp) }, - { be_const_key_weak(http_contact, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Contact) }, - { be_const_key_weak(http_humidity, 22), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Humidity) }, - { be_const_key_weak(pressure, 13), be_const_class(be_class_Matter_Plugin_Sensor_Pressure) }, - { be_const_key_weak(http_pressure, 8), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Pressure) }, - { be_const_key_weak(illuminance, -1), be_const_class(be_class_Matter_Plugin_Sensor_Illuminance) }, - { be_const_key_weak(light1, -1), be_const_class(be_class_Matter_Plugin_Light1) }, - { be_const_key_weak(http_light1, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light1) }, - { be_const_key_weak(light3, 36), be_const_class(be_class_Matter_Plugin_Light3) }, - { be_const_key_weak(http_occupancy, 31), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Occupancy) }, - { be_const_key_weak(v_relay, -1), be_const_class(be_class_Matter_Plugin_Virt_OnOff) }, - { be_const_key_weak(contact, -1), be_const_class(be_class_Matter_Plugin_Sensor_Contact) }, - { be_const_key_weak(http_temperature, 26), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Temp) }, - { be_const_key_weak(v_occupancy, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Occupancy) }, - { be_const_key_weak(occupancy, -1), be_const_class(be_class_Matter_Plugin_Sensor_Occupancy) }, - { be_const_key_weak(temperature, 32), be_const_class(be_class_Matter_Plugin_Sensor_Temp) }, - { be_const_key_weak(flow, 4), be_const_class(be_class_Matter_Plugin_Sensor_Flow) }, - { be_const_key_weak(v_contact, 6), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Contact) }, - { be_const_key_weak(http_relay, 3), be_const_class(be_class_Matter_Plugin_Bridge_OnOff) }, - { be_const_key_weak(http_light2, 29), be_const_class(be_class_Matter_Plugin_Bridge_Light2) }, - { be_const_key_weak(root, -1), be_const_class(be_class_Matter_Plugin_Root) }, - { be_const_key_weak(http_light3, 9), be_const_class(be_class_Matter_Plugin_Bridge_Light3) }, - { be_const_key_weak(light0, -1), be_const_class(be_class_Matter_Plugin_Light0) }, - { be_const_key_weak(http_illuminance, 35), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Illuminance) }, - { be_const_key_weak(v_light2, -1), be_const_class(be_class_Matter_Plugin_Virt_Light2) }, - { be_const_key_weak(v_illuminance, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Illuminance) }, - { be_const_key_weak(v_humidity, 15), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Humidity) }, - { be_const_key_weak(v_light0, -1), be_const_class(be_class_Matter_Plugin_Virt_Light0) }, + { be_const_key_weak(v_waterleak, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Waterleak) }, { be_const_key_weak(onoff, -1), be_const_class(be_class_Matter_Plugin_Sensor_OnOff) }, + { be_const_key_weak(v_occupancy, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Occupancy) }, + { be_const_key_weak(temperature, -1), be_const_class(be_class_Matter_Plugin_Sensor_Temp) }, + { be_const_key_weak(illuminance, 22), be_const_class(be_class_Matter_Plugin_Sensor_Illuminance) }, + { be_const_key_weak(v_light3, 33), be_const_class(be_class_Matter_Plugin_Virt_Light3) }, + { be_const_key_weak(contact, -1), be_const_class(be_class_Matter_Plugin_Sensor_Contact) }, + { be_const_key_weak(v_light1, 14), be_const_class(be_class_Matter_Plugin_Virt_Light1) }, + { be_const_key_weak(http_light1, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light1) }, + { be_const_key_weak(http_occupancy, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Occupancy) }, + { be_const_key_weak(http_illuminance, 12), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Illuminance) }, + { be_const_key_weak(http_pressure, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Pressure) }, + { be_const_key_weak(http_contact, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Contact) }, + { be_const_key_weak(light2, -1), be_const_class(be_class_Matter_Plugin_Light2) }, + { be_const_key_weak(aggregator, -1), be_const_class(be_class_Matter_Plugin_Aggregator) }, + { be_const_key_weak(light0, -1), be_const_class(be_class_Matter_Plugin_Light0) }, + { be_const_key_weak(occupancy, -1), be_const_class(be_class_Matter_Plugin_Sensor_Occupancy) }, + { be_const_key_weak(http_humidity, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Humidity) }, + { be_const_key_weak(shutter, 28), be_const_class(be_class_Matter_Plugin_Shutter) }, + { be_const_key_weak(http_light0, 24), be_const_class(be_class_Matter_Plugin_Bridge_Light0) }, + { be_const_key_weak(http_light2, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light2) }, + { be_const_key_weak(v_relay, -1), be_const_class(be_class_Matter_Plugin_Virt_OnOff) }, + { be_const_key_weak(v_contact, 41), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Contact) }, + { be_const_key_weak(root, 7), be_const_class(be_class_Matter_Plugin_Root) }, + { be_const_key_weak(pressure, -1), be_const_class(be_class_Matter_Plugin_Sensor_Pressure) }, + { be_const_key_weak(v_illuminance, 8), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Illuminance) }, + { be_const_key_weak(v_light2, 26), be_const_class(be_class_Matter_Plugin_Virt_Light2) }, + { be_const_key_weak(http_light3, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light3) }, + { be_const_key_weak(v_light0, 4), be_const_class(be_class_Matter_Plugin_Virt_Light0) }, + { be_const_key_weak(v_humidity, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Humidity) }, + { be_const_key_weak(v_temp, -1), be_const_class(be_class_Matter_Plugin_Virt_Sensor_Temp) }, + { be_const_key_weak(shutter_X2Btilt, 43), be_const_class(be_class_Matter_Plugin_ShutterTilt) }, + { be_const_key_weak(http_waterleak, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Waterleak) }, + { be_const_key_weak(http_relay, 16), be_const_class(be_class_Matter_Plugin_Bridge_OnOff) }, + { be_const_key_weak(light3, -1), be_const_class(be_class_Matter_Plugin_Light3) }, { be_const_key_weak(relay, -1), be_const_class(be_class_Matter_Plugin_OnOff) }, - { be_const_key_weak(http_light0, -1), be_const_class(be_class_Matter_Plugin_Bridge_Light0) }, - { be_const_key_weak(shutter_X2Btilt, -1), be_const_class(be_class_Matter_Plugin_ShutterTilt) }, - { be_const_key_weak(humidity, -1), be_const_class(be_class_Matter_Plugin_Sensor_Humidity) }, - { be_const_key_weak(http_flow, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Flow) }, + { be_const_key_weak(light1, -1), be_const_class(be_class_Matter_Plugin_Light1) }, + { be_const_key_weak(http_temperature, -1), be_const_class(be_class_Matter_Plugin_Bridge_Sensor_Temp) }, })) ) } )) }, { be_const_key_weak(tick, 9), be_const_var(10) }, { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(17) }, From 4e6ba4fcccd0d7cbbde8ee2f03587555dd2c1907 Mon Sep 17 00:00:00 2001 From: s-hadinger Date: Tue, 21 May 2024 07:40:50 +0000 Subject: [PATCH 32/88] Solidified Code updated --- lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index 2459576e2..937cabb55 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -3395,7 +3395,7 @@ be_local_class(Matter_UI, { be_const_key_weak(show_commissioning_info, -1), be_const_closure(Matter_UI_show_commissioning_info_closure) }, { be_const_key_weak(page_part_ctl, 18), be_const_closure(Matter_UI_page_part_ctl_closure) }, { be_const_key_weak(show_fabric_info, -1), be_const_closure(Matter_UI_show_fabric_info_closure) }, - { be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_long(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7Cwaterleak_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow_X7Cwaterleak) }, + { be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_long(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7Cwaterleak_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow_X7Cv_waterleak) }, { be_const_key_weak(web_get_arg, -1), be_const_closure(Matter_UI_web_get_arg_closure) }, { be_const_key_weak(plugin_option, 5), be_const_closure(Matter_UI_plugin_option_closure) }, { be_const_key_weak(web_add_config_button, -1), be_const_closure(Matter_UI_web_add_config_button_closure) }, From 7824378755fc814c838f90e0c07e3fc45ea810ed Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 10:22:29 +0200 Subject: [PATCH 33/88] Update changelogs --- CHANGELOG.md | 9 ++++++--- RELEASENOTES.md | 7 ++++++- tasmota/include/tasmota_configurations_ESP32.h | 4 ++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c213829c1..b5d35d05a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ All notable changes to this project will be documented in this file. ### Added - Enabled watchdog for ESP32 and variants (#21422) - Optional command ``WebRun`` (as WebQuery extension) (#21364) -- Knx dimmer and color (#21434) +- Support for Knx dimmer and color (#21434) +- Support for Matter 1.3 Water leak detectors (#21456) ### Breaking Changed @@ -23,8 +24,10 @@ All notable changes to this project will be documented in this file. - Watchdog restart or freeze if ``displaytext`` is more than 128 characters (#21401) - Avoid connection errors when switching to safeboot to upload OTA firmware (#21428) - Berry Leds matrix alternate more and error about 'bri' attribute (#21431) -- Wrong timeout in `WebQuery` and `webclient` since Core3 -- Zigbee crash when removing `ZbName` +- Wrong timeout in `WebQuery` and `webclient` since Core3 (#21442) +- Webradio crash with invalid url (#21446) +- Zigbee crash when removing `ZbName` (#21449) +- ESP32 BLE fix scanning (#21451) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e3216fd0c..edf0f72fa 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -122,8 +122,9 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ## Changelog v14.0.0.1 ### Added - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) -- Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) +- Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) - Enabled watchdog for ESP32 and variants [#21422](https://github.com/arendst/Tasmota/issues/21422) +- Support for Matter 1.3 Water leak detectors [#21456](https://github.com/arendst/Tasmota/issues/21456) ### Breaking Changed @@ -137,7 +138,11 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters [#21401](https://github.com/arendst/Tasmota/issues/21401) +- Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) +- Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) +- ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) +- Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) ### Removed diff --git a/tasmota/include/tasmota_configurations_ESP32.h b/tasmota/include/tasmota_configurations_ESP32.h index 2d3e4c18b..c323ec5f0 100644 --- a/tasmota/include/tasmota_configurations_ESP32.h +++ b/tasmota/include/tasmota_configurations_ESP32.h @@ -700,6 +700,10 @@ //#define USE_CANSNIFFER // Add support for can bus sniffer using MCP2515 (+5k code) #define USE_MCP23XXX_DRV // [I2cDriver77] Enable MCP23xxx support as virtual switch/button/relay (+3k(I2C)/+5k(SPI) code) #define USE_SHELLY_PRO // Add support for Shelly Pro +#define USE_SPI_LORA // Add support for LoRaSend and LoRaCommand (+4k code) + #define USE_LORA_SX126X // Add driver support for LoRa on SX126x based devices like LiliGo T3S3 Lora32 (+16k code) + #define USE_LORA_SX127X // Add driver support for LoRa on SX127x based devices like M5Stack LoRa868, RFM95W (+5k code) + #define USE_LORAWAN_BRIDGE // Add support for LoRaWan bridge (+8k code) #define USE_MHZ19 // Add support for MH-Z19 CO2 sensor (+2k code) #define USE_SENSEAIR // Add support for SenseAir K30, K70 and S8 CO2 sensor (+2k3 code) From 2e5186046436ec29cf4ce704ab4119b664cb5027 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 14:27:02 +0200 Subject: [PATCH 34/88] Fix GUI auto-decimal (#21445) --- tasmota/tasmota_xdrv_driver/xdrv_46_ccloader.ino | 8 ++++---- tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino | 2 +- tasmota/tasmota_xsns_sensor/xsns_61_MI_NRF24.ino | 4 ++-- tasmota/tasmota_xsns_sensor/xsns_62_MI_HM10.ino | 6 +++--- tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino | 4 ++-- tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_46_ccloader.ino b/tasmota/tasmota_xdrv_driver/xdrv_46_ccloader.ino index a85275fa7..9f378462a 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_46_ccloader.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_46_ccloader.ino @@ -657,11 +657,11 @@ void CCLoadershow(bool json) { if (json) { // unused } else { - WSContentSend_PD(PSTR("

CCLoader

")); + WSContentSend_P(PSTR("

CCLoader

")); if (CCL.chip.ID!=0){ - WSContentSend_PD(PSTR("Chip ID: %x
"),CCL.chip.ID); - WSContentSend_PD(PSTR("Chip Revision: %x
"),CCL.chip.rev); - WSContentSend_PD(PSTR("Chip Name: %s
"),CCLChipName(CCL.chip.ID).c_str()); + WSContentSend_P(PSTR("Chip ID: %x
"),CCL.chip.ID); + WSContentSend_P(PSTR("Chip Revision: %x
"),CCL.chip.rev); + WSContentSend_P(PSTR("Chip Name: %s
"),CCLChipName(CCL.chip.ID).c_str()); } } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino b/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino index 5e3af4dd8..23a82d2fc 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino @@ -1007,7 +1007,7 @@ void EQ3Show(void) FirstSensorShown = true; const char *alias = BLE_ESP32::getAlias(EQ3Devices[i].addr); if (alias && *alias){ - WSContentSend_PD(HTTP_EQ3_ALIAS, i + 1, alias); + WSContentSend_P(HTTP_EQ3_ALIAS, i + 1, alias); } WSContentSend_P(HTTP_EQ3_MAC, i + 1, addrStr(EQ3Devices[i].addr)); WSContentSend_PD(HTTP_EQ3_RSSI, i + 1, EQ3Devices[i].RSSI); diff --git a/tasmota/tasmota_xsns_sensor/xsns_61_MI_NRF24.ino b/tasmota/tasmota_xsns_sensor/xsns_61_MI_NRF24.ino index c9bbb8ed0..187f623bd 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_61_MI_NRF24.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_61_MI_NRF24.ino @@ -1906,7 +1906,7 @@ void MINRFShow(bool json) continue; } WSContentSend_PD(HTTP_MINRF_HL); - WSContentSend_PD(HTTP_MINRF_MAC, kMINRFDeviceType[MIBLEsensors[i].type-1], D_MAC_ADDRESS, MIBLEsensors[i].MAC[0], MIBLEsensors[i].MAC[1],MIBLEsensors[i].MAC[2],MIBLEsensors[i].MAC[3],MIBLEsensors[i].MAC[4],MIBLEsensors[i].MAC[5]); + WSContentSend_P(HTTP_MINRF_MAC, kMINRFDeviceType[MIBLEsensors[i].type-1], D_MAC_ADDRESS, MIBLEsensors[i].MAC[0], MIBLEsensors[i].MAC[1],MIBLEsensors[i].MAC[2],MIBLEsensors[i].MAC[3],MIBLEsensors[i].MAC[4],MIBLEsensors[i].MAC[5]); if (MIBLEsensors[i].type==YEERC) continue; if (MIBLEsensors[i].type==FLORA){ if(!isnan(MIBLEsensors[i].temp)){ @@ -1932,7 +1932,7 @@ void MINRFShow(bool json) if(MINRF.beacon.active){ WSContentSend_PD(HTTP_MINRF_HL); WSContentSend_PD(HTTP_MINRF_HL); - WSContentSend_PD(HTTP_MINRF_MAC, F("Beacon"), D_MAC_ADDRESS, MINRF.beacon.MAC[0], MINRF.beacon.MAC[1],MINRF.beacon.MAC[2],MINRF.beacon.MAC[3],MINRF.beacon.MAC[4],MINRF.beacon.MAC[5]); + WSContentSend_P(HTTP_MINRF_MAC, F("Beacon"), D_MAC_ADDRESS, MINRF.beacon.MAC[0], MINRF.beacon.MAC[1],MINRF.beacon.MAC[2],MINRF.beacon.MAC[3],MINRF.beacon.MAC[4],MINRF.beacon.MAC[5]); WSContentSend_PD(PSTR("{s}Beacon Time{m}%u seconds{e}"),MINRF.beacon.time); } diff --git a/tasmota/tasmota_xsns_sensor/xsns_62_MI_HM10.ino b/tasmota/tasmota_xsns_sensor/xsns_62_MI_HM10.ino index 406f5ec4c..285134970 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_62_MI_HM10.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_62_MI_HM10.ino @@ -2228,12 +2228,12 @@ void HM10Show(bool json) } if (MIBLEsensors.size()==0) i=-1; // only for the GUI - WSContentSend_PD(HTTP_HM10, HM10.firmware, i+1,stemp,MIBLEsensors.size()); + WSContentSend_P(HTTP_HM10, HM10.firmware, i+1,stemp,MIBLEsensors.size()); for (i; itype-1]; const char *alias = BLE_ESP32::getAlias(p->MAC); if (alias && *alias){ - WSContentSend_PD(HTTP_MI32_ALIAS, typeName, alias); + WSContentSend_P(HTTP_MI32_ALIAS, typeName, alias); } char _MAC[18]; ToHex_P(p->MAC,6,_MAC,18);//,':'); From a4c7add8dfe8aba16b5c0d4ad8d4920b09f0d250 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 15:58:16 +0200 Subject: [PATCH 35/88] Prep ESP32 SPI bus 2 support --- tasmota/tasmota.ino | 3 ++- tasmota/tasmota_support/support.ino | 25 +++++++++++++----- tasmota/tasmota_support/support_tasmota.ino | 28 ++++++--------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/tasmota/tasmota.ino b/tasmota/tasmota.ino index 122ae3eef..fb8416f68 100644 --- a/tasmota/tasmota.ino +++ b/tasmota/tasmota.ino @@ -325,7 +325,8 @@ struct TasmotaGlobal_t { uint8_t busy_time; // Time in ms to allow executing of time critical functions uint8_t init_state; // Tasmota init state uint8_t heartbeat_inverted; // Heartbeat pulse inverted flag - uint8_t spi_enabled; // SPI configured + uint8_t spi_enabled; // SPI configured (bus1) + uint8_t spi_enabled2; // SPI configured (bus2) uint8_t soft_spi_enabled; // Software SPI configured uint8_t blinks; // Number of LED blinks uint8_t restart_flag; // Tasmota restart flag diff --git a/tasmota/tasmota_support/support.ino b/tasmota/tasmota_support/support.ino index bd2b5f788..0552a30d1 100755 --- a/tasmota/tasmota_support/support.ino +++ b/tasmota/tasmota_support/support.ino @@ -2651,21 +2651,34 @@ void AddLogMissed(const char *sensor, uint32_t misses) AddLog(LOG_LEVEL_DEBUG, PSTR("SNS: %s missed %d"), sensor, SENSOR_MAX_MISS - misses); } -void AddLogSpi(bool hardware, uint32_t clk, uint32_t mosi, uint32_t miso) { - // Needs optimization - uint32_t enabled = (hardware) ? TasmotaGlobal.spi_enabled : TasmotaGlobal.soft_spi_enabled; +void AddLogSpi(uint32_t hardware, int clk, int mosi, int miso) { + uint32_t enabled = TasmotaGlobal.soft_spi_enabled; + char hwswbus[8]; + if (hardware) { +#ifdef ESP8266 + strcpy_P(hwswbus, PSTR("Hard")); + enabled = TasmotaGlobal.spi_enabled; +#endif +#ifdef ESP32 + strcpy_P(hwswbus, PSTR("Bus0")); + hwswbus[3] += (char)hardware; + enabled = (1 == hardware) ? TasmotaGlobal.spi_enabled : TasmotaGlobal.spi_enabled2; +#endif + } else { + strcpy_P(hwswbus, PSTR("Soft")); + } switch(enabled) { case SPI_MOSI: AddLog(LOG_LEVEL_INFO, PSTR("SPI: %s using GPIO%02d(CLK) and GPIO%02d(MOSI)"), - (hardware) ? PSTR("Hardware") : PSTR("Software"), clk, mosi); + hwswbus, clk, mosi); break; case SPI_MISO: AddLog(LOG_LEVEL_INFO, PSTR("SPI: %s using GPIO%02d(CLK) and GPIO%02d(MISO)"), - (hardware) ? PSTR("Hardware") : PSTR("Software"), clk, miso); + hwswbus, clk, miso); break; case SPI_MOSI_MISO: AddLog(LOG_LEVEL_INFO, PSTR("SPI: %s using GPIO%02d(CLK), GPIO%02d(MOSI) and GPIO%02d(MISO)"), - (hardware) ? PSTR("Hardware") : PSTR("Software"), clk, mosi, miso); + hwswbus, clk, mosi, miso); break; } } diff --git a/tasmota/tasmota_support/support_tasmota.ino b/tasmota/tasmota_support/support_tasmota.ino index c8e3de1b9..8f1df5b95 100644 --- a/tasmota/tasmota_support/support_tasmota.ino +++ b/tasmota/tasmota_support/support_tasmota.ino @@ -2150,33 +2150,19 @@ void GpioInit(void) SetPin(14, AGPIO(GPIO_SPI_CLK)); } } + AddLogSpi(1, Pin(GPIO_SPI_CLK), Pin(GPIO_SPI_MOSI), Pin(GPIO_SPI_MISO)); #endif // ESP8266 #ifdef ESP32 -/* - if (PinUsed(GPIO_SPI_CS) || - PinUsed(GPIO_RC522_CS) || - PinUsed(GPIO_NRF24_CS) || - PinUsed(GPIO_ILI9341_CS) || - PinUsed(GPIO_EPAPER29_CS) || - PinUsed(GPIO_EPAPER42_CS) || - PinUsed(GPIO_ILI9488_CS) || - PinUsed(GPIO_SSD1351_CS) || - PinUsed(GPIO_RA8876_CS) || - PinUsed(GPIO_ST7789_DC) || // ST7789 CS may be omitted so chk DC too - PinUsed(GPIO_ST7789_CS) || - PinUsed(GPIO_SSD1331_CS) || - PinUsed(GPIO_SDCARD_CS) - ) { - uint32_t spi_mosi = (PinUsed(GPIO_SPI_CLK) && PinUsed(GPIO_SPI_MOSI)) ? SPI_MOSI : SPI_NONE; - uint32_t spi_miso = (PinUsed(GPIO_SPI_CLK) && PinUsed(GPIO_SPI_MISO)) ? SPI_MISO : SPI_NONE; - TasmotaGlobal.spi_enabled = spi_mosi + spi_miso; - } -*/ uint32_t spi_mosi = (PinUsed(GPIO_SPI_CLK) && PinUsed(GPIO_SPI_MOSI)) ? SPI_MOSI : SPI_NONE; uint32_t spi_miso = (PinUsed(GPIO_SPI_CLK) && PinUsed(GPIO_SPI_MISO)) ? SPI_MISO : SPI_NONE; TasmotaGlobal.spi_enabled = spi_mosi + spi_miso; -#endif // ESP32 AddLogSpi(1, Pin(GPIO_SPI_CLK), Pin(GPIO_SPI_MOSI), Pin(GPIO_SPI_MISO)); + + spi_mosi = (PinUsed(GPIO_SPI_CLK, 1) && PinUsed(GPIO_SPI_MOSI, 1)) ? SPI_MOSI : SPI_NONE; + spi_miso = (PinUsed(GPIO_SPI_CLK, 1) && PinUsed(GPIO_SPI_MISO, 1)) ? SPI_MISO : SPI_NONE; + TasmotaGlobal.spi_enabled2 = spi_mosi + spi_miso; + AddLogSpi(2, Pin(GPIO_SPI_CLK, 1), Pin(GPIO_SPI_MOSI, 1), Pin(GPIO_SPI_MISO, 1)); +#endif // ESP32 #endif // USE_SPI for (uint32_t i = 0; i < nitems(TasmotaGlobal.my_module.io); i++) { From 00a389bbb23f77346b625415c45cc243080b3f88 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 16:18:46 +0200 Subject: [PATCH 36/88] Add default LoRaCommand disable reception (#17790) --- tasmota/tasmota_xdrv_driver/xdrv_73_0_lora_struct.ino | 3 ++- tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_0_lora_struct.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_0_lora_struct.ino index e4a204e28..622e36dd1 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_0_lora_struct.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_0_lora_struct.ino @@ -97,7 +97,8 @@ enum TasLoraFlags { TAS_LORA_FLAG_BRIDGE_ENABLED, TAS_LORA_FLAG_JOIN_ENABLED, - TAS_LORA_FLAG_DECODE_ENABLED + TAS_LORA_FLAG_DECODE_ENABLED, + TAS_LORA_COMMAND_ENABLED }; enum TasLoraWanFlags { diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino index c2f6d671f..909ecd0cf 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino @@ -206,8 +206,10 @@ void LoraInput(void) { char *topic_part = strtok_r(payload, " ", &command_part); if (topic_part && command_part) { if (!strcasecmp(topic_part, SettingsText(SET_MQTT_TOPIC))) { // Is it mine - ExecuteCommand(command_part, SRC_REMOTE); - return; + if (bitRead(Lora->settings.flags, TAS_LORA_COMMAND_ENABLED)) { + ExecuteCommand(command_part, SRC_REMOTE); + return; + } } else { *--command_part = ' '; // Restore strtok_r '/0' } @@ -318,6 +320,7 @@ void CmndLoraOption(void) { // LoraOption1 1 - Enable LoRaWanBridge // LoraOption2 1 - Enable LoRaWanBridge Join // LoraOption3 1 - Enable LoRaWanBridge decoding + // LoraOption4 1 - Enable LoRaCommand reception if ((XdrvMailbox.index > 0) && (XdrvMailbox.index <= 8)) { uint32_t pindex = XdrvMailbox.index -1; if (XdrvMailbox.payload >= 0) { From 08afd4082309b5c97653b568c490ec49da27903d Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 16:48:14 +0200 Subject: [PATCH 37/88] Remove command header --- tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino index 909ecd0cf..6c3d5015f 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino @@ -212,6 +212,7 @@ void LoraInput(void) { } } else { *--command_part = ' '; // Restore strtok_r '/0' + data[0] = ' '; // Remove TAS_LORA_REMOTE_COMMAND header } } } From 140e4791aac0fd6d6c2f72964c0966bdcd06a686 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 17:10:19 +0200 Subject: [PATCH 38/88] nicer solution skipping loracommand header --- tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino index 6c3d5015f..f7eacc83a 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino @@ -200,6 +200,7 @@ void LoraInput(void) { #endif // USE_LORAWAN_BRIDGE Lora->receive_time = 0; + char *rcvd_data = data; if (TAS_LORA_REMOTE_COMMAND == data[0]) { char *payload = data +1; // Skip TAS_LORA_REMOTE_COMMAND char *command_part; @@ -212,7 +213,8 @@ void LoraInput(void) { } } else { *--command_part = ' '; // Restore strtok_r '/0' - data[0] = ' '; // Remove TAS_LORA_REMOTE_COMMAND header + rcvd_data++; // Remove TAS_LORA_REMOTE_COMMAND header + packet_size--; } } } @@ -220,21 +222,21 @@ void LoraInput(void) { bool raw = Lora->raw; // Set raw mode if zeroes within data for (uint32_t i = 0; i < packet_size; i++) { - if (0 == data[i]) { + if (0 == rcvd_data[i]) { raw = true; break; } } - bool assume_json = (!raw && (data[0] == '{')); + bool assume_json = (!raw && (rcvd_data[0] == '{')); Response_P(PSTR("{\"LoRaReceived\":")); if (assume_json) { - ResponseAppend_P(data); + ResponseAppend_P(rcvd_data); } else { ResponseAppend_P(PSTR("\"")); if (raw) { - ResponseAppend_P(PSTR("%*_H"), packet_size, data); + ResponseAppend_P(PSTR("%*_H"), packet_size, rcvd_data); } else { - ResponseAppend_P(EscapeJSONString(data).c_str()); + ResponseAppend_P(EscapeJSONString(rcvd_data).c_str()); } ResponseAppend_P(PSTR("\"")); } From 73350da88c45576df770c5efafbad58dffb5cc26 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 17:14:47 +0200 Subject: [PATCH 39/88] Even better fix --- tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino index f7eacc83a..33eb00269 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_73_9_lora.ino @@ -213,10 +213,10 @@ void LoraInput(void) { } } else { *--command_part = ' '; // Restore strtok_r '/0' - rcvd_data++; // Remove TAS_LORA_REMOTE_COMMAND header - packet_size--; } } + rcvd_data++; // Remove TAS_LORA_REMOTE_COMMAND header + packet_size--; // Adjust packet size } bool raw = Lora->raw; From 3b4035b3e2e3e4af7ab7913721d5e953956b4c18 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 21 May 2024 17:28:02 +0200 Subject: [PATCH 40/88] Add FUNC_ABOUT_TO_RESTART (#21460) --- tasmota/include/tasmota.h | 2 +- tasmota/tasmota_support/support_tasmota.ino | 2 ++ tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tasmota/include/tasmota.h b/tasmota/include/tasmota.h index 16696bf3f..98d6982e1 100644 --- a/tasmota/include/tasmota.h +++ b/tasmota/include/tasmota.h @@ -416,7 +416,7 @@ enum LightSubtypes { LST_NONE, LST_SINGLE, LST_COLDWARM, LST_RGB, LST_RGBW, LS enum LightTypes { LT_BASIC, LT_PWM1, LT_PWM2, LT_PWM3, LT_PWM4, LT_PWM5, LT_PWM6, LT_PWM7, LT_NU8, LT_SERIAL1, LT_SERIAL2, LT_RGB, LT_RGBW, LT_RGBWC, LT_NU14, LT_NU15 }; // Do not insert new fields -enum XsnsFunctions { FUNC_SETTINGS_OVERRIDE, FUNC_SETUP_RING1, FUNC_SETUP_RING2, FUNC_PRE_INIT, FUNC_INIT, FUNC_ACTIVE, +enum XsnsFunctions { FUNC_SETTINGS_OVERRIDE, FUNC_SETUP_RING1, FUNC_SETUP_RING2, FUNC_PRE_INIT, FUNC_INIT, FUNC_ACTIVE, FUNC_ABOUT_TO_RESTART, FUNC_LOOP, FUNC_SLEEP_LOOP, FUNC_EVERY_50_MSECOND, FUNC_EVERY_100_MSECOND, FUNC_EVERY_200_MSECOND, FUNC_EVERY_250_MSECOND, FUNC_EVERY_SECOND, FUNC_RESET_SETTINGS, FUNC_RESTORE_SETTINGS, FUNC_SAVE_SETTINGS, FUNC_SAVE_AT_MIDNIGHT, FUNC_SAVE_BEFORE_RESTART, FUNC_INTERRUPT_STOP, FUNC_INTERRUPT_START, FUNC_AFTER_TELEPERIOD, FUNC_JSON_APPEND, FUNC_WEB_SENSOR, FUNC_WEB_COL_SENSOR, diff --git a/tasmota/tasmota_support/support_tasmota.ino b/tasmota/tasmota_support/support_tasmota.ino index 8f1df5b95..71421ea9c 100644 --- a/tasmota/tasmota_support/support_tasmota.ino +++ b/tasmota/tasmota_support/support_tasmota.ino @@ -1436,6 +1436,7 @@ void Every250mSeconds(void) OtaFactoryWrite(true); #endif RtcSettings.ota_loader = 1; // Try safeboot image next + XsnsXdrvCall(FUNC_ABOUT_TO_RESTART); SettingsSaveAll(); AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_APPLICATION D_RESTARTING)); EspPrepRestartToSafeBoot(); @@ -1583,6 +1584,7 @@ void Every250mSeconds(void) } if (2 == TasmotaGlobal.restart_flag) { // Restart 1 + XsnsXdrvCall(FUNC_ABOUT_TO_RESTART); SettingsSaveAll(); } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index 7d7a5d94d..0dcf52a14 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -3112,6 +3112,7 @@ void HandleSwitchBootPartition(void) // apply the change in flash and return result if (switch_factory || switch_ota) { + XsnsXdrvCall(FUNC_ABOUT_TO_RESTART); SettingsSaveAll(); if (switch_factory) { EspPrepRestartToSafeBoot(); From da4fab66c1d0bf10e050cd8bf9b60dd63d6ab48d Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Tue, 21 May 2024 17:43:43 +0200 Subject: [PATCH 41/88] more consistent usage of variables, really use apll rx setting (#21459) --- .../xdrv_42_0_i2s_0_config_idf51.ino | 2 +- .../tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino index dafbfb772..ec39ba43a 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_0_config_idf51.ino @@ -109,7 +109,7 @@ typedef struct{ bool left_align = true; // B12 - left alignment bool big_endian = false; // B13 - big endian bool bit_order_lsb = false; // B14 - lsb first - uint16_t dma_frame_num = 512; // B015/16 - DMA buffer size in samples, 512 should be okay up to ~32000 bps + uint16_t dma_frame_num = 576; // B015/16 - DMA buffer size in samples, 576 should be okay up to ~32000 bps uint8_t dma_desc_num = 3; // B17 - number of DMA buffers, maybe increased with smaller buffers uint8_t spare[3]; // B018-20 - padding } rx; diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino index 59d0a959b..26e0d5285 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino @@ -638,10 +638,10 @@ bool TasmotaI2S::startI2SChannel(bool tx, bool rx) { case I2S_MODE_STD: { i2s_std_slot_config_t _slot_cfg = { - .data_bit_width = (i2s_data_bit_width_t)bps, + .data_bit_width = rx_data_bit_width, .slot_bit_width = (i2s_slot_bit_width_t)audio_i2s.Settings->rx.slot_bit_width, - .slot_mode = (i2s_slot_mode_t)channels, - .slot_mask = (i2s_std_slot_mask_t)audio_i2s.Settings->rx.slot_mask, + .slot_mode = rx_slot_mode, + .slot_mask = (i2s_std_slot_mask_t)_rx_slot_mask, .ws_width = audio_i2s.Settings->rx.ws_width, .ws_pol = audio_i2s.Settings->rx.ws_pol, .bit_shift = audio_i2s.Settings->rx.bit_shift, @@ -669,7 +669,9 @@ bool TasmotaI2S::startI2SChannel(bool tx, bool rx) { }, }, }; - + if(audio_i2s.Settings->rx.apll == 1){ + rx_std_cfg.clk_cfg.clk_src = I2S_CLK_SRC_APLL; + } err = i2s_channel_init_std_mode(_rx_handle, &rx_std_cfg); AddLog(LOG_LEVEL_DEBUG, "I2S: RX i2s_channel_init_std_mode with err:%i", err); AddLog(LOG_LEVEL_DEBUG, "I2S: RX channel in standard mode with %u bit width on %i channel(s) initialized", bps, rx_slot_mode); From 784bc3ea5f939c0bc6c0bc2b0c5cd6a8c392a351 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 22 May 2024 15:18:38 +0200 Subject: [PATCH 42/88] Fix `SendMail` watchdog restart during reconnect to SMTP server (#21454) --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + .../tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5d35d05a..4a6c5d615 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ All notable changes to this project will be documented in this file. - Webradio crash with invalid url (#21446) - Zigbee crash when removing `ZbName` (#21449) - ESP32 BLE fix scanning (#21451) +- `SendMail` watchdog restart during reconnect to SMTP server (#21454) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index edf0f72fa..a8bee96c4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -141,6 +141,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) +- `SendMail` watchdog restart during reconnect to SMTP server [#21454](https://github.com/arendst/Tasmota/issues/21454) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino index 198b9cea5..e8fa3b84f 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino @@ -247,6 +247,9 @@ uint16_t SendMail(char *buffer) { /* Connect to server with the session config */ delay(0); + + smtp->closeSession(); // Fix watchdog due to long connection time (#21454) + if (smtp->connect(&session)) { /* Start sending the Email and close the session */ delay(0); @@ -264,7 +267,8 @@ uint16_t SendMail(char *buffer) { } } - if (smtp) { delete smtp; } + if (smtp) { delete smtp; + } for (uint32_t cnt = 0; cnt < MAX_ATTCHMENTS; cnt++) { if (attachments[cnt]) { free(attachments[cnt]); From a14aad93cbe0fb3403676e11f9c142dd314a4ec0 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 22 May 2024 15:19:14 +0200 Subject: [PATCH 43/88] Revert "Fix `SendMail` watchdog restart during reconnect to SMTP server (#21454)" This reverts commit 784bc3ea5f939c0bc6c0bc2b0c5cd6a8c392a351. --- CHANGELOG.md | 1 - RELEASENOTES.md | 1 - .../tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino | 6 +----- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a6c5d615..b5d35d05a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,6 @@ All notable changes to this project will be documented in this file. - Webradio crash with invalid url (#21446) - Zigbee crash when removing `ZbName` (#21449) - ESP32 BLE fix scanning (#21451) -- `SendMail` watchdog restart during reconnect to SMTP server (#21454) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a8bee96c4..edf0f72fa 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -141,7 +141,6 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) -- `SendMail` watchdog restart during reconnect to SMTP server [#21454](https://github.com/arendst/Tasmota/issues/21454) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino index e8fa3b84f..198b9cea5 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_2_webserver_esp32_mail.ino @@ -247,9 +247,6 @@ uint16_t SendMail(char *buffer) { /* Connect to server with the session config */ delay(0); - - smtp->closeSession(); // Fix watchdog due to long connection time (#21454) - if (smtp->connect(&session)) { /* Start sending the Email and close the session */ delay(0); @@ -267,8 +264,7 @@ uint16_t SendMail(char *buffer) { } } - if (smtp) { delete smtp; - } + if (smtp) { delete smtp; } for (uint32_t cnt = 0; cnt < MAX_ATTCHMENTS; cnt++) { if (attachments[cnt]) { free(attachments[cnt]); From 522f6c5e0046e138351df3ef8a7169e33ffe4710 Mon Sep 17 00:00:00 2001 From: btsimonh Date: Wed, 22 May 2024 15:26:26 +0100 Subject: [PATCH 44/88] fail UFSServe if Webserver is null. (#21467) --- .../xdrv_50_filesystem.ino | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino b/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino index 2f456fb83..2ade8983b 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino @@ -950,34 +950,32 @@ public: }; void UFSServe(void) { + bool result = false; if (XdrvMailbox.data_len > 0) { - bool result = false; char *fpath = strtok(XdrvMailbox.data, ","); char *url = strtok(nullptr, ","); char *noauth = strtok(nullptr, ","); if (fpath && url) { - char t[] = ""; - StaticRequestHandlerAuth *staticHandler; - if (noauth && *noauth == '1'){ - staticHandler = (StaticRequestHandlerAuth *) new StaticRequestHandler(*ffsp, fpath, url, (char *)nullptr); - } else { - staticHandler = new StaticRequestHandlerAuth(*ffsp, fpath, url, (char *)nullptr); - } - if (staticHandler) { - //Webserver->serveStatic(url, *ffsp, fpath); - Webserver->addHandler(staticHandler); - Webserver->enableCORS(true); - result = true; - } else { - // could this happen? only lack of memory. - result = false; + if (Webserver) { // fail if no Webserver yet. + StaticRequestHandlerAuth *staticHandler; + if (noauth && *noauth == '1'){ + staticHandler = (StaticRequestHandlerAuth *) new StaticRequestHandler(*ffsp, fpath, url, (char *)nullptr); + } else { + staticHandler = new StaticRequestHandlerAuth(*ffsp, fpath, url, (char *)nullptr); + } + if (staticHandler) { + //Webserver->serveStatic(url, *ffsp, fpath); + Webserver->addHandler(staticHandler); + Webserver->enableCORS(true); + result = true; + } } } - if (!result) { - ResponseCmndFailed(); - } else { - ResponseCmndDone(); - } + } + if (!result) { + ResponseCmndFailed(); + } else { + ResponseCmndDone(); } } #endif // UFILESYS_STATIC_SERVING From a9e7426cff74bf90e29e7b756370e1750c44898a Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 23 May 2024 15:16:05 +0200 Subject: [PATCH 45/88] Changed support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + tasmota/tasmota_xdrv_driver/xdrv_82_esp32_ethernet.ino | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5d35d05a..e4e94e547 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. - Berry binary compiled with gcc (#21426) - GPIOViewer from v1.5.2 to v1.5.3 (No functional change) - ESP32 I2S audio improvements (#21433) +- Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index edf0f72fa..afc45730b 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -131,6 +131,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Changed - GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight +- Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) - ESP32 I2S audio improvements [#21433](https://github.com/arendst/Tasmota/issues/21433) - Berry binary compiled with gcc [#21426](https://github.com/arendst/Tasmota/issues/21426) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_82_esp32_ethernet.ino b/tasmota/tasmota_xdrv_driver/xdrv_82_esp32_ethernet.ino index 17cafca54..b44be11f3 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_82_esp32_ethernet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_82_esp32_ethernet.ino @@ -233,9 +233,9 @@ void EthernetInit(void) { #endif // CONFIG_ETH_USE_ESP32_EMAC if (eth_uses_spi) { - // Uses SPI Ethernat - if (!PinUsed(GPIO_ETH_PHY_MDC) || !PinUsed(GPIO_ETH_PHY_MDIO) || !PinUsed(GPIO_ETH_PHY_POWER)) { - AddLog(LOG_LEVEL_DEBUG_MORE, PSTR(D_LOG_ETH "No ETH MDC (SPI CS), ETH MDIO (SPI IRQ) and ETH POWER (SPI RST) GPIO defined")); + // Uses SPI Ethernet and needs at least SPI CS being ETH MDC + if (!PinUsed(GPIO_ETH_PHY_MDC)) { + AddLog(LOG_LEVEL_DEBUG_MORE, PSTR(D_LOG_ETH "No ETH MDC as SPI CS GPIO defined")); return; } } else { From 01bd6ec52a108af91299c27c6843d466c8eb0388 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Fri, 24 May 2024 15:55:24 +0200 Subject: [PATCH 46/88] apll not supported on all SOCs (#21483) --- tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino index 26e0d5285..bce536903 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino @@ -669,9 +669,11 @@ bool TasmotaI2S::startI2SChannel(bool tx, bool rx) { }, }, }; +#if SOC_I2S_SUPPORTS_APLL if(audio_i2s.Settings->rx.apll == 1){ rx_std_cfg.clk_cfg.clk_src = I2S_CLK_SRC_APLL; } +#endif //SOC_I2S_SUPPORTS_APLL err = i2s_channel_init_std_mode(_rx_handle, &rx_std_cfg); AddLog(LOG_LEVEL_DEBUG, "I2S: RX i2s_channel_init_std_mode with err:%i", err); AddLog(LOG_LEVEL_DEBUG, "I2S: RX channel in standard mode with %u bit width on %i channel(s) initialized", bps, rx_slot_mode); From 1ca91a81700ef1d4354d60d1bf75c73964bd3087 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Fri, 24 May 2024 20:55:56 +0200 Subject: [PATCH 47/88] Berry webserver: allow to content_send bytes (#21479) --- .../tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino index 970e262fc..0349736ee 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino @@ -194,15 +194,21 @@ extern "C" { be_raise(vm, kTypeError, nullptr); } - // Berry: `webserver.content_send(string) -> nil` + // Berry: `webserver.content_send(string or bytes) -> nil` // int32_t w_webserver_content_send(struct bvm *vm); int32_t w_webserver_content_send(struct bvm *vm) { int32_t argc = be_top(vm); // Get the number of arguments - if (argc >= 1 && (be_isstring(vm, 1) || be_iscomptr(vm, 1))) { + if (argc >= 1 && (be_isstring(vm, 1) || be_iscomptr(vm, 1) || be_isbytes(vm, 1))) { const char * html; if (be_isstring(vm, 1)) { html = be_tostring(vm, 1); + } + else if(be_isbytes(vm, 1)) { + size_t buf_len; + const char* buf_ptr = (const char*) be_tobytes(vm, 1, &buf_len); + WSContentSend(buf_ptr, buf_len); + be_return_nil(vm); } else { html = (const char*) be_tocomptr(vm, 1); } From e5521bb763f23e814cc6e5475222fe1226c83c8e Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Fri, 24 May 2024 20:57:43 +0200 Subject: [PATCH 48/88] Build system: allow easy solidification of external Berry (#21430) * custom solidification * solidify-from-url * forgot folders --------- Co-authored-by: Radio Loge --- lib/libesp32/berry/default/be_modtab.c | 3 + lib/libesp32/berry_custom/library.json | 17 ++ lib/libesp32/berry_custom/path.be | 2 + lib/libesp32/berry_custom/solidify_all.be | 99 ++++++++++++ lib/libesp32/berry_custom/src/.gitignore | 1 + .../berry_custom/src/be_custom_module.c | 31 ++++ lib/libesp32/berry_custom/src/berry_custom.h | 8 + lib/libesp32/berry_custom/src/embedded/.keep | 1 + lib/libesp32/berry_custom/src/modules.h | 2 + lib/libesp32/berry_custom/src/solidify/.keep | 1 + pio-tools/gen-berry-structures.py | 2 +- pio-tools/solidify-from-url.py | 152 ++++++++++++++++++ platformio_tasmota32.ini | 1 + .../tasmota_xdrv_driver/xdrv_52_9_berry.ino | 1 + 14 files changed, 320 insertions(+), 1 deletion(-) create mode 100644 lib/libesp32/berry_custom/library.json create mode 100644 lib/libesp32/berry_custom/path.be create mode 100755 lib/libesp32/berry_custom/solidify_all.be create mode 100644 lib/libesp32/berry_custom/src/.gitignore create mode 100644 lib/libesp32/berry_custom/src/be_custom_module.c create mode 100644 lib/libesp32/berry_custom/src/berry_custom.h create mode 100644 lib/libesp32/berry_custom/src/embedded/.keep create mode 100644 lib/libesp32/berry_custom/src/modules.h create mode 100644 lib/libesp32/berry_custom/src/solidify/.keep create mode 100644 pio-tools/solidify-from-url.py diff --git a/lib/libesp32/berry/default/be_modtab.c b/lib/libesp32/berry/default/be_modtab.c index 9d4591783..511a4fb88 100644 --- a/lib/libesp32/berry/default/be_modtab.c +++ b/lib/libesp32/berry/default/be_modtab.c @@ -6,6 +6,7 @@ ** https://github.com/Skiars/berry/blob/master/LICENSE ********************************************************************/ #include "berry.h" +#include "../../berry_custom/src/modules.h" /* this file contains the declaration of the module table. */ @@ -189,6 +190,7 @@ BERRY_LOCAL const bntvmodule_t* const be_module_table[] = { &be_native_module(matter), #endif // USE_MATTER_DEVICE #endif // TASMOTA + CUSTOM_NATIVE_MODULES /* user-defined modules register end */ NULL /* do not remove */ }; @@ -313,6 +315,7 @@ BERRY_LOCAL bclass_array be_class_table = { #if defined(USE_BERRY_INT64) || defined(USE_MATTER_DEVICE) &be_native_class(int64), #endif + CUSTOM_NATIVE_CLASSES NULL, /* do not remove */ }; diff --git a/lib/libesp32/berry_custom/library.json b/lib/libesp32/berry_custom/library.json new file mode 100644 index 000000000..01a8ee2d8 --- /dev/null +++ b/lib/libesp32/berry_custom/library.json @@ -0,0 +1,17 @@ +{ + "name": "Berry custom template", + "version": "0.1", + "description": "Berry library to solidify external scripts in the build process", + "license": "MIT", + "homepage": "https://github.com/arendst/Tasmota", + "frameworks": "arduino", + "platforms": "espressif32", + "authors": + { + "name": "Christian Baars", + "maintainer": true + }, + "build": { + "flags": [ "-I$PROJECT_DIR/include", "-includetasmota_options.h" ] + } +} \ No newline at end of file diff --git a/lib/libesp32/berry_custom/path.be b/lib/libesp32/berry_custom/path.be new file mode 100644 index 000000000..afba51adc --- /dev/null +++ b/lib/libesp32/berry_custom/path.be @@ -0,0 +1,2 @@ +# empty module +# allows stand-alone `import path` diff --git a/lib/libesp32/berry_custom/solidify_all.be b/lib/libesp32/berry_custom/solidify_all.be new file mode 100755 index 000000000..cf19458aa --- /dev/null +++ b/lib/libesp32/berry_custom/solidify_all.be @@ -0,0 +1,99 @@ +#!/usr/bin/env -S ../berry/berry -s -g +# +# Berry solidify files + +import os +import global +import solidify +import string as string2 +import re + +import sys +sys.path().push('src/embedded') # allow to import from src/embedded + +# globals that need to exist to make compilation succeed +var globs = "path,ctypes_bytes_dyn,tasmota,ccronexpr,gpio,light,webclient,load,MD5,lv,light_state,udp,tcpclientasync," + "lv_clock,lv_clock_icon,lv_signal_arcs,lv_signal_bars,lv_wifi_arcs_icon,lv_wifi_arcs," + "lv_wifi_bars_icon,lv_wifi_bars," + "_lvgl," + "int64" + +for g:string2.split(globs, ",") + global.(g) = nil +end + +var prefix_dir = "src/embedded/" +var prefix_out = "src/solidify/" + +def sort(l) + # insertion sort + for i:1..size(l)-1 + var k = l[i] + var j = i + while (j > 0) && (l[j-1] > k) + l[j] = l[j-1] + j -= 1 + end + l[j] = k + end + return l +end + +def clean_directory(dir) + var file_list = os.listdir(dir) + for f : file_list + if f[0] == '.' continue end # ignore files starting with `.` + os.remove(dir + f) + end +end + +var pattern = "#@\\s*solidify:([A-Za-z0-9_.,]+)" + +def parse_file(fname, prefix_out) + print("Parsing: ", fname) + var f = open(prefix_dir + fname) + var src = f.read() + f.close() + # try to compile + var compiled = compile(src) + compiled() # run the compile code to instanciate the classes and modules + # output solidified + var fname_h = string2.split(fname, '.be')[0] + '.h' # take whatever is before the first '.be' + var fout = open(prefix_out + "solidified_" + fname_h, "w") + fout.write(f"/* Solidification of {fname_h} */\n") + fout.write("/********************************************************************\\\n") + fout.write("* Generated code, don't edit *\n") + fout.write("\\********************************************************************/\n") + fout.write('#include "be_constobj.h"\n') + + var directives = re.searchall(pattern, src) + # print(directives) + + for directive : directives + var object_list = string2.split(directive[1], ',') + var object_name = object_list[0] + var weak = (object_list.find('weak') != nil) # do we solidify with weak strings? + var o = global + var cl_name = nil + var obj_name = nil + for subname : string2.split(object_name, '.') + o = o.(subname) + cl_name = obj_name + obj_name = subname + end + solidify.dump(o, weak, fout, cl_name) + end + + fout.write("/********************************************************************/\n") + fout.write("/* End of solidification */\n") + fout.close() +end + +clean_directory(prefix_out) + +var src_file_list = os.listdir(prefix_dir) +src_file_list = sort(src_file_list) +for src_file : src_file_list + if src_file[0] == '.' continue end + parse_file(src_file, prefix_out) +end diff --git a/lib/libesp32/berry_custom/src/.gitignore b/lib/libesp32/berry_custom/src/.gitignore new file mode 100644 index 000000000..13a30a3a9 --- /dev/null +++ b/lib/libesp32/berry_custom/src/.gitignore @@ -0,0 +1 @@ +_temp* \ No newline at end of file diff --git a/lib/libesp32/berry_custom/src/be_custom_module.c b/lib/libesp32/berry_custom/src/be_custom_module.c new file mode 100644 index 000000000..02f56b69a --- /dev/null +++ b/lib/libesp32/berry_custom/src/be_custom_module.c @@ -0,0 +1,31 @@ +/* + be_custom_module.c - allows solidification of external Berry files + + Copyright (C) 2023 Stephan Hadinger, Christian Baars & Theo Arends + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/*******************************************************************\ + * `custom` modules and classes +\*******************************************************************/ + +#ifdef USE_BERRY +#include "be_constobj.h" +#include "be_mapping.h" + +/*solidify*/ + + +#endif // USE_BERRY diff --git a/lib/libesp32/berry_custom/src/berry_custom.h b/lib/libesp32/berry_custom/src/berry_custom.h new file mode 100644 index 000000000..4fc7e2ca2 --- /dev/null +++ b/lib/libesp32/berry_custom/src/berry_custom.h @@ -0,0 +1,8 @@ +// force compilation by including this file + +#ifndef __BERRY_CUSTOM__ +#define __BERRY_CUSTOM__ + + + +#endif // __BERRY_CUSTOM__ diff --git a/lib/libesp32/berry_custom/src/embedded/.keep b/lib/libesp32/berry_custom/src/embedded/.keep new file mode 100644 index 000000000..f59ec20aa --- /dev/null +++ b/lib/libesp32/berry_custom/src/embedded/.keep @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/lib/libesp32/berry_custom/src/modules.h b/lib/libesp32/berry_custom/src/modules.h new file mode 100644 index 000000000..b13468c23 --- /dev/null +++ b/lib/libesp32/berry_custom/src/modules.h @@ -0,0 +1,2 @@ +#define CUSTOM_NATIVE_MODULES +#define CUSTOM_NATIVE_CLASSES \ No newline at end of file diff --git a/lib/libesp32/berry_custom/src/solidify/.keep b/lib/libesp32/berry_custom/src/solidify/.keep new file mode 100644 index 000000000..f59ec20aa --- /dev/null +++ b/lib/libesp32/berry_custom/src/solidify/.keep @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/pio-tools/gen-berry-structures.py b/pio-tools/gen-berry-structures.py index 9e338b91e..abfa0f2d0 100644 --- a/pio-tools/gen-berry-structures.py +++ b/pio-tools/gen-berry-structures.py @@ -16,6 +16,6 @@ for filePath in fileList: # print("Deleting file : ", filePath) except: print("Error while deleting file : ", filePath) -cmd = (env["PYTHONEXE"],join("tools","coc","coc"),"-o","generate","src","default",join("..","berry_tasmota","src"),join("..","berry_matter","src","solidify"),join("..","berry_matter","src"),join("..","berry_animate","src","solidify"),join("..","berry_animate","src"),join("..","berry_tasmota","src","solidify"),join("..","berry_mapping","src"),join("..","berry_int64","src"),join("..","..","libesp32_lvgl","lv_binding_berry","src"),join("..","..","libesp32_lvgl","lv_binding_berry","src","solidify"),join("..","..","libesp32_lvgl","lv_binding_berry","generate"),join("..","..","libesp32_lvgl","lv_haspmota","src","solidify"),"-c",join("default","berry_conf.h")) +cmd = (env["PYTHONEXE"],join("tools","coc","coc"),"-o","generate","src","default",join("..","berry_tasmota","src"),join("..","berry_matter","src","solidify"),join("..","berry_matter","src"),join("..","berry_custom","src","solidify"),join("..","berry_custom","src"),join("..","berry_animate","src","solidify"),join("..","berry_animate","src"),join("..","berry_tasmota","src","solidify"),join("..","berry_mapping","src"),join("..","berry_int64","src"),join("..","..","libesp32_lvgl","lv_binding_berry","src"),join("..","..","libesp32_lvgl","lv_binding_berry","src","solidify"),join("..","..","libesp32_lvgl","lv_binding_berry","generate"),join("..","..","libesp32_lvgl","lv_haspmota","src","solidify"),"-c",join("default","berry_conf.h")) returncode = subprocess.call(cmd, shell=False) os.chdir(CURRENT_DIR) diff --git a/pio-tools/solidify-from-url.py b/pio-tools/solidify-from-url.py new file mode 100644 index 000000000..bdd5d564a --- /dev/null +++ b/pio-tools/solidify-from-url.py @@ -0,0 +1,152 @@ +# Little convenience script to solidify external berry files as embedded + +Import("env") + +import os +import sys +from genericpath import exists +from os.path import join +import subprocess +from colorama import Fore, Back, Style +import requests +import re + +IS_WINDOWS = sys.platform.startswith("win") + +def ensureBerry(): + BERRY_GEN_DIR = join(env.subst("$PROJECT_DIR"), "lib", "libesp32","berry") + os.chdir(BERRY_GEN_DIR) + BERRY_EXECUTABLE = join(BERRY_GEN_DIR,"berry") + if IS_WINDOWS: + berry_executable = join(BERRY_GEN_DIR,"berry.exe") + else: + if os.path.exists(BERRY_EXECUTABLE) == False: + print("Will compile Berry executable") + make_cmd = "make" + subprocess.call(make_cmd, shell=False) + + if os.path.exists(BERRY_EXECUTABLE): + return BERRY_EXECUTABLE + else: + return Null + +def cleanFolder(): + with open(HEADER_FILE_PATH, 'w') as file: + code = "#define CUSTOM_NATIVE_MODULES\n#define CUSTOM_NATIVE_CLASSES" + file.write(code) + tempfiles = [f for f in os.listdir(join(BERRY_SOLIDIFY_DIR,"src")) if re.match(r'_temp', f)] + for file in tempfiles: + os.remove(join(BERRY_SOLIDIFY_DIR,"src",file)) + tempfiles = [f for f in os.listdir(join(BERRY_SOLIDIFY_DIR,"src","embedded")) if ".gitignore" not in f] + for file in tempfiles: + os.remove(join(BERRY_SOLIDIFY_DIR,"src","embedded",file)) + tempfiles = [f for f in os.listdir(join(BERRY_SOLIDIFY_DIR,"src","solidify")) if ".gitignore" not in f] + for file in tempfiles: + os.remove(join(BERRY_SOLIDIFY_DIR,"src","solidify",file)) + + +def addEntryToModtab(source): + code = source.decode("utf-8") + class_name = None + is_module = False + + + pattern = (r'''(?<=module\()[^"].*''') # module?? + result = re.findall(pattern,code) + if len(result) > 0: + class_name = result[0].replace("'","").replace('"','').replace(")","") + print(class_name+" is a module") + is_module = True + else: # just a class + pattern = (r'(?<=#@ solidify:).*') + result = re.findall(pattern,code) + if len(result) > 0: + class_name = result[0].split(",")[0] + if class_name == None: + print("Could not find class name - is '#@ solidify:' used in Berry file??") + print(Fore.RED + "Aborting build process!!") + quit() + MODTAB_PATH = join(env.subst("$PROJECT_DIR"), "lib", "libesp32","berry","default","be_modtab.c") + with open(HEADER_FILE_PATH, 'r') as file: + code = file.read() # reuse code var for modtab file + if is_module: + nmodule = f"&be_native_module({class_name})," + if code.find(nmodule) == -1: + code = code.replace( + "CUSTOM_NATIVE_MODULES", + f'CUSTOM_NATIVE_MODULES {nmodule}' + ) + enmodule = f"be_extern_native_module({class_name});" + if code.find(enmodule) == -1: + code += f'\n{enmodule}' + else: + nclass = f"&be_native_class({class_name})," + if code.find(nclass) == -1: + code = code.replace( + "CUSTOM_NATIVE_CLASSES", + f'CUSTOM_NATIVE_CLASSES {nclass}' + ) + enclass = f"be_extern_native_class({class_name});" + if code.find(enclass) == -1: + code += f'\n{enclass}' + + with open(HEADER_FILE_PATH, 'w') as file: + file.write(code) + + +def addHeaderFile(name): + print("Will solidify ",name) + name = name.split(".")[0] + data = f""" +/******************************************************************** +* {name} module +* +*******************************************************************/ +#include "solidify/solidified_{name}.h" +""" + file_name = f"_temp_be_{name}_lib.c" + file_path = join(BERRY_SOLIDIFY_DIR,"src",file_name) + open(file_path,"w").write(data) + +def prepareBerryFiles(files): + embedded_dir = join("src","embedded") + for file in files: + if "http" and "://" in file: + response = requests.get(file.split(" ")[0]) + if response.ok: + target = join(embedded_dir,file.split(os.path.sep)[-1]) + if len(file.split(" ")) > 1: + target = join(embedded_dir,file.split(" ")[1]) + print("Renaming",(file.split(os.path.sep)[-1]).split(" ")[0],"to",file.split(" ")[1]) + open(target, "wb").write(response.content) + addHeaderFile(file.split(os.path.sep)[-1]) + addEntryToModtab(response.content) + else: + print(Fore.RED + "Failed to download: ",file) + continue + # maybe later ... + # if os.path.isdir(file): + # continue + # else: + # shutil.copy(file, embedded_dir) + return True + + +BERRY_SOLIDIFY_DIR = join(env.subst("$PROJECT_DIR"), "lib", "libesp32","berry_custom") +HEADER_FILE_PATH = join(BERRY_SOLIDIFY_DIR,"src","modules.h") +cleanFolder() # always clean up this folder +try: + files = env.GetProjectOption("custom_berry_solidify") +except: + print("Nothing more to solidify") +else: + if env.IsCleanTarget() == False: + BERRY_EXECUTABLE = ensureBerry() + + os.chdir(BERRY_SOLIDIFY_DIR) + + if prepareBerryFiles(files.splitlines()): + solidify_command = BERRY_EXECUTABLE + solidify_flags = " -s -g solidify_all.be" + print("Start solidification for 'berry_custom':") + subprocess.call(solidify_command + solidify_flags, shell=True) diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 6dcbe2490..839c02ae9 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -46,6 +46,7 @@ lib_ignore = Preferences ArduinoOTA extra_scripts = pre:pio-tools/add_c_flags.py + pre:pio-tools/solidify-from-url.py pre:pio-tools/gen-berry-structures.py post:pio-tools/post_esp32.py ${esp_defaults.extra_scripts} diff --git a/tasmota/tasmota_xdrv_driver/xdrv_52_9_berry.ino b/tasmota/tasmota_xdrv_driver/xdrv_52_9_berry.ino index dcab55b99..58c6f691a 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_52_9_berry.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_52_9_berry.ino @@ -37,6 +37,7 @@ extern "C" { #include "be_vm.h" #include "ZipReadFS.h" #include "ccronexpr.h" +#include "berry_custom.h" extern "C" { extern void be_load_custom_libs(bvm *vm); From 3e0b70af10f35c0f1f3280fac5776a365e497ab2 Mon Sep 17 00:00:00 2001 From: btsimonh Date: Fri, 24 May 2024 21:02:09 +0100 Subject: [PATCH 49/88] Ufs serve fix - makes it work better on esp32cam (ai thinker style) (#21486) * Add yield() in file listing, so watchdog does not trigger with very large folders * update UFSServe function to be like download function. This removes the use of server.streamFile, and provides a much more reliable download. Make UFSServe always use this function, regardless of auth requirement. (i.e. no use of the original in the original class, as it still uses streaming.) Note that UFSServe is enab;ed with #define UFILESYS_STATIC_SERVING --- .../xdrv_50_filesystem.ino | 76 ++++++++++++++++--- 1 file changed, 65 insertions(+), 11 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino b/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino index 2ade8983b..c7eb25f68 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem.ino @@ -889,15 +889,20 @@ void UFSRename(void) { */ #include "detail/RequestHandlersImpl.h" +//#define SERVING_DEBUG + // class to allow us to request auth when required. // StaticRequestHandler is in the above header class StaticRequestHandlerAuth : public StaticRequestHandler { public: - StaticRequestHandlerAuth(FS& fs, const char* path, const char* uri, const char* cache_header): + StaticRequestHandlerAuth(FS& fs, const char* path, const char* uri, const char* cache_header, bool requireAuth): StaticRequestHandler(fs, path, uri, cache_header) { + _requireAuth = requireAuth; } + bool _requireAuth; + // we replace the handle method, // and look for authentication only if we would serve the file. // if we check earlier, then we will reject as unauth even though a later @@ -906,8 +911,10 @@ public: if (!canHandle(requestMethod, requestUri)) return false; - log_v("StaticRequestHandler::handle: request=%s _uri=%s\r\n", requestUri.c_str(), _uri.c_str()); - + //log_v("StaticRequestHandler::handle: request=%s _uri=%s\r\n", requestUri.c_str(), _uri.c_str()); +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handle: request=%s _uri=%s"), requestUri.c_str(), _uri.c_str()); +#endif String path(_path); if (!_isFile) { @@ -919,8 +926,9 @@ public: // Append whatever follows this URI in request to get the file path. path += requestUri.substring(_baseUriLength); } - log_v("StaticRequestHandler::handle: path=%s, isFile=%d\r\n", path.c_str(), _isFile); - +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handle: path=%s, isFile=%d"), path.c_str(), _isFile); +#endif String contentType = getContentType(path); // look for gz file, only if the original specified path is not a gz. So part only works to send gzip via content encoding when a non compressed is asked for @@ -932,11 +940,17 @@ public: } File f = _fs.open(path, "r"); - if (!f || !f.available()) + if (!f || !f.available()){ + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler missing file?")); return false; - - if (!WebAuthenticate()) { + } +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler file open %d"), f.available()); +#endif + if (_requireAuth && !WebAuthenticate()) { +#ifdef SERVING_DEBUG AddLog(LOG_LEVEL_ERROR, PSTR("UFS: serv of %s denied"), requestUri.c_str()); +#endif server.requestAuthentication(); return true; } @@ -944,7 +958,45 @@ public: if (_cache_header.length() != 0) server.sendHeader("Cache-Control", _cache_header); - server.streamFile(f, contentType); +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler sending")); +#endif + uint8_t buff[512]; + uint32_t bread; + uint32_t flen = f.available(); + WiFiClient download_Client = server.client(); + server.setContentLength(flen); + server.send(200, contentType, ""); + + // transfer is about 150kb/s + uint32_t cnt = 0; + while (f.available()) { + bread = f.read(buff, sizeof(buff)); + cnt += bread; +#ifdef SERVING_DEBUG + //AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler sending %d/%d"), cnt, flen); +#endif + uint32_t bw = download_Client.write((const char*)buff, bread); + if (!bw) { break; } + yield(); + } +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler sent %d/%d"), cnt, flen); +#endif + + if (cnt != flen){ + AddLog(LOG_LEVEL_ERROR, PSTR("UFS: ::handler incomplete file send: sent %d/%d"), cnt, flen); + } + + // It does seem that on lesser ESP32, this causes a problem? A lockup... + //server.streamFile(f, contentType); + + f.close(); + download_Client.stop(); + +#ifdef SERVING_DEBUG + AddLog(LOG_LEVEL_DEBUG, PSTR("UFS: ::handler done")); +#endif return true; } }; @@ -959,9 +1011,9 @@ void UFSServe(void) { if (Webserver) { // fail if no Webserver yet. StaticRequestHandlerAuth *staticHandler; if (noauth && *noauth == '1'){ - staticHandler = (StaticRequestHandlerAuth *) new StaticRequestHandler(*ffsp, fpath, url, (char *)nullptr); + staticHandler = new StaticRequestHandlerAuth(*ffsp, fpath, url, (char *)nullptr, false); } else { - staticHandler = new StaticRequestHandlerAuth(*ffsp, fpath, url, (char *)nullptr); + staticHandler = new StaticRequestHandlerAuth(*ffsp, fpath, url, (char *)nullptr, true); } if (staticHandler) { //Webserver->serveStatic(url, *ffsp, fpath); @@ -1319,6 +1371,8 @@ void UfsListDir(char *path, uint8_t depth) { HtmlEscape(name).c_str(), tstr.c_str(), entry.size(), delpath, editpath); } entry.close(); + + yield(); // trigger watchdog reset } } dir.close(); From 0d3e888147456944cae8983bd7cbda14476adc92 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Fri, 24 May 2024 22:32:37 +0200 Subject: [PATCH 50/88] Berry change internal storage of parent class for methods (#21490) * Berry change internal storage of parent class for methods * Fix compilation of zigbee * Patch solidify for berry_custom --- CHANGELOG.md | 1 + lib/libesp32/berry/src/be_module.c | 2 +- lib/libesp32/berry/src/be_module.h | 2 +- lib/libesp32/berry/src/be_object.h | 14 +- lib/libesp32/berry/src/be_parser.c | 16 +- lib/libesp32/berry/src/be_solidifylib.c | 188 +- lib/libesp32/berry_animate/solidify_all.be | 5 + .../berry_animate/src/be_leds_frame_lib.c | 8 +- .../src/solidify/solidified_animate_1_core.h | 136 +- .../solidified_animate_2_animate_effects.h | 77 +- .../solidify/solidified_animate_9_module.h | 189 +- .../solidified_leds_frame_be_methods.h | 35 +- lib/libesp32/berry_custom/solidify_all.be | 5 + lib/libesp32/berry_matter/solidify_all.be | 5 + .../berry_matter/src/be_matter_module.c | 14 +- .../src/embedded/Matter_Session_Store.be | 3 - .../solidify/solidified_Matter_0_Inspect.h | 20 +- .../src/solidify/solidified_Matter_Base38.h | 17 +- .../solidified_Matter_Commissioning.h | 91 +- .../solidified_Matter_Commissioning_Data.h | 126 +- .../solidified_Matter_Control_Message.h | 35 +- .../solidify/solidified_Matter_Expirable.h | 157 +- .../src/solidify/solidified_Matter_Fabric.h | 301 +-- .../solidify/solidified_Matter_HTTP_async.h | 161 +- .../solidify/solidified_Matter_HTTP_remote.h | 140 +- .../src/solidify/solidified_Matter_IM.h | 255 +-- .../src/solidify/solidified_Matter_IM_Data.h | 630 +++--- .../solidify/solidified_Matter_IM_Message.h | 252 ++- .../solidified_Matter_IM_Subscription.h | 112 +- .../src/solidify/solidified_Matter_Message.h | 77 +- .../solidified_Matter_MessageHandler.h | 56 +- .../src/solidify/solidified_Matter_Module.h | 8 +- .../src/solidify/solidified_Matter_Path_0.h | 21 +- .../solidified_Matter_Path_1_Generator.h | 63 +- .../src/solidify/solidified_Matter_Plugin_0.h | 237 ++- .../solidified_Matter_Plugin_1_Aggregator.h | 21 +- .../solidified_Matter_Plugin_1_Device.h | 31 +- .../solidified_Matter_Plugin_1_Root.h | 31 +- .../solidified_Matter_Plugin_2_Bridge_HTTP.h | 115 +- .../solidified_Matter_Plugin_2_Light1.h | 56 +- .../solidified_Matter_Plugin_2_OnOff.h | 62 +- .../solidified_Matter_Plugin_2_Sensor.h | 49 +- ...olidified_Matter_Plugin_2_Sensor_Contact.h | 48 +- ...idified_Matter_Plugin_2_Sensor_Occupancy.h | 48 +- .../solidified_Matter_Plugin_2_Sensor_OnOff.h | 41 +- ...idified_Matter_Plugin_2_Sensor_Waterleak.h | 48 +- .../solidified_Matter_Plugin_2_Shutter.h | 55 +- ...solidified_Matter_Plugin_3_Bridge_Light0.h | 62 +- ...solidified_Matter_Plugin_3_Bridge_Sensor.h | 49 +- ...ed_Matter_Plugin_3_Bridge_Sensor_Contact.h | 48 +- ..._Matter_Plugin_3_Bridge_Sensor_Occupancy.h | 48 +- ..._Matter_Plugin_3_Bridge_Sensor_Waterleak.h | 48 +- .../solidified_Matter_Plugin_3_Light0.h | 7 - .../solidified_Matter_Plugin_3_Light2.h | 56 +- .../solidified_Matter_Plugin_3_Light3.h | 49 +- .../solidified_Matter_Plugin_3_Sensor_Flow.h | 28 +- ...lidified_Matter_Plugin_3_Sensor_Humidity.h | 28 +- ...ified_Matter_Plugin_3_Sensor_Illuminance.h | 28 +- ...lidified_Matter_Plugin_3_Sensor_Pressure.h | 28 +- .../solidified_Matter_Plugin_3_Sensor_Temp.h | 28 +- .../solidified_Matter_Plugin_3_ShutterTilt.h | 35 +- ...solidified_Matter_Plugin_4_Bridge_Light1.h | 49 +- .../solidified_Matter_Plugin_4_Bridge_OnOff.h | 14 +- ...ified_Matter_Plugin_4_Bridge_Sensor_Flow.h | 35 +- ...d_Matter_Plugin_4_Bridge_Sensor_Humidity.h | 35 +- ...atter_Plugin_4_Bridge_Sensor_Illuminance.h | 35 +- ...d_Matter_Plugin_4_Bridge_Sensor_Pressure.h | 35 +- ...ified_Matter_Plugin_4_Bridge_Sensor_Temp.h | 35 +- ...solidified_Matter_Plugin_5_Bridge_Light2.h | 63 +- ...solidified_Matter_Plugin_5_Bridge_Light3.h | 63 +- .../solidified_Matter_Plugin_9_Virt_Light0.h | 7 - .../solidified_Matter_Plugin_9_Virt_Light1.h | 7 - .../solidified_Matter_Plugin_9_Virt_Light2.h | 7 - .../solidified_Matter_Plugin_9_Virt_Light3.h | 7 - .../solidified_Matter_Plugin_9_Virt_OnOff.h | 7 - ...fied_Matter_Plugin_9_Virt_Sensor_Contact.h | 7 - ...idified_Matter_Plugin_9_Virt_Sensor_Flow.h | 7 - ...ied_Matter_Plugin_9_Virt_Sensor_Humidity.h | 7 - ..._Matter_Plugin_9_Virt_Sensor_Illuminance.h | 7 - ...ed_Matter_Plugin_9_Virt_Sensor_Occupancy.h | 7 - ...ied_Matter_Plugin_9_Virt_Sensor_Pressure.h | 7 - ...idified_Matter_Plugin_9_Virt_Sensor_Temp.h | 7 - ...ed_Matter_Plugin_9_Virt_Sensor_Waterleak.h | 7 - .../src/solidify/solidified_Matter_Profiler.h | 42 +- .../src/solidify/solidified_Matter_Session.h | 301 +-- .../solidified_Matter_Session_Store.h | 171 +- .../solidify/solidified_Matter_TCP_async.h | 150 +- .../src/solidify/solidified_Matter_TLV.h | 364 ++-- .../solidify/solidified_Matter_UDPServer.h | 104 +- .../src/solidify/solidified_Matter_UI.h | 177 +- .../solidify/solidified_Matter_zz_Device.h | 535 ++--- lib/libesp32/berry_tasmota/solidify_all.be | 5 + lib/libesp32/berry_tasmota/src/be_energylib.c | 14 +- .../berry_tasmota/src/be_lv_tasmota_lib.c | 8 +- .../berry_tasmota/src/be_tasmota_lib.c | 76 +- lib/libesp32/berry_tasmota/src/be_wire_lib.c | 4 +- lib/libesp32/berry_tasmota/src/be_zigbee.c | 2 +- .../src/solidify/solidified_Wire.h | 10 +- .../src/solidify/solidified_autoconf_module.h | 123 +- .../solidified_crypto_pbkdf2_hmac_sha256.h | 7 +- .../solidified_crypto_spake2p_matter.h | 77 +- .../src/solidify/solidified_driver_class.h | 17 +- .../src/solidify/solidified_dyn.h | 35 +- .../src/solidify/solidified_energy.h | 20 +- .../src/solidify/solidified_hue_bridge.h | 69 +- .../src/solidify/solidified_i2c_axp192.h | 168 +- .../src/solidify/solidified_i2c_axp202.h | 154 +- .../src/solidify/solidified_i2c_driver.h | 77 +- .../src/solidify/solidified_i2c_ft3663.h | 28 +- .../src/solidify/solidified_leds.h | 399 ++-- .../src/solidify/solidified_lv_tasmota.h | 30 +- .../solidify/solidified_lv_tasmota_widgets.h | 212 +- .../src/solidify/solidified_mqtt.h | 73 +- .../src/solidify/solidified_partition_core.h | 272 +-- .../src/solidify/solidified_persist.h | 97 +- .../src/solidify/solidified_python_compat.h | 6 +- .../src/solidify/solidified_rule_matcher.h | 209 +- .../src/solidify/solidified_tapp.h | 20 +- .../src/solidify/solidified_tasmota_class.h | 289 +-- .../src/solidify/solidified_trigger_class.h | 35 +- .../src/solidify/solidified_uuid.h | 6 +- .../src/solidify/solidified_zigbee.h | 5 +- .../src/solidify/solidified_zigbee_zb_coord.h | 35 +- .../solidified_zigbee_zcl_attribute.h | 98 +- .../solidify/solidified_zigbee_zcl_frame.h | 42 +- .../lv_binding_berry/solidify_all.be | 5 + .../src/solidify/solidified_lv.h | 2 +- .../src/solidify/solidified_lvgl_extra.h | 69 +- .../src/solidify/solidified_lvgl_glob.h | 136 +- lib/libesp32_lvgl/lv_haspmota/solidify_all.be | 5 + .../src/solidify/solidified_lv_haspmota.h | 1792 +++++++++-------- .../xdrv_52_3_berry_energy.ino | 4 +- 132 files changed, 5896 insertions(+), 5744 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4e94e547..55d5a5226 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ All notable changes to this project will be documented in this file. - GPIOViewer from v1.5.2 to v1.5.3 (No functional change) - ESP32 I2S audio improvements (#21433) - Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET +- Berry change internal storage of parent class for methods ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) diff --git a/lib/libesp32/berry/src/be_module.c b/lib/libesp32/berry/src/be_module.c index 17e5c4dcd..3691ed324 100644 --- a/lib/libesp32/berry/src/be_module.c +++ b/lib/libesp32/berry/src/be_module.c @@ -396,7 +396,7 @@ bbool be_module_setmember(bvm *vm, bmodule *module, bstring *attr, bvalue *src) return bfalse; } -const char* be_module_name(bmodule *module) +const char* be_module_name(const bmodule *module) { if (gc_isconst(module)) { return module->info.name; diff --git a/lib/libesp32/berry/src/be_module.h b/lib/libesp32/berry/src/be_module.h index 0d6c76e4b..89ae682ae 100644 --- a/lib/libesp32/berry/src/be_module.h +++ b/lib/libesp32/berry/src/be_module.h @@ -37,7 +37,7 @@ int be_module_load(bvm *vm, bstring *path); void be_cache_module(bvm *vm, bstring *name); int be_module_attr(bvm *vm, bmodule *module, bstring *attr, bvalue *dst); bbool be_module_setmember(bvm *vm, bmodule *module, bstring *attr, bvalue *src); -const char* be_module_name(bmodule *module); +const char* be_module_name(const bmodule *module); bbool be_module_setname(bmodule *module, bstring *name); #endif diff --git a/lib/libesp32/berry/src/be_object.h b/lib/libesp32/berry/src/be_object.h index fd29090ad..c7b4b8af6 100644 --- a/lib/libesp32/berry/src/be_object.h +++ b/lib/libesp32/berry/src/be_object.h @@ -32,15 +32,11 @@ #define BE_MODULE 22 #define BE_COMOBJ 23 /* common object */ -#define BE_NTVFUNC ((0 << 5) | BE_FUNCTION) -#define BE_CLOSURE ((1 << 5) | BE_FUNCTION) -#define BE_NTVCLOS ((2 << 5) | BE_FUNCTION) -#define BE_CTYPE_FUNC ((3 << 5) | BE_FUNCTION) -#define BE_STATIC (1 << 7) - -#define func_isstatic(o) (((o)->type & BE_STATIC) != 0) -#define func_setstatic(o) ((o)->type |= BE_STATIC) -#define func_clearstatic(o) ((o)->type &= ~BE_STATIC) +#define BE_NTVFUNC ((0 << 5) | BE_FUNCTION) /* 6 */ +#define BE_CLOSURE ((1 << 5) | BE_FUNCTION) /* 38 */ +#define BE_NTVCLOS ((2 << 5) | BE_FUNCTION) /* 70 */ +#define BE_CTYPE_FUNC ((3 << 5) | BE_FUNCTION) /* 102 */ +#define BE_STATIC (1 << 7) /* 128 */ /* values for bproto.varg */ #define BE_VA_VARARG (1 << 0) /* function has variable number of arguments */ diff --git a/lib/libesp32/berry/src/be_parser.c b/lib/libesp32/berry/src/be_parser.c index 2567410d6..dcb4386b0 100644 --- a/lib/libesp32/berry/src/be_parser.c +++ b/lib/libesp32/berry/src/be_parser.c @@ -311,7 +311,7 @@ static void setupvals(bfuncinfo *finfo) } /* Function is complete, finalize bproto */ -static void end_func(bparser *parser) +static void end_func(bparser *parser, bclass *c) { bvm *vm = parser->vm; bfuncinfo *finfo = parser->finfo; @@ -324,8 +324,14 @@ static void end_func(bparser *parser) proto->codesize = finfo->pc; proto->ktab = be_vector_release(vm, &finfo->kvec); proto->nconst = be_vector_count(&finfo->kvec); - proto->ptab = be_vector_release(vm, &finfo->pvec); + /* special case here */ proto->nproto = be_vector_count(&finfo->pvec); + if (proto->nproto == 0) { + proto->ptab = (void*) c; + } else { + be_vector_push_c(vm, &finfo->pvec, (void*) &c); + proto->ptab = be_vector_release(vm, &finfo->pvec); + } #if BE_USE_MEM_ALIGNED proto->code = be_move_to_aligned(vm, proto->code, proto->codesize * sizeof(binstruction)); /* move `code` to 4-bytes aligned memory region */ proto->ktab = be_move_to_aligned(vm, proto->ktab, proto->nconst * sizeof(bvalue)); /* move `ktab` to 4-bytes aligned memory region */ @@ -638,7 +644,7 @@ static bproto* funcbody(bparser *parser, bstring *name, bclass *c, int type) finfo.proto->varg |= BE_VA_STATICMETHOD; } stmtlist(parser); /* parse statement without final `end` */ - end_func(parser); /* close function context */ + end_func(parser, c); /* close function context */ match_token(parser, KeyEnd); /* skip 'end' */ return finfo.proto; /* return fully constructed `bproto` */ } @@ -694,7 +700,7 @@ static void lambda_expr(bparser *parser, bexpdesc *e) expr(parser, &e1); check_var(parser, &e1); be_code_ret(parser->finfo, &e1); - end_func(parser); + end_func(parser, NULL); init_exp(e, ETPROTO, be_code_proto(parser->finfo, finfo.proto)); be_stackpop(parser->vm, 1); } @@ -1810,7 +1816,7 @@ static void mainfunc(bparser *parser, bclosure *cl) cl->proto = finfo.proto; be_remove(parser->vm, -3); /* pop proto from stack */ stmtlist(parser); - end_func(parser); + end_func(parser, NULL); match_token(parser, TokenEOS); /* skip EOS */ } diff --git a/lib/libesp32/berry/src/be_solidifylib.c b/lib/libesp32/berry/src/be_solidifylib.c index 0cafe2a73..c26c2a354 100644 --- a/lib/libesp32/berry/src/be_solidifylib.c +++ b/lib/libesp32/berry/src/be_solidifylib.c @@ -112,9 +112,25 @@ static void toidentifier(char *to, const char *p) *to = 0; // final NULL } -static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const char *classname, const char *key, void* fout); +/* return the parent class of a function, encoded in ptab, or NULL if none */ +static const bclass *m_solidify_get_parentclass(const bproto *pr) +{ + const bclass *cla; + if (pr->nproto > 0) { + cla = (const bclass*) pr->ptab[pr->nproto]; + } else { + cla = (const bclass*) pr->ptab; + } + if (cla && var_basetype(cla) == BE_CLASS) { + return cla; + } else { + return NULL; + } +} -static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *class_name, void* fout) +static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefixname, const char *key, void* fout); + +static void m_solidify_map(bvm *vm, bbool str_literal, const bmap * map, const char *prefixname, void* fout) { // compact first be_map_compact(vm, map); @@ -142,14 +158,14 @@ static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *c } else { logfmt(" { be_const_key_weak(%s, %i), ", id_buf, key_next); } - m_solidify_bvalue(vm, str_literal, &node->value, class_name, str(node->key.v.s), fout); + m_solidify_bvalue(vm, str_literal, &node->value, prefixname, str(node->key.v.s), fout); } else if (node->key.type == BE_INT) { #if BE_INTGER_TYPE == 2 logfmt(" { be_const_key_int(%lli, %i), ", node->key.v.i, key_next); #else logfmt(" { be_const_key_int(%i, %i), ", node->key.v.i, key_next); #endif - m_solidify_bvalue(vm, str_literal, &node->value, class_name, NULL, fout); + m_solidify_bvalue(vm, str_literal, &node->value, prefixname, NULL, fout); } else { char error[64]; snprintf(error, sizeof(error), "Unsupported type in key: %i", node->key.type); @@ -162,21 +178,21 @@ static void m_solidify_map(bvm *vm, bbool str_literal, bmap * map, const char *c } -static void m_solidify_list(bvm *vm, bbool str_literal, blist * list, const char *class_name, void* fout) +static void m_solidify_list(bvm *vm, bbool str_literal, const blist * list, const char *prefixname, void* fout) { logfmt(" be_nested_list(%i,\n", list->count); logfmt(" ( (struct bvalue*) &(const bvalue[]) {\n"); for (int i = 0; i < list->count; i++) { logfmt(" "); - m_solidify_bvalue(vm, str_literal, &list->data[i], class_name, "", fout); + m_solidify_bvalue(vm, str_literal, &list->data[i], prefixname, "", fout); logfmt(",\n"); } logfmt(" }))"); // TODO need terminal comma? } // pass key name in case of class, or NULL if none -static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const char *classname, const char *key, void* fout) +static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value, const char *prefixname, const char *key, void* fout) { int type = var_primetype(value); switch (type) { @@ -238,13 +254,20 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const break; case BE_CLOSURE: { - const char * func_name = str(((bclosure*) var_toobj(value))->proto->name); + bclosure *clo = (bclosure*) var_toobj(value); + const char * func_name = str(clo->proto->name); size_t id_len = toidentifier_length(func_name); char func_name_id[id_len]; toidentifier(func_name_id, func_name); - logfmt("be_const_%sclosure(%s%s%s_closure)", + /* get parent class name if any */ + const bclass *parentclass = m_solidify_get_parentclass(clo->proto); + const char *parentclass_name = parentclass ? str(parentclass->name) : NULL; + const char *actualprefix = parentclass_name ? parentclass_name : prefixname; + + logfmt("be_const_%sclosure(%s%s%s%s_closure)", var_isstatic(value) ? "static_" : "", - classname ? classname : "", classname ? "_" : "", + parentclass_name ? "class_" : "", + actualprefix ? actualprefix : "", actualprefix ? "_" : "", func_name_id); } break; @@ -252,12 +275,12 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const logfmt("be_const_class(be_class_%s)", str(((bclass*) var_toobj(value))->name)); break; case BE_COMPTR: - logfmt("be_const_comptr(&be_ntv_%s_%s)", classname ? classname : "unknown", key ? key : "unknown"); + logfmt("be_const_comptr(&be_ntv_%s_%s)", prefixname ? prefixname : "unknown", key ? key : "unknown"); break; case BE_NTVFUNC: logfmt("be_const_%sfunc(be_ntv_%s_%s)", var_isstatic(value) ? "static_" : "", - classname ? classname : "unknown", key ? key : "unknown"); + prefixname ? prefixname : "unknown", key ? key : "unknown"); break; case BE_INSTANCE: { @@ -277,16 +300,16 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const } else { logfmt(" be_const_list( * "); } - m_solidify_bvalue(vm, str_literal, &ins->members[0], classname, key, fout); + m_solidify_bvalue(vm, str_literal, &ins->members[0], prefixname, key, fout); logfmt(" ) } ))"); } } break; case BE_MAP: - m_solidify_map(vm, str_literal, (bmap *) var_toobj(value), classname, fout); + m_solidify_map(vm, str_literal, (bmap *) var_toobj(value), prefixname, fout); break; case BE_LIST: - m_solidify_list(vm, str_literal, (blist *) var_toobj(value), classname, fout); + m_solidify_list(vm, str_literal, (blist *) var_toobj(value), prefixname, fout); break; default: { @@ -297,10 +320,10 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, bvalue * value, const } } -static void m_solidify_subclass(bvm *vm, bbool str_literal, bclass *cl, void* fout); +static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cl, void* fout); /* solidify any inner class */ -static void m_solidify_proto_inner_class(bvm *vm, bbool str_literal, bproto *pr, void* fout) +static void m_solidify_proto_inner_class(bvm *vm, bbool str_literal, const bproto *pr, void* fout) { // parse any class in constants to output it first if (pr->nconst > 0) { @@ -317,11 +340,11 @@ static void m_solidify_proto_inner_class(bvm *vm, bbool str_literal, bproto *pr, } } - -static void m_solidify_proto(bvm *vm, bbool str_literal, bproto *pr, const char * func_name, int indent, void* fout) +static void m_solidify_proto(bvm *vm, bbool str_literal, const bproto *pr, const char * func_name, const char *prefixname, int indent, void* fout) { - // const char * func_name = str(pr->name); - // const char * func_source = str(pr->source); + /* get parent class name if any */ + const bclass *parentclass = m_solidify_get_parentclass(pr); + const char *parentclass_name = parentclass ? str(parentclass->name) : NULL; logfmt("%*sbe_nested_proto(\n", indent, ""); indent += 2; @@ -343,18 +366,28 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, bproto *pr, const char logfmt("%*s%d, /* has sup protos */\n", indent, "", (pr->nproto > 0) ? 1 : 0); if (pr->nproto > 0) { - logfmt("%*s( &(const struct bproto*[%2d]) {\n", indent, "", pr->nproto); + // if pr->nproto is not zero, we add a last value that is either NULL or the parent class + logfmt("%*s( &(const struct bproto*[%2d]) {\n", indent, "", pr->nproto + 1); /* one more slot */ for (int32_t i = 0; i < pr->nproto; i++) { size_t sub_len = strlen(func_name) + 10; char sub_name[sub_len]; snprintf(sub_name, sizeof(sub_name), "%s_%"PRId32, func_name, i); - m_solidify_proto(vm, str_literal, pr->ptab[i], sub_name, indent+2, fout); + m_solidify_proto(vm, str_literal, pr->ptab[i], sub_name, NULL, indent+2, fout); logfmt(",\n"); } + if (parentclass_name) { + logfmt("%*s&be_class_%s, \n", indent, "", parentclass_name); + } else { + logfmt("%*sNULL, \n", indent, ""); + } logfmt("%*s}),\n", indent, ""); } else { - logfmt("%*sNULL, /* no sub protos */\n", indent, ""); - } + if (parentclass_name) { + logfmt("%*s&be_class_%s, \n", indent, "", parentclass_name); + } else { + logfmt("%*sNULL, \n", indent, ""); + } + } logfmt("%*s%d, /* has constants */\n", indent, "", (pr->nconst > 0) ? 1 : 0); if (pr->nconst > 0) { @@ -404,12 +437,28 @@ static void m_solidify_proto(bvm *vm, bbool str_literal, bproto *pr, const char } -static void m_solidify_closure(bvm *vm, bbool str_literal, bclosure *cl, const char * classname, void* fout) +static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo, const char * prefixname, void* fout) { - bproto *pr = cl->proto; + bproto *pr = clo->proto; const char * func_name = str(pr->name); - if (cl->nupvals > 0) { + /* get parent class name if any */ + const bclass *parentclass = m_solidify_get_parentclass(pr); + const char *parentclass_name = parentclass ? str(parentclass->name) : NULL; + if (parentclass_name) { + /* check that the class name is the same as the prefix */ + /* meaning that we are solidifying a method from its own class */ + /* if they don't match, then the method is borrowed to another class and we don't export it */ + char parentclass_prefix[strlen(parentclass_name) + 10]; + snprintf(parentclass_prefix, sizeof(parentclass_prefix), "class_%s", parentclass_name); + if (strcmp(parentclass_prefix, prefixname) != 0) { + logfmt("//--> Borrowed method from another class parentclass='%s' prefix='%s'<---\n", parentclass_prefix, prefixname); + logfmt("extern bclosure *%s_%s;\n", parentclass_prefix, func_name); + return; + } + } + + if (clo->nupvals > 0) { logfmt("--> Unsupported upvals in closure <---"); // be_raise(vm, "internal_error", "Unsupported upvals in closure"); } @@ -423,16 +472,21 @@ static void m_solidify_closure(bvm *vm, bbool str_literal, bclosure *cl, const c logfmt("** Solidified function: %s\n", func_name); logfmt("********************************************************************/\n"); + if (parentclass_name) { + /* declare exten so we can have a pointer */ + logfmt("extern const bclass be_class_%s;\n", parentclass_name); + } + { size_t id_len = toidentifier_length(func_name); char func_name_id[id_len]; toidentifier(func_name_id, func_name); logfmt("be_local_closure(%s%s%s, /* name */\n", - classname ? classname : "", classname ? "_" : "", + prefixname ? prefixname : "", prefixname ? "_" : "", func_name_id); } - m_solidify_proto(vm, str_literal, pr, func_name, indent, fout); + m_solidify_proto(vm, str_literal, pr, func_name, prefixname, indent, fout); logfmt("\n"); // closure @@ -440,21 +494,22 @@ static void m_solidify_closure(bvm *vm, bbool str_literal, bclosure *cl, const c logfmt("/*******************************************************************/\n\n"); } -static void m_solidify_subclass(bvm *vm, bbool str_literal, bclass *cl, void* fout) +static void m_solidify_subclass(bvm *vm, bbool str_literal, const bclass *cla, void* fout) { - const char * class_name = str(cl->name); - + const char * classname = str(cla->name); + char prefixname[strlen(classname) + 10]; + snprintf(prefixname, sizeof(prefixname), "class_%s", classname); /* pre-declare class to support '_class' implicit variable */ - logfmt("\nextern const bclass be_class_%s;\n", class_name); + logfmt("\nextern const bclass be_class_%s;\n", classname); /* iterate on members to dump closures */ - if (cl->members) { + if (cla->members) { bmapnode *node; bmapiter iter = be_map_iter(); - while ((node = be_map_next(cl->members, &iter)) != NULL) { + while ((node = be_map_next(cla->members, &iter)) != NULL) { if (var_isstr(&node->key) && var_isclosure(&node->value)) { bclosure *f = var_toobj(&node->value); - m_solidify_closure(vm, str_literal, f, class_name, fout); + m_solidify_closure(vm, str_literal, f, prefixname, fout); } } } @@ -462,57 +517,50 @@ static void m_solidify_subclass(bvm *vm, bbool str_literal, bclass *cl, void* fo logfmt("\n"); logfmt("/********************************************************************\n"); - logfmt("** Solidified class: %s\n", class_name); + logfmt("** Solidified class: %s\n", classname); logfmt("********************************************************************/\n"); - if (cl->super) { - logfmt("extern const bclass be_class_%s;\n", str(cl->super->name)); + if (cla->super) { + logfmt("extern const bclass be_class_%s;\n", str(cla->super->name)); } - logfmt("be_local_class(%s,\n", class_name); - logfmt(" %i,\n", cl->nvar); - if (cl->super) { - logfmt(" &be_class_%s,\n", str(cl->super->name)); + logfmt("be_local_class(%s,\n", classname); + logfmt(" %i,\n", cla->nvar); + if (cla->super) { + logfmt(" &be_class_%s,\n", str(cla->super->name)); } else { logfmt(" NULL,\n"); } - if (cl->members) { - m_solidify_map(vm, str_literal, cl->members, class_name, fout); + if (cla->members) { + m_solidify_map(vm, str_literal, cla->members, prefixname, fout); logfmt(",\n"); } else { logfmt(" NULL,\n"); } - size_t id_len = toidentifier_length(class_name); + size_t id_len = toidentifier_length(classname); char id_buf[id_len]; - toidentifier(id_buf, class_name); + toidentifier(id_buf, classname); if (!str_literal) { logfmt(" (bstring*) &be_const_str_%s\n", id_buf); } else { logfmt(" be_str_weak(%s)\n", id_buf); } logfmt(");\n"); - } -static void m_solidify_class(bvm *vm, bbool str_literal, bclass *cl, void* fout) +static void m_solidify_class(bvm *vm, bbool str_literal, const bclass *cl, void* fout) { - const char * class_name = str(cl->name); m_solidify_subclass(vm, str_literal, cl, fout); - logfmt("/*******************************************************************/\n\n"); - - logfmt("void be_load_%s_class(bvm *vm) {\n", class_name); - logfmt(" be_pushntvclass(vm, &be_class_%s);\n", class_name); - logfmt(" be_setglobal(vm, \"%s\");\n", class_name); - logfmt(" be_pop(vm, 1);\n"); - logfmt("}\n"); } -static void m_solidify_module(bvm *vm, bbool str_literal, bmodule *ml, void* fout) +static void m_solidify_module(bvm *vm, bbool str_literal, const bmodule *ml, void* fout) { - const char * module_name = be_module_name(ml); - if (!module_name) { module_name = ""; } + const char * modulename = be_module_name(ml); + if (!modulename) { modulename = ""; } + // char prefixname[strlen(modulename) + 10]; + // snprintf(prefixname, sizeof(prefixname), "module_%s", modulename); /* iterate on members to dump closures and classes */ if (ml->table) { @@ -521,7 +569,7 @@ static void m_solidify_module(bvm *vm, bbool str_literal, bmodule *ml, void* fou while ((node = be_map_next(ml->table, &iter)) != NULL) { if (var_isstr(&node->key) && var_isclosure(&node->value)) { bclosure *f = var_toobj(&node->value); - m_solidify_closure(vm, str_literal, f, module_name, fout); + m_solidify_closure(vm, str_literal, f, NULL, fout); } if (var_isstr(&node->key) && var_isclass(&node->value)) { bclass *cl = var_toobj(&node->value); @@ -533,20 +581,20 @@ static void m_solidify_module(bvm *vm, bbool str_literal, bmodule *ml, void* fou logfmt("\n"); logfmt("/********************************************************************\n"); - logfmt("** Solidified module: %s\n", module_name); + logfmt("** Solidified module: %s\n", modulename); logfmt("********************************************************************/\n"); - logfmt("be_local_module(%s,\n", module_name); - logfmt(" \"%s\",\n", module_name); + logfmt("be_local_module(%s,\n", modulename); + logfmt(" \"%s\",\n", modulename); if (ml->table) { - m_solidify_map(vm, str_literal, ml->table, module_name, fout); + m_solidify_map(vm, str_literal, ml->table, NULL, fout); logfmt("\n"); } else { logfmt(" NULL,\n"); } logfmt(");\n"); - logfmt("BE_EXPORT_VARIABLE be_define_const_native_module(%s);\n", module_name); + logfmt("BE_EXPORT_VARIABLE be_define_const_native_module(%s);\n", modulename); logfmt("/********************************************************************/\n"); } @@ -568,12 +616,12 @@ static int m_dump(bvm *vm) } be_pop(vm, 1); } - const char *classname = NULL; /* allow to specify an explicit prefix */ + const char *prefixname = NULL; /* allow to specify an explicit prefix */ if (top >= 4 && be_isstring(vm, 4)) { - classname = be_tostring(vm, 4); + prefixname = be_tostring(vm, 4); } if (var_isclosure(v)) { - m_solidify_closure(vm, str_literal, var_toobj(v), classname, fout); + m_solidify_closure(vm, str_literal, var_toobj(v), prefixname, fout); } else if (var_isclass(v)) { m_solidify_class(vm, str_literal, var_toobj(v), fout); } else if (var_ismodule(v)) { diff --git a/lib/libesp32/berry_animate/solidify_all.be b/lib/libesp32/berry_animate/solidify_all.be index cf19458aa..96862ab6a 100755 --- a/lib/libesp32/berry_animate/solidify_all.be +++ b/lib/libesp32/berry_animate/solidify_all.be @@ -80,6 +80,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32/berry_animate/src/be_leds_frame_lib.c b/lib/libesp32/berry_animate/src/be_leds_frame_lib.c index 36d82d28e..8782e1c94 100644 --- a/lib/libesp32/berry_animate/src/be_leds_frame_lib.c +++ b/lib/libesp32/berry_animate/src/be_leds_frame_lib.c @@ -21,11 +21,11 @@ BE_EXPORT_VARIABLE extern const bclass be_class_bytes; class be_class_Leds_frame (scope: global, name: Leds_frame, super:be_class_bytes, strings: weak) { pixel_size, var - init, closure(Leds_frame_be_init_closure) + init, closure(class_Leds_frame_be_init_closure) - item, closure(Leds_frame_be_item_closure) - setitem, closure(Leds_frame_be_setitem_closure) - set_pixel, closure(Leds_frame_be_set_pixel_closure) + item, closure(class_Leds_frame_be_item_closure) + setitem, closure(class_Leds_frame_be_setitem_closure) + set_pixel, closure(class_Leds_frame_be_set_pixel_closure) // the following are on buffers blend, static_func(be_leds_blend) diff --git a/lib/libesp32/berry_animate/src/solidify/solidified_animate_1_core.h b/lib/libesp32/berry_animate/src/solidify/solidified_animate_1_core.h index 280b7de5c..961c36ff6 100644 --- a/lib/libesp32/berry_animate/src/solidify/solidified_animate_1_core.h +++ b/lib/libesp32/berry_animate/src/solidify/solidified_animate_1_core.h @@ -9,7 +9,8 @@ extern const bclass be_class_Animate_core; /******************************************************************** ** Solidified function: clear ********************************************************************/ -be_local_closure(Animate_core_clear, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_clear, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Animate_core_clear, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(stop), @@ -42,7 +43,8 @@ be_local_closure(Animate_core_clear, /* name */ /******************************************************************** ** Solidified function: set_strip_bri ********************************************************************/ -be_local_closure(Animate_core_set_strip_bri, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_set_strip_bri, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -50,7 +52,7 @@ be_local_closure(Animate_core_set_strip_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(strip), @@ -84,7 +86,8 @@ be_local_closure(Animate_core_set_strip_bri, /* name */ /******************************************************************** ** Solidified function: remove_painter ********************************************************************/ -be_local_closure(Animate_core_remove_painter, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_remove_painter, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -92,7 +95,7 @@ be_local_closure(Animate_core_remove_painter, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(painters), @@ -125,7 +128,8 @@ be_local_closure(Animate_core_remove_painter, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(Animate_core_stop, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_stop, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -133,7 +137,7 @@ be_local_closure(Animate_core_stop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(running), @@ -176,7 +180,8 @@ be_local_closure(Animate_core_stop, /* name */ /******************************************************************** ** Solidified function: get_bri ********************************************************************/ -be_local_closure(Animate_core_get_bri, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_get_bri, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -184,7 +189,7 @@ be_local_closure(Animate_core_get_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(bri), @@ -203,7 +208,8 @@ be_local_closure(Animate_core_get_bri, /* name */ /******************************************************************** ** Solidified function: set_bri ********************************************************************/ -be_local_closure(Animate_core_set_bri, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_set_bri, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -211,7 +217,7 @@ be_local_closure(Animate_core_set_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(bri), @@ -233,7 +239,8 @@ be_local_closure(Animate_core_set_bri, /* name */ /******************************************************************** ** Solidified function: add_painter ********************************************************************/ -be_local_closure(Animate_core_add_painter, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_add_painter, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -241,7 +248,7 @@ be_local_closure(Animate_core_add_painter, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(painters), @@ -272,7 +279,8 @@ be_local_closure(Animate_core_add_painter, /* name */ /******************************************************************** ** Solidified function: fast_loop ********************************************************************/ -be_local_closure(Animate_core_fast_loop, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_fast_loop, /* name */ be_nested_proto( 13, /* nstack */ 1, /* argc */ @@ -280,7 +288,7 @@ be_local_closure(Animate_core_fast_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[28]) { /* constants */ /* K0 */ be_nested_str_weak(running), @@ -408,7 +416,8 @@ be_local_closure(Animate_core_fast_loop, /* name */ /******************************************************************** ** Solidified function: remove_animator ********************************************************************/ -be_local_closure(Animate_core_remove_animator, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_remove_animator, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -416,7 +425,7 @@ be_local_closure(Animate_core_remove_animator, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(animators), @@ -449,7 +458,8 @@ be_local_closure(Animate_core_remove_animator, /* name */ /******************************************************************** ** Solidified function: animate ********************************************************************/ -be_local_closure(Animate_core_animate, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_animate, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -457,7 +467,7 @@ be_local_closure(Animate_core_animate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 0, /* has constants */ NULL, /* no const */ be_str_weak(animate), @@ -473,7 +483,8 @@ be_local_closure(Animate_core_animate, /* name */ /******************************************************************** ** Solidified function: set_current ********************************************************************/ -be_local_closure(Animate_core_set_current, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_set_current, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -481,7 +492,7 @@ be_local_closure(Animate_core_set_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -502,7 +513,8 @@ be_local_closure(Animate_core_set_current, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_core_init, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_init, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -510,7 +522,7 @@ be_local_closure(Animate_core_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -520,7 +532,7 @@ be_local_closure(Animate_core_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fast_loop), @@ -534,6 +546,7 @@ be_local_closure(Animate_core_init, /* name */ 0x80000000, // 0003 RET 0 }) ), + &be_class_Animate_core, }), 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ @@ -602,7 +615,8 @@ be_local_closure(Animate_core_init, /* name */ /******************************************************************** ** Solidified function: set_cb ********************************************************************/ -be_local_closure(Animate_core_set_cb, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_set_cb, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -610,7 +624,7 @@ be_local_closure(Animate_core_set_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(obj), @@ -631,7 +645,8 @@ be_local_closure(Animate_core_set_cb, /* name */ /******************************************************************** ** Solidified function: set_back_color ********************************************************************/ -be_local_closure(Animate_core_set_back_color, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_set_back_color, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -639,7 +654,7 @@ be_local_closure(Animate_core_set_back_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(back_color), @@ -658,7 +673,8 @@ be_local_closure(Animate_core_set_back_color, /* name */ /******************************************************************** ** Solidified function: add_background_animator ********************************************************************/ -be_local_closure(Animate_core_add_background_animator, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_add_background_animator, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -666,7 +682,7 @@ be_local_closure(Animate_core_add_background_animator, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(set_cb), @@ -693,7 +709,8 @@ be_local_closure(Animate_core_add_background_animator, /* name */ /******************************************************************** ** Solidified function: add_animator ********************************************************************/ -be_local_closure(Animate_core_add_animator, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_add_animator, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -701,7 +718,7 @@ be_local_closure(Animate_core_add_animator, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(animators), @@ -732,7 +749,8 @@ be_local_closure(Animate_core_add_animator, /* name */ /******************************************************************** ** Solidified function: remove ********************************************************************/ -be_local_closure(Animate_core_remove, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_remove, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -740,7 +758,7 @@ be_local_closure(Animate_core_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(clear), @@ -767,7 +785,8 @@ be_local_closure(Animate_core_remove, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Animate_core_start, /* name */ +extern const bclass be_class_Animate_core; +be_local_closure(class_Animate_core_start, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -775,7 +794,7 @@ be_local_closure(Animate_core_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_core, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(running), @@ -825,47 +844,40 @@ be_local_class(Animate_core, NULL, be_nested_map(32, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_strip_bri, -1), be_const_closure(Animate_core_set_strip_bri_closure) }, + { be_const_key_weak(set_strip_bri, -1), be_const_closure(class_Animate_core_set_strip_bri_closure) }, { be_const_key_weak(animators, -1), be_const_var(4) }, - { be_const_key_weak(clear, 0), be_const_closure(Animate_core_clear_closure) }, - { be_const_key_weak(remove, -1), be_const_closure(Animate_core_remove_closure) }, + { be_const_key_weak(clear, 0), be_const_closure(class_Animate_core_clear_closure) }, + { be_const_key_weak(remove, -1), be_const_closure(class_Animate_core_remove_closure) }, { be_const_key_weak(mth, -1), be_const_var(9) }, - { be_const_key_weak(stop, 1), be_const_closure(Animate_core_stop_closure) }, + { be_const_key_weak(stop, 1), be_const_closure(class_Animate_core_stop_closure) }, { be_const_key_weak(fast_loop_cb, 30), be_const_var(6) }, - { be_const_key_weak(get_bri, -1), be_const_closure(Animate_core_get_bri_closure) }, - { be_const_key_weak(add_animator, -1), be_const_closure(Animate_core_add_animator_closure) }, - { be_const_key_weak(add_background_animator, -1), be_const_closure(Animate_core_add_background_animator_closure) }, + { be_const_key_weak(get_bri, -1), be_const_closure(class_Animate_core_get_bri_closure) }, + { be_const_key_weak(add_animator, -1), be_const_closure(class_Animate_core_add_animator_closure) }, + { be_const_key_weak(add_background_animator, -1), be_const_closure(class_Animate_core_add_background_animator_closure) }, { be_const_key_weak(fast_loop_next, -1), be_const_var(7) }, - { be_const_key_weak(remove_animator, -1), be_const_closure(Animate_core_remove_animator_closure) }, - { be_const_key_weak(add_painter, 28), be_const_closure(Animate_core_add_painter_closure) }, + { be_const_key_weak(remove_animator, -1), be_const_closure(class_Animate_core_remove_animator_closure) }, + { be_const_key_weak(add_painter, 28), be_const_closure(class_Animate_core_add_painter_closure) }, { be_const_key_weak(FAST_LOOP_MIN, -1), be_const_int(20) }, - { be_const_key_weak(fast_loop, -1), be_const_closure(Animate_core_fast_loop_closure) }, - { be_const_key_weak(set_back_color, 11), be_const_closure(Animate_core_set_back_color_closure) }, - { be_const_key_weak(animate, 8), be_const_closure(Animate_core_animate_closure) }, + { be_const_key_weak(fast_loop, -1), be_const_closure(class_Animate_core_fast_loop_closure) }, + { be_const_key_weak(set_back_color, 11), be_const_closure(class_Animate_core_set_back_color_closure) }, + { be_const_key_weak(animate, 8), be_const_closure(class_Animate_core_animate_closure) }, { be_const_key_weak(strip, 24), be_const_var(0) }, { be_const_key_weak(layer, -1), be_const_var(11) }, - { be_const_key_weak(init, -1), be_const_closure(Animate_core_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_core_init_closure) }, { be_const_key_weak(bri, -1), be_const_var(2) }, - { be_const_key_weak(set_cb, 13), be_const_closure(Animate_core_set_cb_closure) }, + { be_const_key_weak(set_cb, 13), be_const_closure(class_Animate_core_set_cb_closure) }, { be_const_key_weak(back_color, 18), be_const_var(12) }, { be_const_key_weak(pixel_count, 15), be_const_var(1) }, - { be_const_key_weak(set_current, -1), be_const_closure(Animate_core_set_current_closure) }, + { be_const_key_weak(set_current, -1), be_const_closure(class_Animate_core_set_current_closure) }, { be_const_key_weak(painters, -1), be_const_var(5) }, { be_const_key_weak(obj, 10), be_const_var(8) }, - { be_const_key_weak(set_bri, 9), be_const_closure(Animate_core_set_bri_closure) }, + { be_const_key_weak(set_bri, 9), be_const_closure(class_Animate_core_set_bri_closure) }, { be_const_key_weak(running, -1), be_const_var(3) }, - { be_const_key_weak(remove_painter, 3), be_const_closure(Animate_core_remove_painter_closure) }, + { be_const_key_weak(remove_painter, 3), be_const_closure(class_Animate_core_remove_painter_closure) }, { be_const_key_weak(frame, -1), be_const_var(10) }, - { be_const_key_weak(start, -1), be_const_closure(Animate_core_start_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_Animate_core_start_closure) }, })), be_str_weak(Animate_core) ); -/*******************************************************************/ - -void be_load_Animate_core_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_core); - be_setglobal(vm, "Animate_core"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/solidified_animate_2_animate_effects.h b/lib/libesp32/berry_animate/src/solidify/solidified_animate_2_animate_effects.h index 360e3d2d8..1425a7234 100644 --- a/lib/libesp32/berry_animate/src/solidify/solidified_animate_2_animate_effects.h +++ b/lib/libesp32/berry_animate/src/solidify/solidified_animate_2_animate_effects.h @@ -9,7 +9,8 @@ extern const bclass be_class_Animate_painter; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_painter_init, /* name */ +extern const bclass be_class_Animate_painter; +be_local_closure(class_Animate_painter_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Animate_painter_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_painter, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -45,7 +46,8 @@ be_local_closure(Animate_painter_init, /* name */ /******************************************************************** ** Solidified function: paint ********************************************************************/ -be_local_closure(Animate_painter_paint, /* name */ +extern const bclass be_class_Animate_painter; +be_local_closure(class_Animate_painter_paint, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -53,7 +55,7 @@ be_local_closure(Animate_painter_paint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_painter, 0, /* has constants */ NULL, /* no const */ be_str_weak(paint), @@ -74,25 +76,19 @@ be_local_class(Animate_painter, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(paint, -1), be_const_closure(Animate_painter_paint_closure) }, - { be_const_key_weak(init, 0), be_const_closure(Animate_painter_init_closure) }, + { be_const_key_weak(paint, -1), be_const_closure(class_Animate_painter_paint_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_Animate_painter_init_closure) }, })), be_str_weak(Animate_painter) ); -/*******************************************************************/ - -void be_load_Animate_painter_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_painter); - be_setglobal(vm, "Animate_painter"); - be_pop(vm, 1); -} extern const bclass be_class_Animate_pulse; /******************************************************************** ** Solidified function: set_pulse_size ********************************************************************/ -be_local_closure(Animate_pulse_set_pulse_size, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_set_pulse_size, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -100,7 +96,7 @@ be_local_closure(Animate_pulse_set_pulse_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(pulse_size), @@ -119,7 +115,8 @@ be_local_closure(Animate_pulse_set_pulse_size, /* name */ /******************************************************************** ** Solidified function: set_slew_size ********************************************************************/ -be_local_closure(Animate_pulse_set_slew_size, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_set_slew_size, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -127,7 +124,7 @@ be_local_closure(Animate_pulse_set_slew_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(slew_size), @@ -146,7 +143,8 @@ be_local_closure(Animate_pulse_set_slew_size, /* name */ /******************************************************************** ** Solidified function: set_back_color ********************************************************************/ -be_local_closure(Animate_pulse_set_back_color, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_set_back_color, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -154,7 +152,7 @@ be_local_closure(Animate_pulse_set_back_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(back_color), @@ -173,7 +171,8 @@ be_local_closure(Animate_pulse_set_back_color, /* name */ /******************************************************************** ** Solidified function: set_pos ********************************************************************/ -be_local_closure(Animate_pulse_set_pos, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_set_pos, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -181,7 +180,7 @@ be_local_closure(Animate_pulse_set_pos, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(pos), @@ -200,7 +199,8 @@ be_local_closure(Animate_pulse_set_pos, /* name */ /******************************************************************** ** Solidified function: set_color ********************************************************************/ -be_local_closure(Animate_pulse_set_color, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_set_color, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -208,7 +208,7 @@ be_local_closure(Animate_pulse_set_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(color), @@ -227,7 +227,8 @@ be_local_closure(Animate_pulse_set_color, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_pulse_init, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_init, /* name */ be_nested_proto( 6, /* nstack */ 4, /* argc */ @@ -235,7 +236,7 @@ be_local_closure(Animate_pulse_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -290,7 +291,8 @@ be_local_closure(Animate_pulse_init, /* name */ /******************************************************************** ** Solidified function: paint ********************************************************************/ -be_local_closure(Animate_pulse_paint, /* name */ +extern const bclass be_class_Animate_pulse; +be_local_closure(class_Animate_pulse_paint, /* name */ be_nested_proto( 22, /* nstack */ 2, /* argc */ @@ -298,7 +300,7 @@ be_local_closure(Animate_pulse_paint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_pulse, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(back_color), @@ -424,27 +426,20 @@ be_local_class(Animate_pulse, &be_class_Animate_painter, be_nested_map(12, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(paint, -1), be_const_closure(Animate_pulse_paint_closure) }, - { be_const_key_weak(set_slew_size, -1), be_const_closure(Animate_pulse_set_slew_size_closure) }, + { be_const_key_weak(paint, -1), be_const_closure(class_Animate_pulse_paint_closure) }, + { be_const_key_weak(set_slew_size, -1), be_const_closure(class_Animate_pulse_set_slew_size_closure) }, { be_const_key_weak(pulse_size, -1), be_const_var(4) }, - { be_const_key_weak(set_back_color, 8), be_const_closure(Animate_pulse_set_back_color_closure) }, + { be_const_key_weak(set_back_color, 8), be_const_closure(class_Animate_pulse_set_back_color_closure) }, { be_const_key_weak(color, -1), be_const_var(0) }, { be_const_key_weak(back_color, -1), be_const_var(1) }, - { be_const_key_weak(set_pos, -1), be_const_closure(Animate_pulse_set_pos_closure) }, - { be_const_key_weak(set_color, -1), be_const_closure(Animate_pulse_set_color_closure) }, - { be_const_key_weak(init, 7), be_const_closure(Animate_pulse_init_closure) }, + { be_const_key_weak(set_pos, -1), be_const_closure(class_Animate_pulse_set_pos_closure) }, + { be_const_key_weak(set_color, -1), be_const_closure(class_Animate_pulse_set_color_closure) }, + { be_const_key_weak(init, 7), be_const_closure(class_Animate_pulse_init_closure) }, { be_const_key_weak(pos, -1), be_const_var(2) }, { be_const_key_weak(slew_size, 5), be_const_var(3) }, - { be_const_key_weak(set_pulse_size, 0), be_const_closure(Animate_pulse_set_pulse_size_closure) }, + { be_const_key_weak(set_pulse_size, 0), be_const_closure(class_Animate_pulse_set_pulse_size_closure) }, })), be_str_weak(Animate_pulse) ); -/*******************************************************************/ - -void be_load_Animate_pulse_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_pulse); - be_setglobal(vm, "Animate_pulse"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h b/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h index e64059188..e8a6202d1 100644 --- a/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h +++ b/lib/libesp32/berry_animate/src/solidify/solidified_animate_9_module.h @@ -9,7 +9,8 @@ extern const bclass be_class_Animate_animator; /******************************************************************** ** Solidified function: is_running ********************************************************************/ -be_local_closure(Animate_animator_is_running, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_is_running, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Animate_animator_is_running, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(running), @@ -38,7 +39,8 @@ be_local_closure(Animate_animator_is_running, /* name */ /******************************************************************** ** Solidified function: beat ********************************************************************/ -be_local_closure(Animate_animator_beat, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_beat, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -46,7 +48,7 @@ be_local_closure(Animate_animator_beat, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 0, /* has constants */ NULL, /* no const */ be_str_weak(beat), @@ -62,7 +64,8 @@ be_local_closure(Animate_animator_beat, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_animator_init, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -70,7 +73,7 @@ be_local_closure(Animate_animator_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -98,7 +101,8 @@ be_local_closure(Animate_animator_init, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(Animate_animator_stop, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_stop, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -106,7 +110,7 @@ be_local_closure(Animate_animator_stop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(origin), @@ -129,7 +133,8 @@ be_local_closure(Animate_animator_stop, /* name */ /******************************************************************** ** Solidified function: set_duration_ms ********************************************************************/ -be_local_closure(Animate_animator_set_duration_ms, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_set_duration_ms, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -137,7 +142,7 @@ be_local_closure(Animate_animator_set_duration_ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(duration_ms), @@ -156,7 +161,8 @@ be_local_closure(Animate_animator_set_duration_ms, /* name */ /******************************************************************** ** Solidified function: set_cb ********************************************************************/ -be_local_closure(Animate_animator_set_cb, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_set_cb, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -164,7 +170,7 @@ be_local_closure(Animate_animator_set_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(obj), @@ -185,7 +191,8 @@ be_local_closure(Animate_animator_set_cb, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Animate_animator_start, /* name */ +extern const bclass be_class_Animate_animator; +be_local_closure(class_Animate_animator_start, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -193,7 +200,7 @@ be_local_closure(Animate_animator_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_animator, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(duration_ms), @@ -236,34 +243,28 @@ be_local_class(Animate_animator, be_nested_map(12, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(running, 4), be_const_var(0) }, - { be_const_key_weak(is_running, 2), be_const_closure(Animate_animator_is_running_closure) }, - { be_const_key_weak(beat, -1), be_const_closure(Animate_animator_beat_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Animate_animator_init_closure) }, + { be_const_key_weak(is_running, 2), be_const_closure(class_Animate_animator_is_running_closure) }, + { be_const_key_weak(beat, -1), be_const_closure(class_Animate_animator_beat_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_animator_init_closure) }, { be_const_key_weak(mth, -1), be_const_var(4) }, - { be_const_key_weak(stop, -1), be_const_closure(Animate_animator_stop_closure) }, + { be_const_key_weak(stop, -1), be_const_closure(class_Animate_animator_stop_closure) }, { be_const_key_weak(duration_ms, -1), be_const_var(1) }, { be_const_key_weak(origin, -1), be_const_var(2) }, - { be_const_key_weak(set_cb, -1), be_const_closure(Animate_animator_set_cb_closure) }, - { be_const_key_weak(set_duration_ms, 8), be_const_closure(Animate_animator_set_duration_ms_closure) }, + { be_const_key_weak(set_cb, -1), be_const_closure(class_Animate_animator_set_cb_closure) }, + { be_const_key_weak(set_duration_ms, 8), be_const_closure(class_Animate_animator_set_duration_ms_closure) }, { be_const_key_weak(obj, -1), be_const_var(3) }, - { be_const_key_weak(start, -1), be_const_closure(Animate_animator_start_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_Animate_animator_start_closure) }, })), be_str_weak(Animate_animator) ); -/*******************************************************************/ - -void be_load_Animate_animator_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_animator); - be_setglobal(vm, "Animate_animator"); - be_pop(vm, 1); -} extern const bclass be_class_Animate_palette; /******************************************************************** ** Solidified function: ptr_to_palette ********************************************************************/ -be_local_closure(Animate_palette_ptr_to_palette, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_ptr_to_palette, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -271,7 +272,7 @@ be_local_closure(Animate_palette_ptr_to_palette, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Animate_palette), @@ -336,7 +337,8 @@ be_local_closure(Animate_palette_ptr_to_palette, /* name */ /******************************************************************** ** Solidified function: animate ********************************************************************/ -be_local_closure(Animate_palette_animate, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_animate, /* name */ be_nested_proto( 26, /* nstack */ 2, /* argc */ @@ -344,7 +346,7 @@ be_local_closure(Animate_palette_animate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(duration_ms), @@ -574,7 +576,8 @@ be_local_closure(Animate_palette_animate, /* name */ /******************************************************************** ** Solidified function: set_palette ********************************************************************/ -be_local_closure(Animate_palette_set_palette, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_set_palette, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -582,7 +585,7 @@ be_local_closure(Animate_palette_set_palette, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(ptr), @@ -644,7 +647,8 @@ be_local_closure(Animate_palette_set_palette, /* name */ /******************************************************************** ** Solidified function: to_css_gradient ********************************************************************/ -be_local_closure(Animate_palette_to_css_gradient, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_to_css_gradient, /* name */ be_nested_proto( 17, /* nstack */ 1, /* argc */ @@ -652,7 +656,7 @@ be_local_closure(Animate_palette_to_css_gradient, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_const_class(be_class_Animate_palette), @@ -724,7 +728,8 @@ be_local_closure(Animate_palette_to_css_gradient, /* name */ /******************************************************************** ** Solidified function: set_bri ********************************************************************/ -be_local_closure(Animate_palette_set_bri, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_set_bri, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -732,7 +737,7 @@ be_local_closure(Animate_palette_set_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(bri), @@ -754,7 +759,8 @@ be_local_closure(Animate_palette_set_bri, /* name */ /******************************************************************** ** Solidified function: parse_palette ********************************************************************/ -be_local_closure(Animate_palette_parse_palette, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_parse_palette, /* name */ be_nested_proto( 15, /* nstack */ 3, /* argc */ @@ -762,7 +768,7 @@ be_local_closure(Animate_palette_parse_palette, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(slots), @@ -857,7 +863,8 @@ be_local_closure(Animate_palette_parse_palette, /* name */ /******************************************************************** ** Solidified function: set_range ********************************************************************/ -be_local_closure(Animate_palette_set_range, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_set_range, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -865,7 +872,7 @@ be_local_closure(Animate_palette_set_range, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(value_error), @@ -898,7 +905,8 @@ be_local_closure(Animate_palette_set_range, /* name */ /******************************************************************** ** Solidified function: set_value ********************************************************************/ -be_local_closure(Animate_palette_set_value, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_set_value, /* name */ be_nested_proto( 18, /* nstack */ 2, /* argc */ @@ -906,7 +914,7 @@ be_local_closure(Animate_palette_set_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(range_min), @@ -1031,7 +1039,8 @@ be_local_closure(Animate_palette_set_value, /* name */ /******************************************************************** ** Solidified function: set_duration ********************************************************************/ -be_local_closure(Animate_palette_set_duration, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_set_duration, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1039,7 +1048,7 @@ be_local_closure(Animate_palette_set_duration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -1076,7 +1085,8 @@ be_local_closure(Animate_palette_set_duration, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_palette_init, /* name */ +extern const bclass be_class_Animate_palette; +be_local_closure(class_Animate_palette_init, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -1084,7 +1094,7 @@ be_local_closure(Animate_palette_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_palette, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1135,38 +1145,32 @@ be_local_class(Animate_palette, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(color, 13), be_const_var(6) }, { be_const_key_weak(slots, -1), be_const_var(2) }, - { be_const_key_weak(animate, 11), be_const_closure(Animate_palette_animate_closure) }, + { be_const_key_weak(animate, 11), be_const_closure(class_Animate_palette_animate_closure) }, { be_const_key_weak(range_max, 10), be_const_var(4) }, - { be_const_key_weak(set_palette, -1), be_const_closure(Animate_palette_set_palette_closure) }, - { be_const_key_weak(set_bri, -1), be_const_closure(Animate_palette_set_bri_closure) }, + { be_const_key_weak(set_palette, -1), be_const_closure(class_Animate_palette_set_palette_closure) }, + { be_const_key_weak(set_bri, -1), be_const_closure(class_Animate_palette_set_bri_closure) }, { be_const_key_weak(bri, -1), be_const_var(5) }, - { be_const_key_weak(to_css_gradient, 12), be_const_static_closure(Animate_palette_to_css_gradient_closure) }, + { be_const_key_weak(to_css_gradient, 12), be_const_static_closure(class_Animate_palette_to_css_gradient_closure) }, { be_const_key_weak(slots_arr, 1), be_const_var(1) }, { be_const_key_weak(range_min, 5), be_const_var(3) }, - { be_const_key_weak(set_value, -1), be_const_closure(Animate_palette_set_value_closure) }, - { be_const_key_weak(set_range, -1), be_const_closure(Animate_palette_set_range_closure) }, - { be_const_key_weak(parse_palette, -1), be_const_closure(Animate_palette_parse_palette_closure) }, + { be_const_key_weak(set_value, -1), be_const_closure(class_Animate_palette_set_value_closure) }, + { be_const_key_weak(set_range, -1), be_const_closure(class_Animate_palette_set_range_closure) }, + { be_const_key_weak(parse_palette, -1), be_const_closure(class_Animate_palette_parse_palette_closure) }, { be_const_key_weak(palette, -1), be_const_var(0) }, - { be_const_key_weak(set_duration, -1), be_const_closure(Animate_palette_set_duration_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Animate_palette_init_closure) }, - { be_const_key_weak(ptr_to_palette, 0), be_const_static_closure(Animate_palette_ptr_to_palette_closure) }, + { be_const_key_weak(set_duration, -1), be_const_closure(class_Animate_palette_set_duration_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Animate_palette_init_closure) }, + { be_const_key_weak(ptr_to_palette, 0), be_const_static_closure(class_Animate_palette_ptr_to_palette_closure) }, })), be_str_weak(Animate_palette) ); -/*******************************************************************/ - -void be_load_Animate_palette_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_palette); - be_setglobal(vm, "Animate_palette"); - be_pop(vm, 1); -} extern const bclass be_class_Animate_oscillator; /******************************************************************** ** Solidified function: set_duty_cycle ********************************************************************/ -be_local_closure(Animate_oscillator_set_duty_cycle, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_set_duty_cycle, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -1174,7 +1178,7 @@ be_local_closure(Animate_oscillator_set_duty_cycle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(0), @@ -1201,7 +1205,8 @@ be_local_closure(Animate_oscillator_set_duty_cycle, /* name */ /******************************************************************** ** Solidified function: set_a ********************************************************************/ -be_local_closure(Animate_oscillator_set_a, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_set_a, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1209,7 +1214,7 @@ be_local_closure(Animate_oscillator_set_a, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(a), @@ -1228,7 +1233,8 @@ be_local_closure(Animate_oscillator_set_a, /* name */ /******************************************************************** ** Solidified function: set_b ********************************************************************/ -be_local_closure(Animate_oscillator_set_b, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_set_b, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1236,7 +1242,7 @@ be_local_closure(Animate_oscillator_set_b, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(b), @@ -1255,7 +1261,8 @@ be_local_closure(Animate_oscillator_set_b, /* name */ /******************************************************************** ** Solidified function: set_form ********************************************************************/ -be_local_closure(Animate_oscillator_set_form, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_set_form, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -1263,7 +1270,7 @@ be_local_closure(Animate_oscillator_set_form, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(1), @@ -1287,7 +1294,8 @@ be_local_closure(Animate_oscillator_set_form, /* name */ /******************************************************************** ** Solidified function: set_phase ********************************************************************/ -be_local_closure(Animate_oscillator_set_phase, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_set_phase, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -1295,7 +1303,7 @@ be_local_closure(Animate_oscillator_set_phase, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(0), @@ -1322,7 +1330,8 @@ be_local_closure(Animate_oscillator_set_phase, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Animate_oscillator_init, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_init, /* name */ be_nested_proto( 7, /* nstack */ 5, /* argc */ @@ -1330,7 +1339,7 @@ be_local_closure(Animate_oscillator_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1374,7 +1383,8 @@ be_local_closure(Animate_oscillator_init, /* name */ /******************************************************************** ** Solidified function: animate ********************************************************************/ -be_local_closure(Animate_oscillator_animate, /* name */ +extern const bclass be_class_Animate_oscillator; +be_local_closure(class_Animate_oscillator_animate, /* name */ be_nested_proto( 18, /* nstack */ 2, /* argc */ @@ -1382,7 +1392,7 @@ be_local_closure(Animate_oscillator_animate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Animate_oscillator, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(duration_ms), @@ -1565,28 +1575,21 @@ be_local_class(Animate_oscillator, &be_class_Animate_animator, be_nested_map(13, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(animate, -1), be_const_closure(Animate_oscillator_animate_closure) }, + { be_const_key_weak(animate, -1), be_const_closure(class_Animate_oscillator_animate_closure) }, { be_const_key_weak(a, -1), be_const_var(2) }, - { be_const_key_weak(init, 11), be_const_closure(Animate_oscillator_init_closure) }, + { be_const_key_weak(init, 11), be_const_closure(class_Animate_oscillator_init_closure) }, { be_const_key_weak(duty_cycle, 10), be_const_var(1) }, { be_const_key_weak(b, -1), be_const_var(3) }, { be_const_key_weak(value, -1), be_const_var(5) }, - { be_const_key_weak(set_duty_cycle, 2), be_const_closure(Animate_oscillator_set_duty_cycle_closure) }, - { be_const_key_weak(set_a, -1), be_const_closure(Animate_oscillator_set_a_closure) }, - { be_const_key_weak(set_b, -1), be_const_closure(Animate_oscillator_set_b_closure) }, - { be_const_key_weak(set_form, -1), be_const_closure(Animate_oscillator_set_form_closure) }, + { be_const_key_weak(set_duty_cycle, 2), be_const_closure(class_Animate_oscillator_set_duty_cycle_closure) }, + { be_const_key_weak(set_a, -1), be_const_closure(class_Animate_oscillator_set_a_closure) }, + { be_const_key_weak(set_b, -1), be_const_closure(class_Animate_oscillator_set_b_closure) }, + { be_const_key_weak(set_form, -1), be_const_closure(class_Animate_oscillator_set_form_closure) }, { be_const_key_weak(phase, -1), be_const_var(0) }, { be_const_key_weak(form, -1), be_const_var(4) }, - { be_const_key_weak(set_phase, 0), be_const_closure(Animate_oscillator_set_phase_closure) }, + { be_const_key_weak(set_phase, 0), be_const_closure(class_Animate_oscillator_set_phase_closure) }, })), be_str_weak(Animate_oscillator) ); -/*******************************************************************/ - -void be_load_Animate_oscillator_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Animate_oscillator); - be_setglobal(vm, "Animate_oscillator"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_animate/src/solidify/solidified_leds_frame_be_methods.h b/lib/libesp32/berry_animate/src/solidify/solidified_leds_frame_be_methods.h index 7a565f9f2..92452cd4c 100644 --- a/lib/libesp32/berry_animate/src/solidify/solidified_leds_frame_be_methods.h +++ b/lib/libesp32/berry_animate/src/solidify/solidified_leds_frame_be_methods.h @@ -9,7 +9,8 @@ extern const bclass be_class_Leds_frame_be; /******************************************************************** ** Solidified function: setitem ********************************************************************/ -be_local_closure(Leds_frame_be_setitem, /* name */ +extern const bclass be_class_Leds_frame_be; +be_local_closure(class_Leds_frame_be_setitem, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Leds_frame_be_setitem, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_frame_be, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(set), @@ -41,7 +42,8 @@ be_local_closure(Leds_frame_be_setitem, /* name */ /******************************************************************** ** Solidified function: set_pixel ********************************************************************/ -be_local_closure(Leds_frame_be_set_pixel, /* name */ +extern const bclass be_class_Leds_frame_be; +be_local_closure(class_Leds_frame_be_set_pixel, /* name */ be_nested_proto( 11, /* nstack */ 6, /* argc */ @@ -49,7 +51,7 @@ be_local_closure(Leds_frame_be_set_pixel, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_frame_be, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(0), @@ -93,7 +95,8 @@ be_local_closure(Leds_frame_be_set_pixel, /* name */ /******************************************************************** ** Solidified function: item ********************************************************************/ -be_local_closure(Leds_frame_be_item, /* name */ +extern const bclass be_class_Leds_frame_be; +be_local_closure(class_Leds_frame_be_item, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -101,7 +104,7 @@ be_local_closure(Leds_frame_be_item, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_frame_be, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(get), @@ -124,7 +127,8 @@ be_local_closure(Leds_frame_be_item, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Leds_frame_be_init, /* name */ +extern const bclass be_class_Leds_frame_be; +be_local_closure(class_Leds_frame_be_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -132,7 +136,7 @@ be_local_closure(Leds_frame_be_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_frame_be, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(0), @@ -168,19 +172,12 @@ be_local_class(Leds_frame_be, NULL, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(setitem, 1), be_const_closure(Leds_frame_be_setitem_closure) }, - { be_const_key(set_pixel, -1), be_const_closure(Leds_frame_be_set_pixel_closure) }, - { be_const_key(item, -1), be_const_closure(Leds_frame_be_item_closure) }, - { be_const_key(init, -1), be_const_closure(Leds_frame_be_init_closure) }, + { be_const_key(setitem, 1), be_const_closure(class_Leds_frame_be_setitem_closure) }, + { be_const_key(set_pixel, -1), be_const_closure(class_Leds_frame_be_set_pixel_closure) }, + { be_const_key(item, -1), be_const_closure(class_Leds_frame_be_item_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_frame_be_init_closure) }, })), (bstring*) &be_const_str_Leds_frame_be ); -/*******************************************************************/ - -void be_load_Leds_frame_be_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Leds_frame_be); - be_setglobal(vm, "Leds_frame_be"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_custom/solidify_all.be b/lib/libesp32/berry_custom/solidify_all.be index cf19458aa..96862ab6a 100755 --- a/lib/libesp32/berry_custom/solidify_all.be +++ b/lib/libesp32/berry_custom/solidify_all.be @@ -80,6 +80,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32/berry_matter/solidify_all.be b/lib/libesp32/berry_matter/solidify_all.be index dd27dbfc1..026d07cfc 100755 --- a/lib/libesp32/berry_matter/solidify_all.be +++ b/lib/libesp32/berry_matter/solidify_all.be @@ -79,6 +79,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index 6636af2ac..3d7233f48 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -310,8 +310,8 @@ module matter (scope: global, strings: weak) { Verhoeff, class(be_class_Matter_Verhoeff) Counter, class(be_class_Matter_Counter) - setmember, closure(matter_setmember_closure) - member, closure(matter_member_closure) + setmember, closure(module_matter_setmember_closure) + member, closure(module_matter_member_closure) get_ip_bytes, ctype_func(matter_get_ip_bytes) publish_command, func(matter_publish_command) @@ -323,11 +323,11 @@ module matter (scope: global, strings: weak) { get_command_name, ctype_func(matter_get_command_name) get_opcode_name, ctype_func(matter_get_opcode_name) TLV, class(be_class_Matter_TLV) - sort, closure(matter_sort_closure) - jitter, closure(matter_jitter_closure) - inspect, closure(matter_inspect_closure) - consolidate_clusters, closure(matter_consolidate_clusters_closure) - UC_LIST, closure(matter_UC_LIST_closure) + sort, closure(module_matter_sort_closure) + jitter, closure(module_matter_jitter_closure) + inspect, closure(module_matter_inspect_closure) + consolidate_clusters, closure(module_matter_consolidate_clusters_closure) + UC_LIST, closure(module_matter_UC_LIST_closure) Profiler, class(be_class_Matter_Profiler) // Status codes diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Session_Store.be b/lib/libesp32/berry_matter/src/embedded/Matter_Session_Store.be index 7e531d36a..fb60595cb 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Session_Store.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Session_Store.be @@ -21,9 +21,6 @@ import matter #@ solidify:Matter_Session_Store,weak -# for compilation -class Matter_Expirable end - ################################################################################# ################################################################################# ################################################################################# diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h index 58bf18064..f21bb505c 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: sort ********************************************************************/ -be_local_closure(matter_sort, /* name */ +be_local_closure(module_matter_sort, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(matter_sort, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(1), @@ -63,7 +63,7 @@ be_local_closure(matter_sort, /* name */ /******************************************************************** ** Solidified function: jitter ********************************************************************/ -be_local_closure(matter_jitter, /* name */ +be_local_closure(module_matter_jitter, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -71,7 +71,7 @@ be_local_closure(matter_jitter, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -108,7 +108,7 @@ be_local_closure(matter_jitter, /* name */ /******************************************************************** ** Solidified function: inspect ********************************************************************/ -be_local_closure(matter_inspect, /* name */ +be_local_closure(module_matter_inspect, /* name */ be_nested_proto( 14, /* nstack */ 1, /* argc */ @@ -116,7 +116,7 @@ be_local_closure(matter_inspect, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -231,7 +231,7 @@ be_local_closure(matter_inspect, /* name */ /******************************************************************** ** Solidified function: consolidate_clusters ********************************************************************/ -be_local_closure(matter_consolidate_clusters, /* name */ +be_local_closure(module_matter_consolidate_clusters, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -239,7 +239,7 @@ be_local_closure(matter_consolidate_clusters, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(CLUSTERS), @@ -361,7 +361,7 @@ be_local_closure(matter_consolidate_clusters, /* name */ /******************************************************************** ** Solidified function: UC_LIST ********************************************************************/ -be_local_closure(matter_UC_LIST, /* name */ +be_local_closure(module_matter_UC_LIST, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -369,7 +369,7 @@ be_local_closure(matter_UC_LIST, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(UPDATE_COMMANDS), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Base38.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Base38.h index 7ef45645a..7fa23af42 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Base38.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Base38.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Base38; /******************************************************************** ** Solidified function: encode ********************************************************************/ -be_local_closure(Matter_Base38_encode, /* name */ +extern const bclass be_class_Matter_Base38; +be_local_closure(class_Matter_Base38_encode, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Base38_encode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -25,7 +26,7 @@ be_local_closure(Matter_Base38_encode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_X2D_X2E), @@ -52,6 +53,7 @@ be_local_closure(Matter_Base38_encode, /* name */ 0x80040800, // 000D RET 1 R4 }) ), + &be_class_Matter_Base38, }), 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ @@ -137,16 +139,9 @@ be_local_class(Matter_Base38, NULL, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(encode, -1), be_const_static_closure(Matter_Base38_encode_closure) }, + { be_const_key_weak(encode, -1), be_const_static_closure(class_Matter_Base38_encode_closure) }, })), be_str_weak(Matter_Base38) ); -/*******************************************************************/ - -void be_load_Matter_Base38_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Base38); - be_setglobal(vm, "Matter_Base38"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h index d4d7f5a9e..7223b049f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Commisioning_Context; /******************************************************************** ** Solidified function: parse_StatusReport ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_StatusReport, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_StatusReport, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Commisioning_Context_parse_StatusReport, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -56,7 +57,8 @@ be_local_closure(Matter_Commisioning_Context_parse_StatusReport, /* name */ /******************************************************************** ** Solidified function: find_fabric_by_destination_id ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_find_fabric_by_destination_id, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_find_fabric_by_destination_id, /* name */ be_nested_proto( 14, /* nstack */ 3, /* argc */ @@ -64,7 +66,7 @@ be_local_closure(Matter_Commisioning_Context_find_fabric_by_destination_id, /* 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -172,7 +174,8 @@ be_local_closure(Matter_Commisioning_Context_find_fabric_by_destination_id, /* /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_every_second, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_every_second, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -180,7 +183,7 @@ be_local_closure(Matter_Commisioning_Context_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 0, /* has constants */ NULL, /* no const */ be_str_weak(every_second), @@ -196,7 +199,8 @@ be_local_closure(Matter_Commisioning_Context_every_second, /* name */ /******************************************************************** ** Solidified function: add_session ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_add_session, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_add_session, /* name */ be_nested_proto( 12, /* nstack */ 6, /* argc */ @@ -204,7 +208,7 @@ be_local_closure(Matter_Commisioning_Context_add_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -248,7 +252,8 @@ be_local_closure(Matter_Commisioning_Context_add_session, /* name */ /******************************************************************** ** Solidified function: parse_PBKDFParamRequest ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -256,7 +261,7 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[48]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -438,7 +443,8 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name /******************************************************************** ** Solidified function: send_status_report ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_send_status_report, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_send_status_report, /* name */ be_nested_proto( 12, /* nstack */ 6, /* argc */ @@ -446,7 +452,7 @@ be_local_closure(Matter_Commisioning_Context_send_status_report, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(build_response), @@ -494,7 +500,8 @@ be_local_closure(Matter_Commisioning_Context_send_status_report, /* name */ /******************************************************************** ** Solidified function: parse_Pake1 ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_Pake1, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_Pake1, /* name */ be_nested_proto( 21, /* nstack */ 2, /* argc */ @@ -502,7 +509,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Pake1, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[52]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -685,7 +692,8 @@ be_local_closure(Matter_Commisioning_Context_parse_Pake1, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_init, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_init, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -693,7 +701,7 @@ be_local_closure(Matter_Commisioning_Context_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -717,7 +725,8 @@ be_local_closure(Matter_Commisioning_Context_init, /* name */ /******************************************************************** ** Solidified function: parse_Pake3 ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_Pake3, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_Pake3, /* name */ be_nested_proto( 19, /* nstack */ 2, /* argc */ @@ -725,7 +734,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Pake3, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[31]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -877,7 +886,8 @@ be_local_closure(Matter_Commisioning_Context_parse_Pake3, /* name */ /******************************************************************** ** Solidified function: parse_Sigma3 ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_Sigma3, /* name */ be_nested_proto( 36, /* nstack */ 2, /* argc */ @@ -885,7 +895,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[66]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1253,7 +1263,8 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */ /******************************************************************** ** Solidified function: process_incoming ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_process_incoming, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_process_incoming, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1261,7 +1272,7 @@ be_local_closure(Matter_Commisioning_Context_process_incoming, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -1381,7 +1392,8 @@ be_local_closure(Matter_Commisioning_Context_process_incoming, /* name */ /******************************************************************** ** Solidified function: parse_Sigma1 ********************************************************************/ -be_local_closure(Matter_Commisioning_Context_parse_Sigma1, /* name */ +extern const bclass be_class_Matter_Commisioning_Context; +be_local_closure(class_Matter_Commisioning_Context_parse_Sigma1, /* name */ be_nested_proto( 36, /* nstack */ 2, /* argc */ @@ -1389,7 +1401,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma1, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Commisioning_Context, 1, /* has constants */ ( &(const bvalue[103]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1994,35 +2006,28 @@ be_local_class(Matter_Commisioning_Context, NULL, be_nested_map(20, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(every_second, -1), be_const_closure(Matter_Commisioning_Context_every_second_closure) }, - { be_const_key_weak(parse_StatusReport, -1), be_const_closure(Matter_Commisioning_Context_parse_StatusReport_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Commisioning_Context_every_second_closure) }, + { be_const_key_weak(parse_StatusReport, -1), be_const_closure(class_Matter_Commisioning_Context_parse_StatusReport_closure) }, { be_const_key_weak(S2K_Info, -1), be_nested_str_weak(Sigma2) }, - { be_const_key_weak(find_fabric_by_destination_id, -1), be_const_closure(Matter_Commisioning_Context_find_fabric_by_destination_id_closure) }, - { be_const_key_weak(process_incoming, 18), be_const_closure(Matter_Commisioning_Context_process_incoming_closure) }, + { be_const_key_weak(find_fabric_by_destination_id, -1), be_const_closure(class_Matter_Commisioning_Context_find_fabric_by_destination_id_closure) }, + { be_const_key_weak(process_incoming, 18), be_const_closure(class_Matter_Commisioning_Context_process_incoming_closure) }, { be_const_key_weak(Matter_Context_Prefix, 0), be_nested_str_weak(CHIP_X20PAKE_X20V1_X20Commissioning) }, { be_const_key_weak(SEKeys_Info, -1), be_nested_str_weak(SessionKeys) }, { be_const_key_weak(TBEData3_Nonce, 4), be_nested_str_weak(NCASE_Sigma3N) }, - { be_const_key_weak(parse_PBKDFParamRequest, -1), be_const_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest_closure) }, - { be_const_key_weak(send_status_report, -1), be_const_closure(Matter_Commisioning_Context_send_status_report_closure) }, - { be_const_key_weak(parse_Sigma3, -1), be_const_closure(Matter_Commisioning_Context_parse_Sigma3_closure) }, + { be_const_key_weak(parse_PBKDFParamRequest, -1), be_const_closure(class_Matter_Commisioning_Context_parse_PBKDFParamRequest_closure) }, + { be_const_key_weak(send_status_report, -1), be_const_closure(class_Matter_Commisioning_Context_send_status_report_closure) }, + { be_const_key_weak(parse_Sigma3, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Sigma3_closure) }, { be_const_key_weak(device, -1), be_const_var(1) }, { be_const_key_weak(TBEData2_Nonce, -1), be_nested_str_weak(NCASE_Sigma2N) }, { be_const_key_weak(responder, 16), be_const_var(0) }, - { be_const_key_weak(parse_Pake3, -1), be_const_closure(Matter_Commisioning_Context_parse_Pake3_closure) }, - { be_const_key_weak(init, 14), be_const_closure(Matter_Commisioning_Context_init_closure) }, - { be_const_key_weak(parse_Pake1, -1), be_const_closure(Matter_Commisioning_Context_parse_Pake1_closure) }, + { be_const_key_weak(parse_Pake3, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Pake3_closure) }, + { be_const_key_weak(init, 14), be_const_closure(class_Matter_Commisioning_Context_init_closure) }, + { be_const_key_weak(parse_Pake1, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Pake1_closure) }, { be_const_key_weak(S3K_Info, 10), be_nested_str_weak(Sigma3) }, - { be_const_key_weak(add_session, -1), be_const_closure(Matter_Commisioning_Context_add_session_closure) }, - { be_const_key_weak(parse_Sigma1, -1), be_const_closure(Matter_Commisioning_Context_parse_Sigma1_closure) }, + { be_const_key_weak(add_session, -1), be_const_closure(class_Matter_Commisioning_Context_add_session_closure) }, + { be_const_key_weak(parse_Sigma1, -1), be_const_closure(class_Matter_Commisioning_Context_parse_Sigma1_closure) }, })), be_str_weak(Matter_Commisioning_Context) ); -/*******************************************************************/ - -void be_load_Matter_Commisioning_Context_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Commisioning_Context); - be_setglobal(vm, "Matter_Commisioning_Context"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Data.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Data.h index 934c44206..89b84b3fa 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Data.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Commissioning_Data.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_PBKDFParamRequest; /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_PBKDFParamRequest_parse, /* name */ +extern const bclass be_class_Matter_PBKDFParamRequest; +be_local_closure(class_Matter_PBKDFParamRequest_parse, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_PBKDFParamRequest_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PBKDFParamRequest, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_const_int(0), @@ -98,27 +99,21 @@ be_local_class(Matter_PBKDFParamRequest, { be_const_key_weak(initiatorRandom, 6), be_const_var(0) }, { be_const_key_weak(passcodeId, -1), be_const_var(2) }, { be_const_key_weak(hasPBKDFParameters, -1), be_const_var(3) }, - { be_const_key_weak(parse, -1), be_const_closure(Matter_PBKDFParamRequest_parse_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_PBKDFParamRequest_parse_closure) }, { be_const_key_weak(initiator_session_id, 0), be_const_var(1) }, { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 3), be_const_var(4) }, { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) }, })), be_str_weak(Matter_PBKDFParamRequest) ); -/*******************************************************************/ - -void be_load_Matter_PBKDFParamRequest_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_PBKDFParamRequest); - be_setglobal(vm, "Matter_PBKDFParamRequest"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_PBKDFParamResponse; /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_PBKDFParamResponse_tlv2raw, /* name */ +extern const bclass be_class_Matter_PBKDFParamResponse; +be_local_closure(class_Matter_PBKDFParamResponse_tlv2raw, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -126,7 +121,7 @@ be_local_closure(Matter_PBKDFParamResponse_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PBKDFParamResponse, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -244,24 +239,18 @@ be_local_class(Matter_PBKDFParamResponse, { be_const_key_weak(pbkdf_parameters_iterations, -1), be_const_var(3) }, { be_const_key_weak(initiatorRandom, 7), be_const_var(0) }, { be_const_key_weak(responderRandom, 3), be_const_var(1) }, - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_PBKDFParamResponse_tlv2raw_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_PBKDFParamResponse_tlv2raw_closure) }, })), be_str_weak(Matter_PBKDFParamResponse) ); -/*******************************************************************/ - -void be_load_Matter_PBKDFParamResponse_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_PBKDFParamResponse); - be_setglobal(vm, "Matter_PBKDFParamResponse"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Pake1; /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_Pake1_parse, /* name */ +extern const bclass be_class_Matter_Pake1; +be_local_closure(class_Matter_Pake1_parse, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -269,7 +258,7 @@ be_local_closure(Matter_Pake1_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Pake1, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -313,24 +302,18 @@ be_local_class(Matter_Pake1, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(pA, 1), be_const_var(0) }, - { be_const_key_weak(parse, -1), be_const_closure(Matter_Pake1_parse_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake1_parse_closure) }, })), be_str_weak(Matter_Pake1) ); -/*******************************************************************/ - -void be_load_Matter_Pake1_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Pake1); - be_setglobal(vm, "Matter_Pake1"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Pake2; /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_Pake2_tlv2raw, /* name */ +extern const bclass be_class_Matter_Pake2; +be_local_closure(class_Matter_Pake2_tlv2raw, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -338,7 +321,7 @@ be_local_closure(Matter_Pake2_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Pake2, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -391,26 +374,20 @@ be_local_class(Matter_Pake2, NULL, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_Pake2_tlv2raw_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Pake2_tlv2raw_closure) }, { be_const_key_weak(cB, -1), be_const_var(1) }, { be_const_key_weak(pB, 0), be_const_var(0) }, })), be_str_weak(Matter_Pake2) ); -/*******************************************************************/ - -void be_load_Matter_Pake2_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Pake2); - be_setglobal(vm, "Matter_Pake2"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Pake3; /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_Pake3_parse, /* name */ +extern const bclass be_class_Matter_Pake3; +be_local_closure(class_Matter_Pake3_parse, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -418,7 +395,7 @@ be_local_closure(Matter_Pake3_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Pake3, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -461,25 +438,19 @@ be_local_class(Matter_Pake3, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(parse, -1), be_const_closure(Matter_Pake3_parse_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Pake3_parse_closure) }, { be_const_key_weak(cA, -1), be_const_var(0) }, })), be_str_weak(Matter_Pake3) ); -/*******************************************************************/ - -void be_load_Matter_Pake3_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Pake3); - be_setglobal(vm, "Matter_Pake3"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Sigma1; /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_Sigma1_parse, /* name */ +extern const bclass be_class_Matter_Sigma1; +be_local_closure(class_Matter_Sigma1_parse, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -487,7 +458,7 @@ be_local_closure(Matter_Sigma1_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Sigma1, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_const_int(0), @@ -582,7 +553,7 @@ be_local_class(Matter_Sigma1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(5) }, { be_const_key_weak(Msg1, -1), be_const_var(8) }, - { be_const_key_weak(parse, 6), be_const_closure(Matter_Sigma1_parse_closure) }, + { be_const_key_weak(parse, 6), be_const_closure(class_Matter_Sigma1_parse_closure) }, { be_const_key_weak(initiatorRandom, -1), be_const_var(0) }, { be_const_key_weak(SLEEPY_IDLE_INTERVAL, 7), be_const_var(4) }, { be_const_key_weak(initiatorEphPubKey, -1), be_const_var(3) }, @@ -593,20 +564,14 @@ be_local_class(Matter_Sigma1, })), be_str_weak(Matter_Sigma1) ); -/*******************************************************************/ - -void be_load_Matter_Sigma1_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Sigma1); - be_setglobal(vm, "Matter_Sigma1"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Sigma2; /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_Sigma2_tlv2raw, /* name */ +extern const bclass be_class_Matter_Sigma2; +be_local_closure(class_Matter_Sigma2_tlv2raw, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -614,7 +579,7 @@ be_local_closure(Matter_Sigma2_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Sigma2, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -714,7 +679,7 @@ be_local_class(Matter_Sigma2, NULL, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_Sigma2_tlv2raw_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2_tlv2raw_closure) }, { be_const_key_weak(responderEphPubKey, 3), be_const_var(2) }, { be_const_key_weak(responderSessionId, -1), be_const_var(1) }, { be_const_key_weak(SLEEPY_IDLE_INTERVAL, -1), be_const_var(4) }, @@ -724,20 +689,14 @@ be_local_class(Matter_Sigma2, })), be_str_weak(Matter_Sigma2) ); -/*******************************************************************/ - -void be_load_Matter_Sigma2_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Sigma2); - be_setglobal(vm, "Matter_Sigma2"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Sigma2Resume; /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_Sigma2Resume_tlv2raw, /* name */ +extern const bclass be_class_Matter_Sigma2Resume; +be_local_closure(class_Matter_Sigma2Resume_tlv2raw, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -745,7 +704,7 @@ be_local_closure(Matter_Sigma2Resume_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Sigma2Resume, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -842,24 +801,18 @@ be_local_class(Matter_Sigma2Resume, { be_const_key_weak(sigma2ResumeMIC, -1), be_const_var(1) }, { be_const_key_weak(responderSessionID, 1), be_const_var(2) }, { be_const_key_weak(SLEEPY_ACTIVE_INTERVAL, -1), be_const_var(4) }, - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_Sigma2Resume_tlv2raw_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_Sigma2Resume_tlv2raw_closure) }, })), be_str_weak(Matter_Sigma2Resume) ); -/*******************************************************************/ - -void be_load_Matter_Sigma2Resume_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Sigma2Resume); - be_setglobal(vm, "Matter_Sigma2Resume"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Sigma3; /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_Sigma3_parse, /* name */ +extern const bclass be_class_Matter_Sigma3; +be_local_closure(class_Matter_Sigma3_parse, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -867,7 +820,7 @@ be_local_closure(Matter_Sigma3_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Sigma3, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_const_int(0), @@ -916,17 +869,10 @@ be_local_class(Matter_Sigma3, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(TBEData3Encrypted, 2), be_const_var(0) }, - { be_const_key_weak(parse, -1), be_const_closure(Matter_Sigma3_parse_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_Sigma3_parse_closure) }, { be_const_key_weak(Msg3, -1), be_const_var(1) }, })), be_str_weak(Matter_Sigma3) ); -/*******************************************************************/ - -void be_load_Matter_Sigma3_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Sigma3); - be_setglobal(vm, "Matter_Sigma3"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Control_Message.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Control_Message.h index a60ffd973..385ab8d33 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Control_Message.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Control_Message.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Control_Message; /******************************************************************** ** Solidified function: parse_MsgCounterSyncRsp ********************************************************************/ -be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */ +extern const bclass be_class_Matter_Control_Message; +be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Control_Message, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -58,7 +59,8 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */ /******************************************************************** ** Solidified function: parse_MsgCounterSyncReq ********************************************************************/ -be_local_closure(Matter_Control_Message_parse_MsgCounterSyncReq, /* name */ +extern const bclass be_class_Matter_Control_Message; +be_local_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -66,7 +68,7 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncReq, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Control_Message, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -107,7 +109,8 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncReq, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Control_Message_init, /* name */ +extern const bclass be_class_Matter_Control_Message; +be_local_closure(class_Matter_Control_Message_init, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -115,7 +118,7 @@ be_local_closure(Matter_Control_Message_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Control_Message, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -139,7 +142,8 @@ be_local_closure(Matter_Control_Message_init, /* name */ /******************************************************************** ** Solidified function: process_incoming_control_message ********************************************************************/ -be_local_closure(Matter_Control_Message_process_incoming_control_message, /* name */ +extern const bclass be_class_Matter_Control_Message; +be_local_closure(class_Matter_Control_Message_process_incoming_control_message, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -147,7 +151,7 @@ be_local_closure(Matter_Control_Message_process_incoming_control_message, /* n 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Control_Message, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -218,21 +222,14 @@ be_local_class(Matter_Control_Message, NULL, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(parse_MsgCounterSyncRsp, -1), be_const_closure(Matter_Control_Message_parse_MsgCounterSyncRsp_closure) }, + { be_const_key_weak(parse_MsgCounterSyncRsp, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncRsp_closure) }, { be_const_key_weak(responder, 2), be_const_var(0) }, - { be_const_key_weak(parse_MsgCounterSyncReq, -1), be_const_closure(Matter_Control_Message_parse_MsgCounterSyncReq_closure) }, - { be_const_key_weak(init, 4), be_const_closure(Matter_Control_Message_init_closure) }, + { be_const_key_weak(parse_MsgCounterSyncReq, -1), be_const_closure(class_Matter_Control_Message_parse_MsgCounterSyncReq_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_Matter_Control_Message_init_closure) }, { be_const_key_weak(device, -1), be_const_var(1) }, - { be_const_key_weak(process_incoming_control_message, -1), be_const_closure(Matter_Control_Message_process_incoming_control_message_closure) }, + { be_const_key_weak(process_incoming_control_message, -1), be_const_closure(class_Matter_Control_Message_process_incoming_control_message_closure) }, })), be_str_weak(Matter_Control_Message) ); -/*******************************************************************/ - -void be_load_Matter_Control_Message_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Control_Message); - be_setglobal(vm, "Matter_Control_Message"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Expirable.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Expirable.h index 8fa5663aa..7cb753b4b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Expirable.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Expirable.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Expirable; /******************************************************************** ** Solidified function: before_remove ********************************************************************/ -be_local_closure(Matter_Expirable_before_remove, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_before_remove, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Expirable_before_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 0, /* has constants */ NULL, /* no const */ be_str_weak(before_remove), @@ -33,7 +34,8 @@ be_local_closure(Matter_Expirable_before_remove, /* name */ /******************************************************************** ** Solidified function: set_no_expiration ********************************************************************/ -be_local_closure(Matter_Expirable_set_no_expiration, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_set_no_expiration, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -41,7 +43,7 @@ be_local_closure(Matter_Expirable_set_no_expiration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_expiration), @@ -61,7 +63,8 @@ be_local_closure(Matter_Expirable_set_no_expiration, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Expirable_init, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_init, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -69,7 +72,7 @@ be_local_closure(Matter_Expirable_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_persist), @@ -89,7 +92,8 @@ be_local_closure(Matter_Expirable_init, /* name */ /******************************************************************** ** Solidified function: set_expire_time ********************************************************************/ -be_local_closure(Matter_Expirable_set_expire_time, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_set_expire_time, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -97,7 +101,7 @@ be_local_closure(Matter_Expirable_set_expire_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_expiration), @@ -119,7 +123,8 @@ be_local_closure(Matter_Expirable_set_expire_time, /* name */ /******************************************************************** ** Solidified function: has_expired ********************************************************************/ -be_local_closure(Matter_Expirable_has_expired, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_has_expired, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -127,7 +132,7 @@ be_local_closure(Matter_Expirable_has_expired, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -162,7 +167,8 @@ be_local_closure(Matter_Expirable_has_expired, /* name */ /******************************************************************** ** Solidified function: set_parent_list ********************************************************************/ -be_local_closure(Matter_Expirable_set_parent_list, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_set_parent_list, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -170,7 +176,7 @@ be_local_closure(Matter_Expirable_set_parent_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_list), @@ -189,7 +195,8 @@ be_local_closure(Matter_Expirable_set_parent_list, /* name */ /******************************************************************** ** Solidified function: hydrate_post ********************************************************************/ -be_local_closure(Matter_Expirable_hydrate_post, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_hydrate_post, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -197,7 +204,7 @@ be_local_closure(Matter_Expirable_hydrate_post, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 0, /* has constants */ NULL, /* no const */ be_str_weak(hydrate_post), @@ -213,7 +220,8 @@ be_local_closure(Matter_Expirable_hydrate_post, /* name */ /******************************************************************** ** Solidified function: set_expire_in_seconds ********************************************************************/ -be_local_closure(Matter_Expirable_set_expire_in_seconds, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_set_expire_in_seconds, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -221,7 +229,7 @@ be_local_closure(Matter_Expirable_set_expire_in_seconds, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -255,7 +263,8 @@ be_local_closure(Matter_Expirable_set_expire_in_seconds, /* name */ /******************************************************************** ** Solidified function: get_parent_list ********************************************************************/ -be_local_closure(Matter_Expirable_get_parent_list, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_get_parent_list, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -263,7 +272,7 @@ be_local_closure(Matter_Expirable_get_parent_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_list), @@ -282,7 +291,8 @@ be_local_closure(Matter_Expirable_get_parent_list, /* name */ /******************************************************************** ** Solidified function: does_persist ********************************************************************/ -be_local_closure(Matter_Expirable_does_persist, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_does_persist, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -290,7 +300,7 @@ be_local_closure(Matter_Expirable_does_persist, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_persist), @@ -309,7 +319,8 @@ be_local_closure(Matter_Expirable_does_persist, /* name */ /******************************************************************** ** Solidified function: set_persist ********************************************************************/ -be_local_closure(Matter_Expirable_set_persist, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_set_persist, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -317,7 +328,7 @@ be_local_closure(Matter_Expirable_set_persist, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_persist), @@ -339,7 +350,8 @@ be_local_closure(Matter_Expirable_set_persist, /* name */ /******************************************************************** ** Solidified function: persist_pre ********************************************************************/ -be_local_closure(Matter_Expirable_persist_pre, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_persist_pre, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -347,7 +359,7 @@ be_local_closure(Matter_Expirable_persist_pre, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 0, /* has constants */ NULL, /* no const */ be_str_weak(persist_pre), @@ -363,7 +375,8 @@ be_local_closure(Matter_Expirable_persist_pre, /* name */ /******************************************************************** ** Solidified function: persist_post ********************************************************************/ -be_local_closure(Matter_Expirable_persist_post, /* name */ +extern const bclass be_class_Matter_Expirable; +be_local_closure(class_Matter_Expirable_persist_post, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -371,7 +384,7 @@ be_local_closure(Matter_Expirable_persist_post, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable, 0, /* has constants */ NULL, /* no const */ be_str_weak(persist_post), @@ -393,38 +406,32 @@ be_local_class(Matter_Expirable, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_expiration, -1), be_const_var(2) }, - { be_const_key_weak(set_no_expiration, 9), be_const_closure(Matter_Expirable_set_no_expiration_closure) }, - { be_const_key_weak(persist_post, -1), be_const_closure(Matter_Expirable_persist_post_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Expirable_init_closure) }, - { be_const_key_weak(has_expired, -1), be_const_closure(Matter_Expirable_has_expired_closure) }, - { be_const_key_weak(set_expire_time, 6), be_const_closure(Matter_Expirable_set_expire_time_closure) }, - { be_const_key_weak(set_parent_list, 4), be_const_closure(Matter_Expirable_set_parent_list_closure) }, - { be_const_key_weak(hydrate_post, -1), be_const_closure(Matter_Expirable_hydrate_post_closure) }, - { be_const_key_weak(set_expire_in_seconds, -1), be_const_closure(Matter_Expirable_set_expire_in_seconds_closure) }, - { be_const_key_weak(get_parent_list, 8), be_const_closure(Matter_Expirable_get_parent_list_closure) }, + { be_const_key_weak(set_no_expiration, 9), be_const_closure(class_Matter_Expirable_set_no_expiration_closure) }, + { be_const_key_weak(persist_post, -1), be_const_closure(class_Matter_Expirable_persist_post_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Expirable_init_closure) }, + { be_const_key_weak(has_expired, -1), be_const_closure(class_Matter_Expirable_has_expired_closure) }, + { be_const_key_weak(set_expire_time, 6), be_const_closure(class_Matter_Expirable_set_expire_time_closure) }, + { be_const_key_weak(set_parent_list, 4), be_const_closure(class_Matter_Expirable_set_parent_list_closure) }, + { be_const_key_weak(hydrate_post, -1), be_const_closure(class_Matter_Expirable_hydrate_post_closure) }, + { be_const_key_weak(set_expire_in_seconds, -1), be_const_closure(class_Matter_Expirable_set_expire_in_seconds_closure) }, + { be_const_key_weak(get_parent_list, 8), be_const_closure(class_Matter_Expirable_get_parent_list_closure) }, { be_const_key_weak(_list, -1), be_const_var(0) }, - { be_const_key_weak(does_persist, -1), be_const_closure(Matter_Expirable_does_persist_closure) }, - { be_const_key_weak(set_persist, -1), be_const_closure(Matter_Expirable_set_persist_closure) }, - { be_const_key_weak(persist_pre, -1), be_const_closure(Matter_Expirable_persist_pre_closure) }, + { be_const_key_weak(does_persist, -1), be_const_closure(class_Matter_Expirable_does_persist_closure) }, + { be_const_key_weak(set_persist, -1), be_const_closure(class_Matter_Expirable_set_persist_closure) }, + { be_const_key_weak(persist_pre, -1), be_const_closure(class_Matter_Expirable_persist_pre_closure) }, { be_const_key_weak(_persist, 2), be_const_var(1) }, - { be_const_key_weak(before_remove, 0), be_const_closure(Matter_Expirable_before_remove_closure) }, + { be_const_key_weak(before_remove, 0), be_const_closure(class_Matter_Expirable_before_remove_closure) }, })), be_str_weak(Matter_Expirable) ); -/*******************************************************************/ - -void be_load_Matter_Expirable_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Expirable); - be_setglobal(vm, "Matter_Expirable"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Expirable_list; /******************************************************************** ** Solidified function: count_persistables ********************************************************************/ -be_local_closure(Matter_Expirable_list_count_persistables, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_count_persistables, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -432,7 +439,7 @@ be_local_closure(Matter_Expirable_list_count_persistables, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(0), @@ -465,7 +472,8 @@ be_local_closure(Matter_Expirable_list_count_persistables, /* name */ /******************************************************************** ** Solidified function: remove ********************************************************************/ -be_local_closure(Matter_Expirable_list_remove, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_remove, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -473,7 +481,7 @@ be_local_closure(Matter_Expirable_list_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(0), @@ -513,7 +521,8 @@ be_local_closure(Matter_Expirable_list_remove, /* name */ /******************************************************************** ** Solidified function: push ********************************************************************/ -be_local_closure(Matter_Expirable_list_push, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_push, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -521,7 +530,7 @@ be_local_closure(Matter_Expirable_list_push, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -560,7 +569,8 @@ be_local_closure(Matter_Expirable_list_push, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_Expirable_list_every_second, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_every_second, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -568,7 +578,7 @@ be_local_closure(Matter_Expirable_list_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(remove_expired), @@ -588,7 +598,8 @@ be_local_closure(Matter_Expirable_list_every_second, /* name */ /******************************************************************** ** Solidified function: remove_expired ********************************************************************/ -be_local_closure(Matter_Expirable_list_remove_expired, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_remove_expired, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -596,7 +607,7 @@ be_local_closure(Matter_Expirable_list_remove_expired, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -639,7 +650,8 @@ be_local_closure(Matter_Expirable_list_remove_expired, /* name */ /******************************************************************** ** Solidified function: persistables ********************************************************************/ -be_local_closure(Matter_Expirable_list_persistables, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_persistables, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -647,7 +659,7 @@ be_local_closure(Matter_Expirable_list_persistables, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -657,7 +669,7 @@ be_local_closure(Matter_Expirable_list_persistables, /* name */ be_local_const_upval(1, 1), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_persist), @@ -676,6 +688,7 @@ be_local_closure(Matter_Expirable_list_persistables, /* name */ 0x80000000, // 0008 RET 0 }) ), + &be_class_Matter_Expirable_list, }), 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ @@ -698,7 +711,8 @@ be_local_closure(Matter_Expirable_list_persistables, /* name */ /******************************************************************** ** Solidified function: setitem ********************************************************************/ -be_local_closure(Matter_Expirable_list_setitem, /* name */ +extern const bclass be_class_Matter_Expirable_list; +be_local_closure(class_Matter_Expirable_list_setitem, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -706,7 +720,7 @@ be_local_closure(Matter_Expirable_list_setitem, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Expirable_list, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -752,22 +766,15 @@ be_local_class(Matter_Expirable_list, &be_class_list, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(count_persistables, 4), be_const_closure(Matter_Expirable_list_count_persistables_closure) }, - { be_const_key_weak(remove, -1), be_const_closure(Matter_Expirable_list_remove_closure) }, - { be_const_key_weak(push, 5), be_const_closure(Matter_Expirable_list_push_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_Expirable_list_every_second_closure) }, - { be_const_key_weak(setitem, 6), be_const_closure(Matter_Expirable_list_setitem_closure) }, - { be_const_key_weak(persistables, -1), be_const_closure(Matter_Expirable_list_persistables_closure) }, - { be_const_key_weak(remove_expired, -1), be_const_closure(Matter_Expirable_list_remove_expired_closure) }, + { be_const_key_weak(count_persistables, 4), be_const_closure(class_Matter_Expirable_list_count_persistables_closure) }, + { be_const_key_weak(remove, -1), be_const_closure(class_Matter_Expirable_list_remove_closure) }, + { be_const_key_weak(push, 5), be_const_closure(class_Matter_Expirable_list_push_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Expirable_list_every_second_closure) }, + { be_const_key_weak(setitem, 6), be_const_closure(class_Matter_Expirable_list_setitem_closure) }, + { be_const_key_weak(persistables, -1), be_const_closure(class_Matter_Expirable_list_persistables_closure) }, + { be_const_key_weak(remove_expired, -1), be_const_closure(class_Matter_Expirable_list_remove_expired_closure) }, })), be_str_weak(Matter_Expirable_list) ); -/*******************************************************************/ - -void be_load_Matter_Expirable_list_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Expirable_list); - be_setglobal(vm, "Matter_Expirable_list"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Fabric.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Fabric.h index c882ed705..26dd17f72 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Fabric.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Fabric.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Fabric; /******************************************************************** ** Solidified function: get_icac ********************************************************************/ -be_local_closure(Matter_Fabric_get_icac, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_icac, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Fabric_get_icac, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(icac), @@ -36,7 +37,8 @@ be_local_closure(Matter_Fabric_get_icac, /* name */ /******************************************************************** ** Solidified function: before_remove ********************************************************************/ -be_local_closure(Matter_Fabric_before_remove, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_before_remove, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -44,7 +46,7 @@ be_local_closure(Matter_Fabric_before_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -84,7 +86,8 @@ be_local_closure(Matter_Fabric_before_remove, /* name */ /******************************************************************** ** Solidified function: get_pk ********************************************************************/ -be_local_closure(Matter_Fabric_get_pk, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_pk, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -92,7 +95,7 @@ be_local_closure(Matter_Fabric_get_pk, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(no_private_key), @@ -111,7 +114,8 @@ be_local_closure(Matter_Fabric_get_pk, /* name */ /******************************************************************** ** Solidified function: get_fabric_compressed ********************************************************************/ -be_local_closure(Matter_Fabric_get_fabric_compressed, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_fabric_compressed, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -119,7 +123,7 @@ be_local_closure(Matter_Fabric_get_fabric_compressed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_compressed), @@ -138,7 +142,8 @@ be_local_closure(Matter_Fabric_get_fabric_compressed, /* name */ /******************************************************************** ** Solidified function: get_fabric_id ********************************************************************/ -be_local_closure(Matter_Fabric_get_fabric_id, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_fabric_id, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -146,7 +151,7 @@ be_local_closure(Matter_Fabric_get_fabric_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_id), @@ -165,7 +170,8 @@ be_local_closure(Matter_Fabric_get_fabric_id, /* name */ /******************************************************************** ** Solidified function: set_admin_subject_vendor ********************************************************************/ -be_local_closure(Matter_Fabric_set_admin_subject_vendor, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_admin_subject_vendor, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -173,7 +179,7 @@ be_local_closure(Matter_Fabric_set_admin_subject_vendor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(admin_subject), @@ -194,7 +200,8 @@ be_local_closure(Matter_Fabric_set_admin_subject_vendor, /* name */ /******************************************************************** ** Solidified function: get_admin_vendor ********************************************************************/ -be_local_closure(Matter_Fabric_get_admin_vendor, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_admin_vendor, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -202,7 +209,7 @@ be_local_closure(Matter_Fabric_get_admin_vendor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(admin_vendor), @@ -221,7 +228,8 @@ be_local_closure(Matter_Fabric_get_admin_vendor, /* name */ /******************************************************************** ** Solidified function: get_noc ********************************************************************/ -be_local_closure(Matter_Fabric_get_noc, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_noc, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -229,7 +237,7 @@ be_local_closure(Matter_Fabric_get_noc, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(noc), @@ -248,7 +256,8 @@ be_local_closure(Matter_Fabric_get_noc, /* name */ /******************************************************************** ** Solidified function: fromjson ********************************************************************/ -be_local_closure(Matter_Fabric_fromjson, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_fromjson, /* name */ be_nested_proto( 16, /* nstack */ 2, /* argc */ @@ -256,7 +265,7 @@ be_local_closure(Matter_Fabric_fromjson, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Fabric), @@ -366,7 +375,8 @@ be_local_closure(Matter_Fabric_fromjson, /* name */ /******************************************************************** ** Solidified function: set_ca ********************************************************************/ -be_local_closure(Matter_Fabric_set_ca, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_ca, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -374,7 +384,7 @@ be_local_closure(Matter_Fabric_set_ca, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(root_ca_certificate), @@ -393,7 +403,8 @@ be_local_closure(Matter_Fabric_set_ca, /* name */ /******************************************************************** ** Solidified function: tojson ********************************************************************/ -be_local_closure(Matter_Fabric_tojson, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_tojson, /* name */ be_nested_proto( 16, /* nstack */ 1, /* argc */ @@ -401,7 +412,7 @@ be_local_closure(Matter_Fabric_tojson, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -563,7 +574,8 @@ be_local_closure(Matter_Fabric_tojson, /* name */ /******************************************************************** ** Solidified function: hydrate_post ********************************************************************/ -be_local_closure(Matter_Fabric_hydrate_post, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_hydrate_post, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -571,7 +583,7 @@ be_local_closure(Matter_Fabric_hydrate_post, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_group_data_snd_impl), @@ -610,7 +622,8 @@ be_local_closure(Matter_Fabric_hydrate_post, /* name */ /******************************************************************** ** Solidified function: set_ipk_epoch_key ********************************************************************/ -be_local_closure(Matter_Fabric_set_ipk_epoch_key, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_ipk_epoch_key, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -618,7 +631,7 @@ be_local_closure(Matter_Fabric_set_ipk_epoch_key, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(ipk_epoch_key), @@ -637,7 +650,8 @@ be_local_closure(Matter_Fabric_set_ipk_epoch_key, /* name */ /******************************************************************** ** Solidified function: set_fabric_device ********************************************************************/ -be_local_closure(Matter_Fabric_set_fabric_device, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_fabric_device, /* name */ be_nested_proto( 7, /* nstack */ 5, /* argc */ @@ -645,7 +659,7 @@ be_local_closure(Matter_Fabric_set_fabric_device, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_id), @@ -678,7 +692,8 @@ be_local_closure(Matter_Fabric_set_fabric_device, /* name */ /******************************************************************** ** Solidified function: get_device_id ********************************************************************/ -be_local_closure(Matter_Fabric_get_device_id, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_device_id, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -686,7 +701,7 @@ be_local_closure(Matter_Fabric_get_device_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(device_id), @@ -705,7 +720,8 @@ be_local_closure(Matter_Fabric_get_device_id, /* name */ /******************************************************************** ** Solidified function: get_admin_subject ********************************************************************/ -be_local_closure(Matter_Fabric_get_admin_subject, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_admin_subject, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -713,7 +729,7 @@ be_local_closure(Matter_Fabric_get_admin_subject, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(admin_subject), @@ -732,7 +748,8 @@ be_local_closure(Matter_Fabric_get_admin_subject, /* name */ /******************************************************************** ** Solidified function: is_marked_for_deletion ********************************************************************/ -be_local_closure(Matter_Fabric_is_marked_for_deletion, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_is_marked_for_deletion, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -740,7 +757,7 @@ be_local_closure(Matter_Fabric_is_marked_for_deletion, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(deleted), @@ -761,7 +778,8 @@ be_local_closure(Matter_Fabric_is_marked_for_deletion, /* name */ /******************************************************************** ** Solidified function: get_fabric_id_as_int64 ********************************************************************/ -be_local_closure(Matter_Fabric_get_fabric_id_as_int64, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_fabric_id_as_int64, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -769,7 +787,7 @@ be_local_closure(Matter_Fabric_get_fabric_id_as_int64, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(int64), @@ -793,7 +811,8 @@ be_local_closure(Matter_Fabric_get_fabric_id_as_int64, /* name */ /******************************************************************** ** Solidified function: get_ca ********************************************************************/ -be_local_closure(Matter_Fabric_get_ca, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_ca, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -801,7 +820,7 @@ be_local_closure(Matter_Fabric_get_ca, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(root_ca_certificate), @@ -820,7 +839,8 @@ be_local_closure(Matter_Fabric_get_ca, /* name */ /******************************************************************** ** Solidified function: get_oldest_session ********************************************************************/ -be_local_closure(Matter_Fabric_get_oldest_session, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_oldest_session, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -828,7 +848,7 @@ be_local_closure(Matter_Fabric_get_oldest_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_old_recent_session), @@ -849,7 +869,8 @@ be_local_closure(Matter_Fabric_get_oldest_session, /* name */ /******************************************************************** ** Solidified function: fabric_completed ********************************************************************/ -be_local_closure(Matter_Fabric_fabric_completed, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_fabric_completed, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -857,7 +878,7 @@ be_local_closure(Matter_Fabric_fabric_completed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(set_no_expiration), @@ -890,7 +911,8 @@ be_local_closure(Matter_Fabric_fabric_completed, /* name */ /******************************************************************** ** Solidified function: counter_group_data_snd_next ********************************************************************/ -be_local_closure(Matter_Fabric_counter_group_data_snd_next, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_counter_group_data_snd_next, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -898,7 +920,7 @@ be_local_closure(Matter_Fabric_counter_group_data_snd_next, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_group_data_snd_impl), @@ -954,7 +976,8 @@ be_local_closure(Matter_Fabric_counter_group_data_snd_next, /* name */ /******************************************************************** ** Solidified function: set_noc_icac ********************************************************************/ -be_local_closure(Matter_Fabric_set_noc_icac, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_noc_icac, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -962,7 +985,7 @@ be_local_closure(Matter_Fabric_set_noc_icac, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(noc), @@ -983,7 +1006,8 @@ be_local_closure(Matter_Fabric_set_noc_icac, /* name */ /******************************************************************** ** Solidified function: set_pk ********************************************************************/ -be_local_closure(Matter_Fabric_set_pk, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_pk, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -991,7 +1015,7 @@ be_local_closure(Matter_Fabric_set_pk, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(no_private_key), @@ -1010,7 +1034,8 @@ be_local_closure(Matter_Fabric_set_pk, /* name */ /******************************************************************** ** Solidified function: get_newest_session ********************************************************************/ -be_local_closure(Matter_Fabric_get_newest_session, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_newest_session, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1018,7 +1043,7 @@ be_local_closure(Matter_Fabric_get_newest_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_old_recent_session), @@ -1039,7 +1064,8 @@ be_local_closure(Matter_Fabric_get_newest_session, /* name */ /******************************************************************** ** Solidified function: log_new_fabric ********************************************************************/ -be_local_closure(Matter_Fabric_log_new_fabric, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_log_new_fabric, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1047,7 +1073,7 @@ be_local_closure(Matter_Fabric_log_new_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -1090,7 +1116,8 @@ be_local_closure(Matter_Fabric_log_new_fabric, /* name */ /******************************************************************** ** Solidified function: get_ca_pub ********************************************************************/ -be_local_closure(Matter_Fabric_get_ca_pub, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_ca_pub, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1098,7 +1125,7 @@ be_local_closure(Matter_Fabric_get_ca_pub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(root_ca_certificate), @@ -1131,7 +1158,8 @@ be_local_closure(Matter_Fabric_get_ca_pub, /* name */ /******************************************************************** ** Solidified function: get_fabric_index ********************************************************************/ -be_local_closure(Matter_Fabric_get_fabric_index, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_fabric_index, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1139,7 +1167,7 @@ be_local_closure(Matter_Fabric_get_fabric_index, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_index), @@ -1158,7 +1186,8 @@ be_local_closure(Matter_Fabric_get_fabric_index, /* name */ /******************************************************************** ** Solidified function: writejson ********************************************************************/ -be_local_closure(Matter_Fabric_writejson, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_writejson, /* name */ be_nested_proto( 17, /* nstack */ 2, /* argc */ @@ -1166,7 +1195,7 @@ be_local_closure(Matter_Fabric_writejson, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[26]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -1333,7 +1362,8 @@ be_local_closure(Matter_Fabric_writejson, /* name */ /******************************************************************** ** Solidified function: counter_group_ctrl_snd_next ********************************************************************/ -be_local_closure(Matter_Fabric_counter_group_ctrl_snd_next, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_counter_group_ctrl_snd_next, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1341,7 +1371,7 @@ be_local_closure(Matter_Fabric_counter_group_ctrl_snd_next, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_group_ctrl_snd_impl), @@ -1397,7 +1427,8 @@ be_local_closure(Matter_Fabric_counter_group_ctrl_snd_next, /* name */ /******************************************************************** ** Solidified function: fabric_candidate ********************************************************************/ -be_local_closure(Matter_Fabric_fabric_candidate, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_fabric_candidate, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1405,7 +1436,7 @@ be_local_closure(Matter_Fabric_fabric_candidate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(set_expire_in_seconds), @@ -1435,7 +1466,8 @@ be_local_closure(Matter_Fabric_fabric_candidate, /* name */ /******************************************************************** ** Solidified function: assign_fabric_index ********************************************************************/ -be_local_closure(Matter_Fabric_assign_fabric_index, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_assign_fabric_index, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1443,7 +1475,7 @@ be_local_closure(Matter_Fabric_assign_fabric_index, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(get_fabric_index), @@ -1474,7 +1506,8 @@ be_local_closure(Matter_Fabric_assign_fabric_index, /* name */ /******************************************************************** ** Solidified function: get_old_recent_session ********************************************************************/ -be_local_closure(Matter_Fabric_get_old_recent_session, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_old_recent_session, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1482,7 +1515,7 @@ be_local_closure(Matter_Fabric_get_old_recent_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_sessions), @@ -1532,7 +1565,8 @@ be_local_closure(Matter_Fabric_get_old_recent_session, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Fabric_init, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1540,7 +1574,7 @@ be_local_closure(Matter_Fabric_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1605,7 +1639,8 @@ be_local_closure(Matter_Fabric_init, /* name */ /******************************************************************** ** Solidified function: get_ipk_epoch_key ********************************************************************/ -be_local_closure(Matter_Fabric_get_ipk_epoch_key, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_ipk_epoch_key, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1613,7 +1648,7 @@ be_local_closure(Matter_Fabric_get_ipk_epoch_key, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(ipk_epoch_key), @@ -1632,7 +1667,8 @@ be_local_closure(Matter_Fabric_get_ipk_epoch_key, /* name */ /******************************************************************** ** Solidified function: add_session ********************************************************************/ -be_local_closure(Matter_Fabric_add_session, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_add_session, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1640,7 +1676,7 @@ be_local_closure(Matter_Fabric_add_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(_sessions), @@ -1696,7 +1732,8 @@ be_local_closure(Matter_Fabric_add_session, /* name */ /******************************************************************** ** Solidified function: set_fabric_index ********************************************************************/ -be_local_closure(Matter_Fabric_set_fabric_index, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_set_fabric_index, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1704,7 +1741,7 @@ be_local_closure(Matter_Fabric_set_fabric_index, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_index), @@ -1723,7 +1760,8 @@ be_local_closure(Matter_Fabric_set_fabric_index, /* name */ /******************************************************************** ** Solidified function: get_device_id_as_int64 ********************************************************************/ -be_local_closure(Matter_Fabric_get_device_id_as_int64, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_device_id_as_int64, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1731,7 +1769,7 @@ be_local_closure(Matter_Fabric_get_device_id_as_int64, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(int64), @@ -1755,7 +1793,8 @@ be_local_closure(Matter_Fabric_get_device_id_as_int64, /* name */ /******************************************************************** ** Solidified function: get_fabric_label ********************************************************************/ -be_local_closure(Matter_Fabric_get_fabric_label, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_fabric_label, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1763,7 +1802,7 @@ be_local_closure(Matter_Fabric_get_fabric_label, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(fabric_label), @@ -1782,7 +1821,8 @@ be_local_closure(Matter_Fabric_get_fabric_label, /* name */ /******************************************************************** ** Solidified function: get_ipk_group_key ********************************************************************/ -be_local_closure(Matter_Fabric_get_ipk_group_key, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_ipk_group_key, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -1790,7 +1830,7 @@ be_local_closure(Matter_Fabric_get_ipk_group_key, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(ipk_epoch_key), @@ -1838,7 +1878,8 @@ be_local_closure(Matter_Fabric_get_ipk_group_key, /* name */ /******************************************************************** ** Solidified function: mark_for_deletion ********************************************************************/ -be_local_closure(Matter_Fabric_mark_for_deletion, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_mark_for_deletion, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1846,7 +1887,7 @@ be_local_closure(Matter_Fabric_mark_for_deletion, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(deleted), @@ -1870,7 +1911,8 @@ be_local_closure(Matter_Fabric_mark_for_deletion, /* name */ /******************************************************************** ** Solidified function: get_admin_vendor_name ********************************************************************/ -be_local_closure(Matter_Fabric_get_admin_vendor_name, /* name */ +extern const bclass be_class_Matter_Fabric; +be_local_closure(class_Matter_Fabric_get_admin_vendor_name, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1878,7 +1920,7 @@ be_local_closure(Matter_Fabric_get_admin_vendor_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Fabric, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(admin_vendor), @@ -1925,81 +1967,74 @@ be_local_class(Matter_Fabric, &be_class_Matter_Expirable, be_nested_map(66, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_icac, -1), be_const_closure(Matter_Fabric_get_icac_closure) }, + { be_const_key_weak(get_icac, -1), be_const_closure(class_Matter_Fabric_get_icac_closure) }, { be_const_key_weak(_counter_group_ctrl_snd_impl, 2), be_const_var(18) }, - { be_const_key_weak(get_fabric_compressed, -1), be_const_closure(Matter_Fabric_get_fabric_compressed_closure) }, - { be_const_key_weak(get_pk, -1), be_const_closure(Matter_Fabric_get_pk_closure) }, - { be_const_key_weak(get_admin_vendor_name, 8), be_const_closure(Matter_Fabric_get_admin_vendor_name_closure) }, - { be_const_key_weak(get_fabric_id, -1), be_const_closure(Matter_Fabric_get_fabric_id_closure) }, + { be_const_key_weak(get_fabric_compressed, -1), be_const_closure(class_Matter_Fabric_get_fabric_compressed_closure) }, + { be_const_key_weak(get_pk, -1), be_const_closure(class_Matter_Fabric_get_pk_closure) }, + { be_const_key_weak(get_admin_vendor_name, 8), be_const_closure(class_Matter_Fabric_get_admin_vendor_name_closure) }, + { be_const_key_weak(get_fabric_id, -1), be_const_closure(class_Matter_Fabric_get_fabric_id_closure) }, { be_const_key_weak(deleted, 49), be_const_var(2) }, - { be_const_key_weak(set_admin_subject_vendor, -1), be_const_closure(Matter_Fabric_set_admin_subject_vendor_closure) }, - { be_const_key_weak(set_ipk_epoch_key, -1), be_const_closure(Matter_Fabric_set_ipk_epoch_key_closure) }, + { be_const_key_weak(set_admin_subject_vendor, -1), be_const_closure(class_Matter_Fabric_set_admin_subject_vendor_closure) }, + { be_const_key_weak(set_ipk_epoch_key, -1), be_const_closure(class_Matter_Fabric_set_ipk_epoch_key_closure) }, { be_const_key_weak(fabric_parent, 45), be_const_var(4) }, - { be_const_key_weak(get_ipk_group_key, 18), be_const_closure(Matter_Fabric_get_ipk_group_key_closure) }, - { be_const_key_weak(fromjson, -1), be_const_static_closure(Matter_Fabric_fromjson_closure) }, - { be_const_key_weak(set_ca, -1), be_const_closure(Matter_Fabric_set_ca_closure) }, + { be_const_key_weak(get_ipk_group_key, 18), be_const_closure(class_Matter_Fabric_get_ipk_group_key_closure) }, + { be_const_key_weak(fromjson, -1), be_const_static_closure(class_Matter_Fabric_fromjson_closure) }, + { be_const_key_weak(set_ca, -1), be_const_closure(class_Matter_Fabric_set_ca_closure) }, { be_const_key_weak(counter_group_ctrl_snd, -1), be_const_var(16) }, - { be_const_key_weak(tojson, -1), be_const_closure(Matter_Fabric_tojson_closure) }, - { be_const_key_weak(hydrate_post, 53), be_const_closure(Matter_Fabric_hydrate_post_closure) }, + { be_const_key_weak(tojson, -1), be_const_closure(class_Matter_Fabric_tojson_closure) }, + { be_const_key_weak(hydrate_post, 53), be_const_closure(class_Matter_Fabric_hydrate_post_closure) }, { be_const_key_weak(no_private_key, 58), be_const_var(6) }, { be_const_key_weak(_sessions, -1), be_const_var(5) }, { be_const_key_weak(fabric_compressed, -1), be_const_var(12) }, { be_const_key_weak(device_id, -1), be_const_var(13) }, - { be_const_key_weak(get_noc, 25), be_const_closure(Matter_Fabric_get_noc_closure) }, - { be_const_key_weak(get_fabric_label, -1), be_const_closure(Matter_Fabric_get_fabric_label_closure) }, - { be_const_key_weak(get_admin_subject, -1), be_const_closure(Matter_Fabric_get_admin_subject_closure) }, - { be_const_key_weak(before_remove, 28), be_const_closure(Matter_Fabric_before_remove_closure) }, - { be_const_key_weak(get_fabric_id_as_int64, -1), be_const_closure(Matter_Fabric_get_fabric_id_as_int64_closure) }, - { be_const_key_weak(set_fabric_device, -1), be_const_closure(Matter_Fabric_set_fabric_device_closure) }, - { be_const_key_weak(get_ca, -1), be_const_closure(Matter_Fabric_get_ca_closure) }, + { be_const_key_weak(get_noc, 25), be_const_closure(class_Matter_Fabric_get_noc_closure) }, + { be_const_key_weak(get_fabric_label, -1), be_const_closure(class_Matter_Fabric_get_fabric_label_closure) }, + { be_const_key_weak(get_admin_subject, -1), be_const_closure(class_Matter_Fabric_get_admin_subject_closure) }, + { be_const_key_weak(before_remove, 28), be_const_closure(class_Matter_Fabric_before_remove_closure) }, + { be_const_key_weak(get_fabric_id_as_int64, -1), be_const_closure(class_Matter_Fabric_get_fabric_id_as_int64_closure) }, + { be_const_key_weak(set_fabric_device, -1), be_const_closure(class_Matter_Fabric_set_fabric_device_closure) }, + { be_const_key_weak(get_ca, -1), be_const_closure(class_Matter_Fabric_get_ca_closure) }, { be_const_key_weak(ipk_epoch_key, -1), be_const_var(10) }, { be_const_key_weak(fabric_index, 48), be_const_var(3) }, - { be_const_key_weak(set_pk, -1), be_const_closure(Matter_Fabric_set_pk_closure) }, - { be_const_key_weak(fabric_completed, -1), be_const_closure(Matter_Fabric_fabric_completed_closure) }, + { be_const_key_weak(set_pk, -1), be_const_closure(class_Matter_Fabric_set_pk_closure) }, + { be_const_key_weak(fabric_completed, -1), be_const_closure(class_Matter_Fabric_fabric_completed_closure) }, { be_const_key_weak(created, -1), be_const_var(1) }, - { be_const_key_weak(counter_group_data_snd_next, -1), be_const_closure(Matter_Fabric_counter_group_data_snd_next_closure) }, - { be_const_key_weak(set_noc_icac, -1), be_const_closure(Matter_Fabric_set_noc_icac_closure) }, + { be_const_key_weak(counter_group_data_snd_next, -1), be_const_closure(class_Matter_Fabric_counter_group_data_snd_next_closure) }, + { be_const_key_weak(set_noc_icac, -1), be_const_closure(class_Matter_Fabric_set_noc_icac_closure) }, { be_const_key_weak(_GROUP_SND_INCR, -1), be_const_int(32) }, { be_const_key_weak(admin_vendor, 29), be_const_var(20) }, { be_const_key_weak(fabric_id, -1), be_const_var(11) }, { be_const_key_weak(fabric_label, -1), be_const_var(14) }, - { be_const_key_weak(log_new_fabric, -1), be_const_closure(Matter_Fabric_log_new_fabric_closure) }, + { be_const_key_weak(log_new_fabric, -1), be_const_closure(class_Matter_Fabric_log_new_fabric_closure) }, { be_const_key_weak(noc, -1), be_const_var(8) }, { be_const_key_weak(_counter_group_data_snd_impl, -1), be_const_var(17) }, - { be_const_key_weak(get_newest_session, 37), be_const_closure(Matter_Fabric_get_newest_session_closure) }, - { be_const_key_weak(get_ca_pub, -1), be_const_closure(Matter_Fabric_get_ca_pub_closure) }, - { be_const_key_weak(add_session, -1), be_const_closure(Matter_Fabric_add_session_closure) }, - { be_const_key_weak(get_ipk_epoch_key, -1), be_const_closure(Matter_Fabric_get_ipk_epoch_key_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Fabric_init_closure) }, - { be_const_key_weak(writejson, -1), be_const_closure(Matter_Fabric_writejson_closure) }, - { be_const_key_weak(counter_group_ctrl_snd_next, -1), be_const_closure(Matter_Fabric_counter_group_ctrl_snd_next_closure) }, + { be_const_key_weak(get_newest_session, 37), be_const_closure(class_Matter_Fabric_get_newest_session_closure) }, + { be_const_key_weak(get_ca_pub, -1), be_const_closure(class_Matter_Fabric_get_ca_pub_closure) }, + { be_const_key_weak(add_session, -1), be_const_closure(class_Matter_Fabric_add_session_closure) }, + { be_const_key_weak(get_ipk_epoch_key, -1), be_const_closure(class_Matter_Fabric_get_ipk_epoch_key_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Fabric_init_closure) }, + { be_const_key_weak(writejson, -1), be_const_closure(class_Matter_Fabric_writejson_closure) }, + { be_const_key_weak(counter_group_ctrl_snd_next, -1), be_const_closure(class_Matter_Fabric_counter_group_ctrl_snd_next_closure) }, { be_const_key_weak(_store, 61), be_const_var(0) }, - { be_const_key_weak(fabric_candidate, -1), be_const_closure(Matter_Fabric_fabric_candidate_closure) }, + { be_const_key_weak(fabric_candidate, -1), be_const_closure(class_Matter_Fabric_fabric_candidate_closure) }, { be_const_key_weak(counter_group_data_snd, -1), be_const_var(15) }, - { be_const_key_weak(assign_fabric_index, -1), be_const_closure(Matter_Fabric_assign_fabric_index_closure) }, - { be_const_key_weak(get_old_recent_session, -1), be_const_closure(Matter_Fabric_get_old_recent_session_closure) }, + { be_const_key_weak(assign_fabric_index, -1), be_const_closure(class_Matter_Fabric_assign_fabric_index_closure) }, + { be_const_key_weak(get_old_recent_session, -1), be_const_closure(class_Matter_Fabric_get_old_recent_session_closure) }, { be_const_key_weak(admin_subject, -1), be_const_var(19) }, - { be_const_key_weak(get_fabric_index, 44), be_const_closure(Matter_Fabric_get_fabric_index_closure) }, + { be_const_key_weak(get_fabric_index, 44), be_const_closure(class_Matter_Fabric_get_fabric_index_closure) }, { be_const_key_weak(_GROUP_KEY, 43), be_nested_str_weak(GroupKey_X20v1_X2E0) }, - { be_const_key_weak(set_fabric_index, -1), be_const_closure(Matter_Fabric_set_fabric_index_closure) }, + { be_const_key_weak(set_fabric_index, -1), be_const_closure(class_Matter_Fabric_set_fabric_index_closure) }, { be_const_key_weak(icac, -1), be_const_var(9) }, { be_const_key_weak(root_ca_certificate, -1), be_const_var(7) }, - { be_const_key_weak(get_device_id_as_int64, -1), be_const_closure(Matter_Fabric_get_device_id_as_int64_closure) }, - { be_const_key_weak(get_device_id, 21), be_const_closure(Matter_Fabric_get_device_id_closure) }, - { be_const_key_weak(is_marked_for_deletion, -1), be_const_closure(Matter_Fabric_is_marked_for_deletion_closure) }, - { be_const_key_weak(get_oldest_session, 10), be_const_closure(Matter_Fabric_get_oldest_session_closure) }, - { be_const_key_weak(mark_for_deletion, -1), be_const_closure(Matter_Fabric_mark_for_deletion_closure) }, - { be_const_key_weak(get_admin_vendor, 4), be_const_closure(Matter_Fabric_get_admin_vendor_closure) }, + { be_const_key_weak(get_device_id_as_int64, -1), be_const_closure(class_Matter_Fabric_get_device_id_as_int64_closure) }, + { be_const_key_weak(get_device_id, 21), be_const_closure(class_Matter_Fabric_get_device_id_closure) }, + { be_const_key_weak(is_marked_for_deletion, -1), be_const_closure(class_Matter_Fabric_is_marked_for_deletion_closure) }, + { be_const_key_weak(get_oldest_session, 10), be_const_closure(class_Matter_Fabric_get_oldest_session_closure) }, + { be_const_key_weak(mark_for_deletion, -1), be_const_closure(class_Matter_Fabric_mark_for_deletion_closure) }, + { be_const_key_weak(get_admin_vendor, 4), be_const_closure(class_Matter_Fabric_get_admin_vendor_closure) }, { be_const_key_weak(_MAX_CASE, -1), be_const_int(5) }, })), be_str_weak(Matter_Fabric) ); -/*******************************************************************/ - -void be_load_Matter_Fabric_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Fabric); - be_setglobal(vm, "Matter_Fabric"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_async.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_async.h index d55db99f7..ae907a1c3 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_async.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_async.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_HTTP_async; /******************************************************************** ** Solidified function: parse_http_payload ********************************************************************/ -be_local_closure(Matter_HTTP_async_parse_http_payload, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_parse_http_payload, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_HTTP_async_parse_http_payload, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(is_chunked), @@ -131,7 +132,8 @@ be_local_closure(Matter_HTTP_async_parse_http_payload, /* name */ /******************************************************************** ** Solidified function: event_http_finished ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_finished, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_finished, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -139,7 +141,7 @@ be_local_closure(Matter_HTTP_async_event_http_finished, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_http_finished), @@ -155,7 +157,8 @@ be_local_closure(Matter_HTTP_async_event_http_finished, /* name */ /******************************************************************** ** Solidified function: event_http_header ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_header, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_header, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -163,7 +166,7 @@ be_local_closure(Matter_HTTP_async_event_http_header, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -203,7 +206,8 @@ be_local_closure(Matter_HTTP_async_event_http_header, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_HTTP_async_init, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_init, /* name */ be_nested_proto( 13, /* nstack */ 5, /* argc */ @@ -211,7 +215,7 @@ be_local_closure(Matter_HTTP_async_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -274,7 +278,8 @@ be_local_closure(Matter_HTTP_async_init, /* name */ /******************************************************************** ** Solidified function: event_http_failed ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_failed, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_failed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -282,7 +287,7 @@ be_local_closure(Matter_HTTP_async_event_http_failed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_http_failed), @@ -298,7 +303,8 @@ be_local_closure(Matter_HTTP_async_event_http_failed, /* name */ /******************************************************************** ** Solidified function: parse_http_response ********************************************************************/ -be_local_closure(Matter_HTTP_async_parse_http_response, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_parse_http_response, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -306,7 +312,7 @@ be_local_closure(Matter_HTTP_async_parse_http_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(phase), @@ -347,7 +353,8 @@ be_local_closure(Matter_HTTP_async_parse_http_response, /* name */ /******************************************************************** ** Solidified function: event_refused ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_refused, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_refused, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -355,7 +362,7 @@ be_local_closure(Matter_HTTP_async_event_refused, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(http_status), @@ -378,7 +385,8 @@ be_local_closure(Matter_HTTP_async_event_refused, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_HTTP_async_reset, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_reset, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -386,7 +394,7 @@ be_local_closure(Matter_HTTP_async_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -431,7 +439,8 @@ be_local_closure(Matter_HTTP_async_reset, /* name */ /******************************************************************** ** Solidified function: begin ********************************************************************/ -be_local_closure(Matter_HTTP_async_begin, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_begin, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -439,7 +448,7 @@ be_local_closure(Matter_HTTP_async_begin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(begin), @@ -464,7 +473,8 @@ be_local_closure(Matter_HTTP_async_begin, /* name */ /******************************************************************** ** Solidified function: event_established ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_established, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_established, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -472,7 +482,7 @@ be_local_closure(Matter_HTTP_async_event_established, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(send_http), @@ -492,7 +502,8 @@ be_local_closure(Matter_HTTP_async_event_established, /* name */ /******************************************************************** ** Solidified function: parse_http_headers ********************************************************************/ -be_local_closure(Matter_HTTP_async_parse_http_headers, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_parse_http_headers, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -500,7 +511,7 @@ be_local_closure(Matter_HTTP_async_parse_http_headers, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -580,7 +591,8 @@ be_local_closure(Matter_HTTP_async_parse_http_headers, /* name */ /******************************************************************** ** Solidified function: event_available ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_available, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_available, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -588,7 +600,7 @@ be_local_closure(Matter_HTTP_async_event_available, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(receive), @@ -608,7 +620,8 @@ be_local_closure(Matter_HTTP_async_event_available, /* name */ /******************************************************************** ** Solidified function: event_timeout ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_timeout, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_timeout, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -616,7 +629,7 @@ be_local_closure(Matter_HTTP_async_event_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(http_status), @@ -639,7 +652,8 @@ be_local_closure(Matter_HTTP_async_event_timeout, /* name */ /******************************************************************** ** Solidified function: compile_re ********************************************************************/ -be_local_closure(Matter_HTTP_async_compile_re, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_compile_re, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -647,7 +661,7 @@ be_local_closure(Matter_HTTP_async_compile_re, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(re), @@ -702,7 +716,8 @@ be_local_closure(Matter_HTTP_async_compile_re, /* name */ /******************************************************************** ** Solidified function: event_closed ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_closed, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_closed, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -710,7 +725,7 @@ be_local_closure(Matter_HTTP_async_event_closed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(http_status), @@ -737,7 +752,8 @@ be_local_closure(Matter_HTTP_async_event_closed, /* name */ /******************************************************************** ** Solidified function: begin_sync ********************************************************************/ -be_local_closure(Matter_HTTP_async_begin_sync, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_begin_sync, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -745,7 +761,7 @@ be_local_closure(Matter_HTTP_async_begin_sync, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(timeout), @@ -804,7 +820,8 @@ be_local_closure(Matter_HTTP_async_begin_sync, /* name */ /******************************************************************** ** Solidified function: send_http ********************************************************************/ -be_local_closure(Matter_HTTP_async_send_http, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_send_http, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -812,7 +829,7 @@ be_local_closure(Matter_HTTP_async_send_http, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -897,7 +914,8 @@ be_local_closure(Matter_HTTP_async_send_http, /* name */ /******************************************************************** ** Solidified function: event_http_headers_end ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_headers_end, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_headers_end, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -905,7 +923,7 @@ be_local_closure(Matter_HTTP_async_event_http_headers_end, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(response_offset), @@ -935,7 +953,8 @@ be_local_closure(Matter_HTTP_async_event_http_headers_end, /* name */ /******************************************************************** ** Solidified function: event_http_status_code ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_status_code, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_status_code, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -943,7 +962,7 @@ be_local_closure(Matter_HTTP_async_event_http_status_code, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(status_code), @@ -962,7 +981,8 @@ be_local_closure(Matter_HTTP_async_event_http_status_code, /* name */ /******************************************************************** ** Solidified function: parse_http_status_line ********************************************************************/ -be_local_closure(Matter_HTTP_async_parse_http_status_line, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_parse_http_status_line, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -970,7 +990,7 @@ be_local_closure(Matter_HTTP_async_parse_http_status_line, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -1026,7 +1046,8 @@ be_local_closure(Matter_HTTP_async_parse_http_status_line, /* name */ /******************************************************************** ** Solidified function: event_http_timeout ********************************************************************/ -be_local_closure(Matter_HTTP_async_event_http_timeout, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_event_http_timeout, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -1034,7 +1055,7 @@ be_local_closure(Matter_HTTP_async_event_http_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_http_timeout), @@ -1050,7 +1071,8 @@ be_local_closure(Matter_HTTP_async_event_http_timeout, /* name */ /******************************************************************** ** Solidified function: receive ********************************************************************/ -be_local_closure(Matter_HTTP_async_receive, /* name */ +extern const bclass be_class_Matter_HTTP_async; +be_local_closure(class_Matter_HTTP_async_receive, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1058,7 +1080,7 @@ be_local_closure(Matter_HTTP_async_receive, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_async, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -1144,53 +1166,46 @@ be_local_class(Matter_HTTP_async, be_nested_map(39, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(response, -1), be_const_var(2) }, - { be_const_key_weak(parse_http_payload, -1), be_const_closure(Matter_HTTP_async_parse_http_payload_closure) }, - { be_const_key_weak(receive, 10), be_const_closure(Matter_HTTP_async_receive_closure) }, - { be_const_key_weak(event_http_finished, 22), be_const_closure(Matter_HTTP_async_event_http_finished_closure) }, + { be_const_key_weak(parse_http_payload, -1), be_const_closure(class_Matter_HTTP_async_parse_http_payload_closure) }, + { be_const_key_weak(receive, 10), be_const_closure(class_Matter_HTTP_async_receive_closure) }, + { be_const_key_weak(event_http_finished, 22), be_const_closure(class_Matter_HTTP_async_event_http_finished_closure) }, { be_const_key_weak(HTTP_BODY_REGEX, -1), be_nested_str_weak(_X0D_X0A) }, { be_const_key_weak(HTTP_GET_AUTH, -1), be_nested_str_weak(GET_X20_X25s_X20HTTP_X2F1_X2E1_X0D_X0AHost_X20_X25s_X3A_X25s_X0D_X0AAuthorization_X3A_X20Basic_X20_X25s_X0D_X0AConnection_X3A_X20close_X0D_X0A_X0D_X0A) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_HTTP_async_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_HTTP_async_init_closure) }, { be_const_key_weak(response_offset, 23), be_const_var(3) }, - { be_const_key_weak(parse_http_response, -1), be_const_closure(Matter_HTTP_async_parse_http_response_closure) }, - { be_const_key_weak(event_refused, -1), be_const_closure(Matter_HTTP_async_event_refused_closure) }, - { be_const_key_weak(event_http_timeout, -1), be_const_closure(Matter_HTTP_async_event_http_timeout_closure) }, + { be_const_key_weak(parse_http_response, -1), be_const_closure(class_Matter_HTTP_async_parse_http_response_closure) }, + { be_const_key_weak(event_refused, -1), be_const_closure(class_Matter_HTTP_async_event_refused_closure) }, + { be_const_key_weak(event_http_timeout, -1), be_const_closure(class_Matter_HTTP_async_event_http_timeout_closure) }, { be_const_key_weak(HTTP_STATUS_REGEX, -1), be_nested_str_weak(HTTP_X2F1_X5C_X2E_X5B0_X2D1_X5D_X20_X28_X5Cd_X2B_X29_X20_X2E_X2A_X3F_X0D_X0A) }, { be_const_key_weak(cmd, -1), be_const_var(1) }, - { be_const_key_weak(event_http_status_code, -1), be_const_closure(Matter_HTTP_async_event_http_status_code_closure) }, + { be_const_key_weak(event_http_status_code, -1), be_const_closure(class_Matter_HTTP_async_event_http_status_code_closure) }, { be_const_key_weak(payload, -1), be_const_var(5) }, { be_const_key_weak(is_chunked, -1), be_const_var(8) }, { be_const_key_weak(HTTP_GET, -1), be_nested_str_weak(GET_X20_X25s_X20HTTP_X2F1_X2E1_X0D_X0AHost_X20_X25s_X3A_X25s_X0D_X0AConnection_X3A_X20close_X0D_X0A_X0D_X0A) }, { be_const_key_weak(chunk_size, 16), be_const_var(9) }, { be_const_key_weak(auth, 35), be_const_var(0) }, - { be_const_key_weak(parse_http_headers, 26), be_const_closure(Matter_HTTP_async_parse_http_headers_closure) }, - { be_const_key_weak(event_available, -1), be_const_closure(Matter_HTTP_async_event_available_closure) }, + { be_const_key_weak(parse_http_headers, 26), be_const_closure(class_Matter_HTTP_async_parse_http_headers_closure) }, + { be_const_key_weak(event_available, -1), be_const_closure(class_Matter_HTTP_async_event_available_closure) }, { be_const_key_weak(status_code, 11), be_const_var(4) }, { be_const_key_weak(phase, 36), be_const_var(7) }, - { be_const_key_weak(event_http_headers_end, -1), be_const_closure(Matter_HTTP_async_event_http_headers_end_closure) }, - { be_const_key_weak(reset, 31), be_const_closure(Matter_HTTP_async_reset_closure) }, - { be_const_key_weak(begin_sync, -1), be_const_closure(Matter_HTTP_async_begin_sync_closure) }, - { be_const_key_weak(send_http, -1), be_const_closure(Matter_HTTP_async_send_http_closure) }, - { be_const_key_weak(event_timeout, 28), be_const_closure(Matter_HTTP_async_event_timeout_closure) }, + { be_const_key_weak(event_http_headers_end, -1), be_const_closure(class_Matter_HTTP_async_event_http_headers_end_closure) }, + { be_const_key_weak(reset, 31), be_const_closure(class_Matter_HTTP_async_reset_closure) }, + { be_const_key_weak(begin_sync, -1), be_const_closure(class_Matter_HTTP_async_begin_sync_closure) }, + { be_const_key_weak(send_http, -1), be_const_closure(class_Matter_HTTP_async_send_http_closure) }, + { be_const_key_weak(event_timeout, 28), be_const_closure(class_Matter_HTTP_async_event_timeout_closure) }, { be_const_key_weak(HTTP_CHUNK_REGEX, -1), be_nested_str_weak(_X0D_X0A_X28_X5BA_X2DFa_X2Df0_X2D9_X5D_X2B_X29_X5B_X20_X09_X5D_X2A_X2E_X2A_X3F_X0D_X0A) }, - { be_const_key_weak(compile_re, 7), be_const_closure(Matter_HTTP_async_compile_re_closure) }, + { be_const_key_weak(compile_re, 7), be_const_closure(class_Matter_HTTP_async_compile_re_closure) }, { be_const_key_weak(HTTP_HEADER_REGEX, -1), be_nested_str_weak(_X28_X5BA_X2DZa_X2Dz0_X2D9_X2D_X5D_X2B_X29_X3A_X20_X28_X2E_X2A_X3F_X29_X0D_X0A) }, - { be_const_key_weak(event_closed, 30), be_const_closure(Matter_HTTP_async_event_closed_closure) }, - { be_const_key_weak(event_http_header, 14), be_const_closure(Matter_HTTP_async_event_http_header_closure) }, - { be_const_key_weak(event_http_failed, 13), be_const_closure(Matter_HTTP_async_event_http_failed_closure) }, - { be_const_key_weak(parse_http_status_line, -1), be_const_closure(Matter_HTTP_async_parse_http_status_line_closure) }, - { be_const_key_weak(event_established, -1), be_const_closure(Matter_HTTP_async_event_established_closure) }, - { be_const_key_weak(begin, 4), be_const_closure(Matter_HTTP_async_begin_closure) }, + { be_const_key_weak(event_closed, 30), be_const_closure(class_Matter_HTTP_async_event_closed_closure) }, + { be_const_key_weak(event_http_header, 14), be_const_closure(class_Matter_HTTP_async_event_http_header_closure) }, + { be_const_key_weak(event_http_failed, 13), be_const_closure(class_Matter_HTTP_async_event_http_failed_closure) }, + { be_const_key_weak(parse_http_status_line, -1), be_const_closure(class_Matter_HTTP_async_parse_http_status_line_closure) }, + { be_const_key_weak(event_established, -1), be_const_closure(class_Matter_HTTP_async_event_established_closure) }, + { be_const_key_weak(begin, 4), be_const_closure(class_Matter_HTTP_async_begin_closure) }, { be_const_key_weak(http_status, -1), be_const_var(6) }, { be_const_key_weak(SPINLOCK, 2), be_const_int(5) }, })), be_str_weak(Matter_HTTP_async) ); -/*******************************************************************/ - -void be_load_Matter_HTTP_async_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_HTTP_async); - be_setglobal(vm, "Matter_HTTP_async"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h index ee1c0bc37..8e516d7ac 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_HTTP_remote.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_HTTP_remote; /******************************************************************** ** Solidified function: device_is_alive ********************************************************************/ -be_local_closure(Matter_HTTP_remote_device_is_alive, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_device_is_alive, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_HTTP_remote_device_is_alive, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(reachable), @@ -48,7 +49,8 @@ be_local_closure(Matter_HTTP_remote_device_is_alive, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_HTTP_remote_parse_update, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_parse_update, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -56,7 +58,7 @@ be_local_closure(Matter_HTTP_remote_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[28]) { /* constants */ /* K0 */ be_const_int(0), @@ -245,7 +247,8 @@ be_local_closure(Matter_HTTP_remote_parse_update, /* name */ /******************************************************************** ** Solidified function: call_sync ********************************************************************/ -be_local_closure(Matter_HTTP_remote_call_sync, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_call_sync, /* name */ be_nested_proto( 16, /* nstack */ 3, /* argc */ @@ -253,7 +256,7 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[24]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -365,7 +368,8 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */ /******************************************************************** ** Solidified function: event_http_finished ********************************************************************/ -be_local_closure(Matter_HTTP_remote_event_http_finished, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_event_http_finished, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -373,7 +377,7 @@ be_local_closure(Matter_HTTP_remote_event_http_finished, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(current_cmd), @@ -448,7 +452,8 @@ be_local_closure(Matter_HTTP_remote_event_http_finished, /* name */ /******************************************************************** ** Solidified function: web_last_seen ********************************************************************/ -be_local_closure(Matter_HTTP_remote_web_last_seen, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_web_last_seen, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -456,7 +461,7 @@ be_local_closure(Matter_HTTP_remote_web_last_seen, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -495,7 +500,8 @@ be_local_closure(Matter_HTTP_remote_web_last_seen, /* name */ /******************************************************************** ** Solidified function: event_http_failed ********************************************************************/ -be_local_closure(Matter_HTTP_remote_event_http_failed, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_event_http_failed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -503,7 +509,7 @@ be_local_closure(Matter_HTTP_remote_event_http_failed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(current_cmd), @@ -541,7 +547,8 @@ be_local_closure(Matter_HTTP_remote_event_http_failed, /* name */ /******************************************************************** ** Solidified function: parse_status_response ********************************************************************/ -be_local_closure(Matter_HTTP_remote_parse_status_response, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_parse_status_response, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -549,7 +556,7 @@ be_local_closure(Matter_HTTP_remote_parse_status_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_const_int(0), @@ -614,7 +621,8 @@ be_local_closure(Matter_HTTP_remote_parse_status_response, /* name */ /******************************************************************** ** Solidified function: get_info ********************************************************************/ -be_local_closure(Matter_HTTP_remote_get_info, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_get_info, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -622,7 +630,7 @@ be_local_closure(Matter_HTTP_remote_get_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(info), @@ -641,7 +649,8 @@ be_local_closure(Matter_HTTP_remote_get_info, /* name */ /******************************************************************** ** Solidified function: event_http_timeout ********************************************************************/ -be_local_closure(Matter_HTTP_remote_event_http_timeout, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_event_http_timeout, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -649,7 +658,7 @@ be_local_closure(Matter_HTTP_remote_event_http_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(current_cmd), @@ -698,7 +707,8 @@ be_local_closure(Matter_HTTP_remote_event_http_timeout, /* name */ /******************************************************************** ** Solidified function: info_changed ********************************************************************/ -be_local_closure(Matter_HTTP_remote_info_changed, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_info_changed, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -706,7 +716,7 @@ be_local_closure(Matter_HTTP_remote_info_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -728,7 +738,8 @@ be_local_closure(Matter_HTTP_remote_info_changed, /* name */ /******************************************************************** ** Solidified function: scheduler ********************************************************************/ -be_local_closure(Matter_HTTP_remote_scheduler, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_scheduler, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -736,7 +747,7 @@ be_local_closure(Matter_HTTP_remote_scheduler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(probe_next_timestamp_map), @@ -828,7 +839,8 @@ be_local_closure(Matter_HTTP_remote_scheduler, /* name */ /******************************************************************** ** Solidified function: add_schedule ********************************************************************/ -be_local_closure(Matter_HTTP_remote_add_schedule, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_add_schedule, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -836,7 +848,7 @@ be_local_closure(Matter_HTTP_remote_add_schedule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(probe_update_time_map), @@ -883,7 +895,8 @@ be_local_closure(Matter_HTTP_remote_add_schedule, /* name */ /******************************************************************** ** Solidified function: probe_async ********************************************************************/ -be_local_closure(Matter_HTTP_remote_probe_async, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_probe_async, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -891,7 +904,7 @@ be_local_closure(Matter_HTTP_remote_probe_async, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -959,7 +972,8 @@ be_local_closure(Matter_HTTP_remote_probe_async, /* name */ /******************************************************************** ** Solidified function: add_async_cb ********************************************************************/ -be_local_closure(Matter_HTTP_remote_add_async_cb, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_add_async_cb, /* name */ be_nested_proto( 4, /* nstack */ 3, /* argc */ @@ -967,7 +981,7 @@ be_local_closure(Matter_HTTP_remote_add_async_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(async_cb_map), @@ -987,7 +1001,8 @@ be_local_closure(Matter_HTTP_remote_add_async_cb, /* name */ /******************************************************************** ** Solidified function: set_info ********************************************************************/ -be_local_closure(Matter_HTTP_remote_set_info, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_set_info, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -995,7 +1010,7 @@ be_local_closure(Matter_HTTP_remote_set_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(info), @@ -1014,7 +1029,8 @@ be_local_closure(Matter_HTTP_remote_set_info, /* name */ /******************************************************************** ** Solidified function: dispatch_cb ********************************************************************/ -be_local_closure(Matter_HTTP_remote_dispatch_cb, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_dispatch_cb, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -1022,7 +1038,7 @@ be_local_closure(Matter_HTTP_remote_dispatch_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -1070,7 +1086,8 @@ be_local_closure(Matter_HTTP_remote_dispatch_cb, /* name */ /******************************************************************** ** Solidified function: change_schedule ********************************************************************/ -be_local_closure(Matter_HTTP_remote_change_schedule, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_change_schedule, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -1078,7 +1095,7 @@ be_local_closure(Matter_HTTP_remote_change_schedule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_HTTP_remote, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(probe_update_time_map), @@ -1113,7 +1130,8 @@ be_local_closure(Matter_HTTP_remote_change_schedule, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_HTTP_remote_init, /* name */ +extern const bclass be_class_Matter_HTTP_remote; +be_local_closure(class_Matter_HTTP_remote_init, /* name */ be_nested_proto( 11, /* nstack */ 5, /* argc */ @@ -1121,7 +1139,7 @@ be_local_closure(Matter_HTTP_remote_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 3]) { + ( &(const struct bproto*[ 4]) { be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -1131,7 +1149,7 @@ be_local_closure(Matter_HTTP_remote_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parse_status_response), @@ -1157,7 +1175,7 @@ be_local_closure(Matter_HTTP_remote_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parse_status_response), @@ -1183,7 +1201,7 @@ be_local_closure(Matter_HTTP_remote_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parse_status_response), @@ -1200,6 +1218,7 @@ be_local_closure(Matter_HTTP_remote_init, /* name */ 0x80040600, // 0006 RET 1 R3 }) ), + &be_class_Matter_HTTP_remote, }), 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ @@ -1280,46 +1299,39 @@ be_local_class(Matter_HTTP_remote, &be_class_Matter_HTTP_async, be_nested_map(31, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(device_is_alive, -1), be_const_closure(Matter_HTTP_remote_device_is_alive_closure) }, + { be_const_key_weak(device_is_alive, -1), be_const_closure(class_Matter_HTTP_remote_device_is_alive_closure) }, { be_const_key_weak(reachable, 21), be_const_var(5) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_HTTP_remote_parse_update_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_HTTP_remote_parse_update_closure) }, { be_const_key_weak(UPDATE_TIME, 7), be_const_int(5000) }, - { be_const_key_weak(web_last_seen, 30), be_const_closure(Matter_HTTP_remote_web_last_seen_closure) }, - { be_const_key_weak(call_sync, 4), be_const_closure(Matter_HTTP_remote_call_sync_closure) }, - { be_const_key_weak(change_schedule, 19), be_const_closure(Matter_HTTP_remote_change_schedule_closure) }, + { be_const_key_weak(web_last_seen, 30), be_const_closure(class_Matter_HTTP_remote_web_last_seen_closure) }, + { be_const_key_weak(call_sync, 4), be_const_closure(class_Matter_HTTP_remote_call_sync_closure) }, + { be_const_key_weak(change_schedule, 19), be_const_closure(class_Matter_HTTP_remote_change_schedule_closure) }, { be_const_key_weak(device, -1), be_const_var(0) }, { be_const_key_weak(UPDATE_CMD5, -1), be_nested_str_weak(Status_X205) }, - { be_const_key_weak(get_info, 17), be_const_closure(Matter_HTTP_remote_get_info_closure) }, + { be_const_key_weak(get_info, 17), be_const_closure(class_Matter_HTTP_remote_get_info_closure) }, { be_const_key_weak(info, -1), be_const_var(7) }, - { be_const_key_weak(event_http_timeout, -1), be_const_closure(Matter_HTTP_remote_event_http_timeout_closure) }, - { be_const_key_weak(info_changed, -1), be_const_closure(Matter_HTTP_remote_info_changed_closure) }, - { be_const_key_weak(add_schedule, -1), be_const_closure(Matter_HTTP_remote_add_schedule_closure) }, + { be_const_key_weak(event_http_timeout, -1), be_const_closure(class_Matter_HTTP_remote_event_http_timeout_closure) }, + { be_const_key_weak(info_changed, -1), be_const_closure(class_Matter_HTTP_remote_info_changed_closure) }, + { be_const_key_weak(add_schedule, -1), be_const_closure(class_Matter_HTTP_remote_add_schedule_closure) }, { be_const_key_weak(UPDATE_TIME2, -1), be_const_int(300000) }, - { be_const_key_weak(scheduler, -1), be_const_closure(Matter_HTTP_remote_scheduler_closure) }, - { be_const_key_weak(parse_status_response, 13), be_const_closure(Matter_HTTP_remote_parse_status_response_closure) }, - { be_const_key_weak(probe_async, 18), be_const_closure(Matter_HTTP_remote_probe_async_closure) }, + { be_const_key_weak(scheduler, -1), be_const_closure(class_Matter_HTTP_remote_scheduler_closure) }, + { be_const_key_weak(parse_status_response, 13), be_const_closure(class_Matter_HTTP_remote_parse_status_response_closure) }, + { be_const_key_weak(probe_async, 18), be_const_closure(class_Matter_HTTP_remote_probe_async_closure) }, { be_const_key_weak(probe_update_time_map, -1), be_const_var(1) }, { be_const_key_weak(reachable_utc, -1), be_const_var(6) }, { be_const_key_weak(probe_next_timestamp_map, -1), be_const_var(2) }, { be_const_key_weak(async_cb_map, -1), be_const_var(3) }, { be_const_key_weak(current_cmd, -1), be_const_var(4) }, - { be_const_key_weak(set_info, -1), be_const_closure(Matter_HTTP_remote_set_info_closure) }, - { be_const_key_weak(dispatch_cb, -1), be_const_closure(Matter_HTTP_remote_dispatch_cb_closure) }, + { be_const_key_weak(set_info, -1), be_const_closure(class_Matter_HTTP_remote_set_info_closure) }, + { be_const_key_weak(dispatch_cb, -1), be_const_closure(class_Matter_HTTP_remote_dispatch_cb_closure) }, { be_const_key_weak(UPDATE_CMD2, -1), be_nested_str_weak(Status_X202) }, { be_const_key_weak(UPDATE_CMD0, -1), be_nested_str_weak(Status) }, - { be_const_key_weak(event_http_failed, 3), be_const_closure(Matter_HTTP_remote_event_http_failed_closure) }, - { be_const_key_weak(add_async_cb, 6), be_const_closure(Matter_HTTP_remote_add_async_cb_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_HTTP_remote_init_closure) }, - { be_const_key_weak(event_http_finished, -1), be_const_closure(Matter_HTTP_remote_event_http_finished_closure) }, + { be_const_key_weak(event_http_failed, 3), be_const_closure(class_Matter_HTTP_remote_event_http_failed_closure) }, + { be_const_key_weak(add_async_cb, 6), be_const_closure(class_Matter_HTTP_remote_add_async_cb_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_HTTP_remote_init_closure) }, + { be_const_key_weak(event_http_finished, -1), be_const_closure(class_Matter_HTTP_remote_event_http_finished_closure) }, })), be_str_weak(Matter_HTTP_remote) ); -/*******************************************************************/ - -void be_load_Matter_HTTP_remote_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_HTTP_remote); - be_setglobal(vm, "Matter_HTTP_remote"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM.h index 97a993663..463f9f498 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_IM; /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_IM_every_250ms, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_every_250ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_IM_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(subs_shop), @@ -39,7 +40,8 @@ be_local_closure(Matter_IM_every_250ms, /* name */ /******************************************************************** ** Solidified function: process_incoming_ack ********************************************************************/ -be_local_closure(Matter_IM_process_incoming_ack, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_incoming_ack, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -47,7 +49,7 @@ be_local_closure(Matter_IM_process_incoming_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(find_sendqueue_by_exchangeid), @@ -76,7 +78,8 @@ be_local_closure(Matter_IM_process_incoming_ack, /* name */ /******************************************************************** ** Solidified function: subscribe_response ********************************************************************/ -be_local_closure(Matter_IM_subscribe_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_subscribe_response, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -84,7 +87,7 @@ be_local_closure(Matter_IM_subscribe_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -111,7 +114,8 @@ be_local_closure(Matter_IM_subscribe_response, /* name */ /******************************************************************** ** Solidified function: process_write_response ********************************************************************/ -be_local_closure(Matter_IM_process_write_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_write_response, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -119,7 +123,7 @@ be_local_closure(Matter_IM_process_write_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -146,7 +150,8 @@ be_local_closure(Matter_IM_process_write_response, /* name */ /******************************************************************** ** Solidified function: process_status_response ********************************************************************/ -be_local_closure(Matter_IM_process_status_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_status_response, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -154,7 +159,7 @@ be_local_closure(Matter_IM_process_status_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(findsubval), @@ -231,7 +236,8 @@ be_local_closure(Matter_IM_process_status_response, /* name */ /******************************************************************** ** Solidified function: process_timed_request ********************************************************************/ -be_local_closure(Matter_IM_process_timed_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_timed_request, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -239,7 +245,7 @@ be_local_closure(Matter_IM_process_timed_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -290,7 +296,8 @@ be_local_closure(Matter_IM_process_timed_request, /* name */ /******************************************************************** ** Solidified function: attributedata2raw ********************************************************************/ -be_local_closure(Matter_IM_attributedata2raw, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_attributedata2raw, /* name */ be_nested_proto( 11, /* nstack */ 5, /* argc */ @@ -298,7 +305,7 @@ be_local_closure(Matter_IM_attributedata2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(add), @@ -344,7 +351,8 @@ be_local_closure(Matter_IM_attributedata2raw, /* name */ /******************************************************************** ** Solidified function: process_invoke_request_solo ********************************************************************/ -be_local_closure(Matter_IM_process_invoke_request_solo, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_invoke_request_solo, /* name */ be_nested_proto( 15, /* nstack */ 3, /* argc */ @@ -352,7 +360,7 @@ be_local_closure(Matter_IM_process_invoke_request_solo, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[42]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -618,7 +626,8 @@ be_local_closure(Matter_IM_process_invoke_request_solo, /* name */ /******************************************************************** ** Solidified function: invokeresponse2raw ********************************************************************/ -be_local_closure(Matter_IM_invokeresponse2raw, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_invokeresponse2raw, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -626,7 +635,7 @@ be_local_closure(Matter_IM_invokeresponse2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(add), @@ -801,7 +810,8 @@ be_local_closure(Matter_IM_invokeresponse2raw, /* name */ /******************************************************************** ** Solidified function: send_ack_now ********************************************************************/ -be_local_closure(Matter_IM_send_ack_now, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_ack_now, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -809,7 +819,7 @@ be_local_closure(Matter_IM_send_ack_now, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -839,7 +849,8 @@ be_local_closure(Matter_IM_send_ack_now, /* name */ /******************************************************************** ** Solidified function: process_invoke_request ********************************************************************/ -be_local_closure(Matter_IM_process_invoke_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_invoke_request, /* name */ be_nested_proto( 20, /* nstack */ 3, /* argc */ @@ -847,7 +858,7 @@ be_local_closure(Matter_IM_process_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[43]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1139,7 +1150,8 @@ be_local_closure(Matter_IM_process_invoke_request, /* name */ /******************************************************************** ** Solidified function: process_read_request ********************************************************************/ -be_local_closure(Matter_IM_process_read_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_read_request, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -1147,7 +1159,7 @@ be_local_closure(Matter_IM_process_read_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1199,7 +1211,8 @@ be_local_closure(Matter_IM_process_read_request, /* name */ /******************************************************************** ** Solidified function: send_invoke_response ********************************************************************/ -be_local_closure(Matter_IM_send_invoke_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_invoke_response, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -1207,7 +1220,7 @@ be_local_closure(Matter_IM_send_invoke_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(send_queue), @@ -1236,7 +1249,8 @@ be_local_closure(Matter_IM_send_invoke_response, /* name */ /******************************************************************** ** Solidified function: send_write_response ********************************************************************/ -be_local_closure(Matter_IM_send_write_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_write_response, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -1244,7 +1258,7 @@ be_local_closure(Matter_IM_send_write_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(send_queue), @@ -1273,7 +1287,8 @@ be_local_closure(Matter_IM_send_write_response, /* name */ /******************************************************************** ** Solidified function: process_write_request ********************************************************************/ -be_local_closure(Matter_IM_process_write_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_write_request, /* name */ be_nested_proto( 19, /* nstack */ 3, /* argc */ @@ -1281,7 +1296,7 @@ be_local_closure(Matter_IM_process_write_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 17, /* nstack */ 5, /* argc */ @@ -1291,7 +1306,7 @@ be_local_closure(Matter_IM_process_write_request, /* name */ be_local_const_upval(1, 1), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[26]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1438,7 +1453,7 @@ be_local_closure(Matter_IM_process_write_request, /* name */ be_local_const_upval(1, 12), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -1454,6 +1469,7 @@ be_local_closure(Matter_IM_process_write_request, /* name */ 0x80040600, // 0007 RET 1 R3 }) ), + &be_class_Matter_IM, }), 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ @@ -1604,7 +1620,8 @@ be_local_closure(Matter_IM_process_write_request, /* name */ /******************************************************************** ** Solidified function: path2raw ********************************************************************/ -be_local_closure(Matter_IM_path2raw, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_path2raw, /* name */ be_nested_proto( 9, /* nstack */ 5, /* argc */ @@ -1612,7 +1629,7 @@ be_local_closure(Matter_IM_path2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(add), @@ -1741,7 +1758,8 @@ be_local_closure(Matter_IM_path2raw, /* name */ /******************************************************************** ** Solidified function: send_subscribe_update ********************************************************************/ -be_local_closure(Matter_IM_send_subscribe_update, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_subscribe_update, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -1749,7 +1767,7 @@ be_local_closure(Matter_IM_send_subscribe_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -1857,7 +1875,8 @@ be_local_closure(Matter_IM_send_subscribe_update, /* name */ /******************************************************************** ** Solidified function: remove_sendqueue_by_exchangeid ********************************************************************/ -be_local_closure(Matter_IM_remove_sendqueue_by_exchangeid, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_remove_sendqueue_by_exchangeid, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1865,7 +1884,7 @@ be_local_closure(Matter_IM_remove_sendqueue_by_exchangeid, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -1910,7 +1929,8 @@ be_local_closure(Matter_IM_remove_sendqueue_by_exchangeid, /* name */ /******************************************************************** ** Solidified function: process_incoming ********************************************************************/ -be_local_closure(Matter_IM_process_incoming, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_incoming, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1918,7 +1938,7 @@ be_local_closure(Matter_IM_process_incoming, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ /* K0 */ be_nested_str_weak(opcode), @@ -2092,7 +2112,8 @@ be_local_closure(Matter_IM_process_incoming, /* name */ /******************************************************************** ** Solidified function: process_invoke_response ********************************************************************/ -be_local_closure(Matter_IM_process_invoke_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_invoke_response, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -2100,7 +2121,7 @@ be_local_closure(Matter_IM_process_invoke_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2127,7 +2148,8 @@ be_local_closure(Matter_IM_process_invoke_response, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_IM_every_second, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_every_second, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2135,7 +2157,7 @@ be_local_closure(Matter_IM_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(expire_sendqueue), @@ -2155,7 +2177,8 @@ be_local_closure(Matter_IM_every_second, /* name */ /******************************************************************** ** Solidified function: send_status ********************************************************************/ -be_local_closure(Matter_IM_send_status, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_status, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -2163,7 +2186,7 @@ be_local_closure(Matter_IM_send_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(send_queue), @@ -2192,7 +2215,8 @@ be_local_closure(Matter_IM_send_status, /* name */ /******************************************************************** ** Solidified function: _inner_process_read_request ********************************************************************/ -be_local_closure(Matter_IM__inner_process_read_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM__inner_process_read_request, /* name */ be_nested_proto( 19, /* nstack */ 5, /* argc */ @@ -2200,7 +2224,7 @@ be_local_closure(Matter_IM__inner_process_read_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 20, /* nstack */ 4, /* argc */ @@ -2212,7 +2236,7 @@ be_local_closure(Matter_IM__inner_process_read_request, /* name */ be_local_const_upval(1, 4), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[35]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2504,7 +2528,7 @@ be_local_closure(Matter_IM__inner_process_read_request, /* name */ be_local_const_upval(1, 8), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -2519,6 +2543,7 @@ be_local_closure(Matter_IM__inner_process_read_request, /* name */ 0x80040600, // 0006 RET 1 R3 }) ), + &be_class_Matter_IM, }), 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ @@ -2656,7 +2681,8 @@ be_local_closure(Matter_IM__inner_process_read_request, /* name */ /******************************************************************** ** Solidified function: report_data ********************************************************************/ -be_local_closure(Matter_IM_report_data, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_report_data, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -2664,7 +2690,7 @@ be_local_closure(Matter_IM_report_data, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2691,7 +2717,8 @@ be_local_closure(Matter_IM_report_data, /* name */ /******************************************************************** ** Solidified function: attributestatus2raw ********************************************************************/ -be_local_closure(Matter_IM_attributestatus2raw, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_attributestatus2raw, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -2699,7 +2726,7 @@ be_local_closure(Matter_IM_attributestatus2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(add), @@ -2768,7 +2795,8 @@ be_local_closure(Matter_IM_attributestatus2raw, /* name */ /******************************************************************** ** Solidified function: send_subscribe_response ********************************************************************/ -be_local_closure(Matter_IM_send_subscribe_response, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_subscribe_response, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -2776,7 +2804,7 @@ be_local_closure(Matter_IM_send_subscribe_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(send_queue), @@ -2806,7 +2834,8 @@ be_local_closure(Matter_IM_send_subscribe_response, /* name */ /******************************************************************** ** Solidified function: send_report_data ********************************************************************/ -be_local_closure(Matter_IM_send_report_data, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_report_data, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -2814,7 +2843,7 @@ be_local_closure(Matter_IM_send_report_data, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(send_queue), @@ -2843,7 +2872,8 @@ be_local_closure(Matter_IM_send_report_data, /* name */ /******************************************************************** ** Solidified function: find_sendqueue_by_exchangeid ********************************************************************/ -be_local_closure(Matter_IM_find_sendqueue_by_exchangeid, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_find_sendqueue_by_exchangeid, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2851,7 +2881,7 @@ be_local_closure(Matter_IM_find_sendqueue_by_exchangeid, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -2893,7 +2923,8 @@ be_local_closure(Matter_IM_find_sendqueue_by_exchangeid, /* name */ /******************************************************************** ** Solidified function: process_read_request_solo ********************************************************************/ -be_local_closure(Matter_IM_process_read_request_solo, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_process_read_request_solo, /* name */ be_nested_proto( 20, /* nstack */ 3, /* argc */ @@ -2901,7 +2932,7 @@ be_local_closure(Matter_IM_process_read_request_solo, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[55]) { /* constants */ /* K0 */ be_nested_str_weak(status), @@ -3223,7 +3254,8 @@ be_local_closure(Matter_IM_process_read_request_solo, /* name */ /******************************************************************** ** Solidified function: send_enqueued ********************************************************************/ -be_local_closure(Matter_IM_send_enqueued, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_enqueued, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -3231,7 +3263,7 @@ be_local_closure(Matter_IM_send_enqueued, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_const_int(0), @@ -3293,7 +3325,8 @@ be_local_closure(Matter_IM_send_enqueued, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_init, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3301,7 +3334,7 @@ be_local_closure(Matter_IM_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -3352,7 +3385,8 @@ be_local_closure(Matter_IM_init, /* name */ /******************************************************************** ** Solidified function: expire_sendqueue ********************************************************************/ -be_local_closure(Matter_IM_expire_sendqueue, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_expire_sendqueue, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -3360,7 +3394,7 @@ be_local_closure(Matter_IM_expire_sendqueue, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_const_int(0), @@ -3408,7 +3442,8 @@ be_local_closure(Matter_IM_expire_sendqueue, /* name */ /******************************************************************** ** Solidified function: subscribe_request ********************************************************************/ -be_local_closure(Matter_IM_subscribe_request, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_subscribe_request, /* name */ be_nested_proto( 18, /* nstack */ 3, /* argc */ @@ -3416,7 +3451,7 @@ be_local_closure(Matter_IM_subscribe_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[33]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3564,7 +3599,8 @@ be_local_closure(Matter_IM_subscribe_request, /* name */ /******************************************************************** ** Solidified function: send_subscribe_heartbeat ********************************************************************/ -be_local_closure(Matter_IM_send_subscribe_heartbeat, /* name */ +extern const bclass be_class_Matter_IM; +be_local_closure(class_Matter_IM_send_subscribe_heartbeat, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -3572,7 +3608,7 @@ be_local_closure(Matter_IM_send_subscribe_heartbeat, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(session), @@ -3643,55 +3679,48 @@ be_local_class(Matter_IM, NULL, be_nested_map(40, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_IM_every_250ms_closure) }, - { be_const_key_weak(process_incoming_ack, -1), be_const_closure(Matter_IM_process_incoming_ack_closure) }, - { be_const_key_weak(send_ack_now, -1), be_const_closure(Matter_IM_send_ack_now_closure) }, - { be_const_key_weak(subscribe_response, -1), be_const_closure(Matter_IM_subscribe_response_closure) }, - { be_const_key_weak(process_write_response, -1), be_const_closure(Matter_IM_process_write_response_closure) }, - { be_const_key_weak(process_status_response, -1), be_const_closure(Matter_IM_process_status_response_closure) }, - { be_const_key_weak(send_subscribe_heartbeat, -1), be_const_closure(Matter_IM_send_subscribe_heartbeat_closure) }, - { be_const_key_weak(attributedata2raw, 12), be_const_closure(Matter_IM_attributedata2raw_closure) }, - { be_const_key_weak(subscribe_request, 37), be_const_closure(Matter_IM_subscribe_request_closure) }, - { be_const_key_weak(send_subscribe_update, -1), be_const_closure(Matter_IM_send_subscribe_update_closure) }, - { be_const_key_weak(invokeresponse2raw, 2), be_const_closure(Matter_IM_invokeresponse2raw_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_IM_every_250ms_closure) }, + { be_const_key_weak(process_incoming_ack, -1), be_const_closure(class_Matter_IM_process_incoming_ack_closure) }, + { be_const_key_weak(send_ack_now, -1), be_const_closure(class_Matter_IM_send_ack_now_closure) }, + { be_const_key_weak(subscribe_response, -1), be_const_closure(class_Matter_IM_subscribe_response_closure) }, + { be_const_key_weak(process_write_response, -1), be_const_closure(class_Matter_IM_process_write_response_closure) }, + { be_const_key_weak(process_status_response, -1), be_const_closure(class_Matter_IM_process_status_response_closure) }, + { be_const_key_weak(send_subscribe_heartbeat, -1), be_const_closure(class_Matter_IM_send_subscribe_heartbeat_closure) }, + { be_const_key_weak(attributedata2raw, 12), be_const_closure(class_Matter_IM_attributedata2raw_closure) }, + { be_const_key_weak(subscribe_request, 37), be_const_closure(class_Matter_IM_subscribe_request_closure) }, + { be_const_key_weak(send_subscribe_update, -1), be_const_closure(class_Matter_IM_send_subscribe_update_closure) }, + { be_const_key_weak(invokeresponse2raw, 2), be_const_closure(class_Matter_IM_invokeresponse2raw_closure) }, { be_const_key_weak(read_request_solo, 38), be_const_var(3) }, - { be_const_key_weak(process_incoming, -1), be_const_closure(Matter_IM_process_incoming_closure) }, - { be_const_key_weak(process_invoke_request_solo, 8), be_const_closure(Matter_IM_process_invoke_request_solo_closure) }, - { be_const_key_weak(send_invoke_response, -1), be_const_closure(Matter_IM_send_invoke_response_closure) }, - { be_const_key_weak(send_write_response, 6), be_const_closure(Matter_IM_send_write_response_closure) }, - { be_const_key_weak(process_write_request, -1), be_const_closure(Matter_IM_process_write_request_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_IM_every_second_closure) }, - { be_const_key_weak(path2raw, -1), be_const_closure(Matter_IM_path2raw_closure) }, + { be_const_key_weak(process_incoming, -1), be_const_closure(class_Matter_IM_process_incoming_closure) }, + { be_const_key_weak(process_invoke_request_solo, 8), be_const_closure(class_Matter_IM_process_invoke_request_solo_closure) }, + { be_const_key_weak(send_invoke_response, -1), be_const_closure(class_Matter_IM_send_invoke_response_closure) }, + { be_const_key_weak(send_write_response, 6), be_const_closure(class_Matter_IM_send_write_response_closure) }, + { be_const_key_weak(process_write_request, -1), be_const_closure(class_Matter_IM_process_write_request_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_IM_every_second_closure) }, + { be_const_key_weak(path2raw, -1), be_const_closure(class_Matter_IM_path2raw_closure) }, { be_const_key_weak(invoke_request_solo, -1), be_const_var(4) }, - { be_const_key_weak(_inner_process_read_request, -1), be_const_closure(Matter_IM__inner_process_read_request_closure) }, + { be_const_key_weak(_inner_process_read_request, -1), be_const_closure(class_Matter_IM__inner_process_read_request_closure) }, { be_const_key_weak(tlv_solo, -1), be_const_var(5) }, - { be_const_key_weak(remove_sendqueue_by_exchangeid, -1), be_const_closure(Matter_IM_remove_sendqueue_by_exchangeid_closure) }, - { be_const_key_weak(find_sendqueue_by_exchangeid, -1), be_const_closure(Matter_IM_find_sendqueue_by_exchangeid_closure) }, - { be_const_key_weak(send_report_data, -1), be_const_closure(Matter_IM_send_report_data_closure) }, - { be_const_key_weak(process_invoke_request, 17), be_const_closure(Matter_IM_process_invoke_request_closure) }, - { be_const_key_weak(send_status, -1), be_const_closure(Matter_IM_send_status_closure) }, + { be_const_key_weak(remove_sendqueue_by_exchangeid, -1), be_const_closure(class_Matter_IM_remove_sendqueue_by_exchangeid_closure) }, + { be_const_key_weak(find_sendqueue_by_exchangeid, -1), be_const_closure(class_Matter_IM_find_sendqueue_by_exchangeid_closure) }, + { be_const_key_weak(send_report_data, -1), be_const_closure(class_Matter_IM_send_report_data_closure) }, + { be_const_key_weak(process_invoke_request, 17), be_const_closure(class_Matter_IM_process_invoke_request_closure) }, + { be_const_key_weak(send_status, -1), be_const_closure(class_Matter_IM_send_status_closure) }, { be_const_key_weak(subs_shop, 20), be_const_var(1) }, - { be_const_key_weak(process_timed_request, 32), be_const_closure(Matter_IM_process_timed_request_closure) }, - { be_const_key_weak(attributestatus2raw, 23), be_const_closure(Matter_IM_attributestatus2raw_closure) }, - { be_const_key_weak(send_subscribe_response, -1), be_const_closure(Matter_IM_send_subscribe_response_closure) }, - { be_const_key_weak(process_invoke_response, 24), be_const_closure(Matter_IM_process_invoke_response_closure) }, - { be_const_key_weak(report_data, 9), be_const_closure(Matter_IM_report_data_closure) }, - { be_const_key_weak(process_read_request_solo, -1), be_const_closure(Matter_IM_process_read_request_solo_closure) }, - { be_const_key_weak(send_enqueued, -1), be_const_closure(Matter_IM_send_enqueued_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_init_closure) }, - { be_const_key_weak(expire_sendqueue, -1), be_const_closure(Matter_IM_expire_sendqueue_closure) }, - { be_const_key_weak(process_read_request, -1), be_const_closure(Matter_IM_process_read_request_closure) }, + { be_const_key_weak(process_timed_request, 32), be_const_closure(class_Matter_IM_process_timed_request_closure) }, + { be_const_key_weak(attributestatus2raw, 23), be_const_closure(class_Matter_IM_attributestatus2raw_closure) }, + { be_const_key_weak(send_subscribe_response, -1), be_const_closure(class_Matter_IM_send_subscribe_response_closure) }, + { be_const_key_weak(process_invoke_response, 24), be_const_closure(class_Matter_IM_process_invoke_response_closure) }, + { be_const_key_weak(report_data, 9), be_const_closure(class_Matter_IM_report_data_closure) }, + { be_const_key_weak(process_read_request_solo, -1), be_const_closure(class_Matter_IM_process_read_request_solo_closure) }, + { be_const_key_weak(send_enqueued, -1), be_const_closure(class_Matter_IM_send_enqueued_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_init_closure) }, + { be_const_key_weak(expire_sendqueue, -1), be_const_closure(class_Matter_IM_expire_sendqueue_closure) }, + { be_const_key_weak(process_read_request, -1), be_const_closure(class_Matter_IM_process_read_request_closure) }, { be_const_key_weak(device, -1), be_const_var(0) }, { be_const_key_weak(send_queue, -1), be_const_var(2) }, })), be_str_weak(Matter_IM) ); -/*******************************************************************/ - -void be_load_Matter_IM_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM); - be_setglobal(vm, "Matter_IM"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Data.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Data.h index 1ffcdfd5e..309220f84 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Data.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Data.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_IM_base; /******************************************************************** ** Solidified function: to_TLV_array ********************************************************************/ -be_local_closure(Matter_IM_base_to_TLV_array, /* name */ +extern const bclass be_class_Matter_IM_base; +be_local_closure(class_Matter_IM_base_to_TLV_array, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_IM_base_to_TLV_array, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_base, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(add_array), @@ -59,7 +60,8 @@ be_local_closure(Matter_IM_base_to_TLV_array, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_IM_base_tostring, /* name */ +extern const bclass be_class_Matter_IM_base; +be_local_closure(class_Matter_IM_base_tostring, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -67,7 +69,7 @@ be_local_closure(Matter_IM_base_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_base, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_X3C), @@ -100,7 +102,8 @@ be_local_closure(Matter_IM_base_tostring, /* name */ /******************************************************************** ** Solidified function: from_TLV_array ********************************************************************/ -be_local_closure(Matter_IM_base_from_TLV_array, /* name */ +extern const bclass be_class_Matter_IM_base; +be_local_closure(class_Matter_IM_base_from_TLV_array, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -108,7 +111,7 @@ be_local_closure(Matter_IM_base_from_TLV_array, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_base, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(push), @@ -157,26 +160,20 @@ be_local_class(Matter_IM_base, NULL, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV_array, -1), be_const_closure(Matter_IM_base_from_TLV_array_closure) }, - { be_const_key_weak(tostring, -1), be_const_closure(Matter_IM_base_tostring_closure) }, - { be_const_key_weak(to_TLV_array, 0), be_const_closure(Matter_IM_base_to_TLV_array_closure) }, + { be_const_key_weak(from_TLV_array, -1), be_const_closure(class_Matter_IM_base_from_TLV_array_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_IM_base_tostring_closure) }, + { be_const_key_weak(to_TLV_array, 0), be_const_closure(class_Matter_IM_base_to_TLV_array_closure) }, })), be_str_weak(Matter_IM_base) ); -/*******************************************************************/ - -void be_load_Matter_IM_base_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_base); - be_setglobal(vm, "Matter_IM_base"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_Message_base; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_Message_base_init, /* name */ +extern const bclass be_class_Matter_IM_Message_base; +be_local_closure(class_Matter_IM_Message_base_init, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -184,7 +181,7 @@ be_local_closure(Matter_IM_Message_base_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message_base, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(InteractionModelRevision), @@ -210,25 +207,19 @@ be_local_class(Matter_IM_Message_base, &be_class_Matter_IM_base, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_Message_base_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_Message_base_init_closure) }, { be_const_key_weak(InteractionModelRevision, 0), be_const_var(0) }, })), be_str_weak(Matter_IM_Message_base) ); -/*******************************************************************/ - -void be_load_Matter_IM_Message_base_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_Message_base); - be_setglobal(vm, "Matter_IM_Message_base"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_AttributePathIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_AttributePathIB_to_TLV, /* name */ +extern const bclass be_class_Matter_AttributePathIB; +be_local_closure(class_Matter_AttributePathIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -236,7 +227,7 @@ be_local_closure(Matter_AttributePathIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributePathIB, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -305,7 +296,8 @@ be_local_closure(Matter_AttributePathIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_AttributePathIB_tostring, /* name */ +extern const bclass be_class_Matter_AttributePathIB; +be_local_closure(class_Matter_AttributePathIB_tostring, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -313,7 +305,7 @@ be_local_closure(Matter_AttributePathIB_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributePathIB, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -404,7 +396,8 @@ be_local_closure(Matter_AttributePathIB_tostring, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_AttributePathIB_from_TLV, /* name */ +extern const bclass be_class_Matter_AttributePathIB; +be_local_closure(class_Matter_AttributePathIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -412,7 +405,7 @@ be_local_closure(Matter_AttributePathIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributePathIB, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(tag_compression), @@ -475,32 +468,26 @@ be_local_class(Matter_AttributePathIB, &be_class_Matter_IM_base, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(tostring, -1), be_const_closure(Matter_AttributePathIB_tostring_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_AttributePathIB_tostring_closure) }, { be_const_key_weak(tag_compression, 0), be_const_var(0) }, { be_const_key_weak(cluster, -1), be_const_var(3) }, { be_const_key_weak(attribute, -1), be_const_var(4) }, - { be_const_key_weak(to_TLV, 2), be_const_closure(Matter_AttributePathIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, 2), be_const_closure(class_Matter_AttributePathIB_to_TLV_closure) }, { be_const_key_weak(list_index, 3), be_const_var(5) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_AttributePathIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributePathIB_from_TLV_closure) }, { be_const_key_weak(endpoint, 1), be_const_var(2) }, { be_const_key_weak(node, -1), be_const_var(1) }, })), be_str_weak(Matter_AttributePathIB) ); -/*******************************************************************/ - -void be_load_Matter_AttributePathIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_AttributePathIB); - be_setglobal(vm, "Matter_AttributePathIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_ClusterPathIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_ClusterPathIB_from_TLV, /* name */ +extern const bclass be_class_Matter_ClusterPathIB; +be_local_closure(class_Matter_ClusterPathIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -508,7 +495,7 @@ be_local_closure(Matter_ClusterPathIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ClusterPathIB, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(node), @@ -549,7 +536,8 @@ be_local_closure(Matter_ClusterPathIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_ClusterPathIB_to_TLV, /* name */ +extern const bclass be_class_Matter_ClusterPathIB; +be_local_closure(class_Matter_ClusterPathIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -557,7 +545,7 @@ be_local_closure(Matter_ClusterPathIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ClusterPathIB, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -612,28 +600,22 @@ be_local_class(Matter_ClusterPathIB, &be_class_Matter_IM_base, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_ClusterPathIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_ClusterPathIB_from_TLV_closure) }, { be_const_key_weak(node, -1), be_const_var(0) }, { be_const_key_weak(cluster, -1), be_const_var(2) }, { be_const_key_weak(endpoint, 0), be_const_var(1) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_ClusterPathIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_ClusterPathIB_to_TLV_closure) }, })), be_str_weak(Matter_ClusterPathIB) ); -/*******************************************************************/ - -void be_load_Matter_ClusterPathIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_ClusterPathIB); - be_setglobal(vm, "Matter_ClusterPathIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_DataVersionFilterIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_DataVersionFilterIB_from_TLV, /* name */ +extern const bclass be_class_Matter_DataVersionFilterIB; +be_local_closure(class_Matter_DataVersionFilterIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -641,7 +623,7 @@ be_local_closure(Matter_DataVersionFilterIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_DataVersionFilterIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(path), @@ -685,7 +667,8 @@ be_local_closure(Matter_DataVersionFilterIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_DataVersionFilterIB_to_TLV, /* name */ +extern const bclass be_class_Matter_DataVersionFilterIB; +be_local_closure(class_Matter_DataVersionFilterIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -693,7 +676,7 @@ be_local_closure(Matter_DataVersionFilterIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_DataVersionFilterIB, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -739,27 +722,21 @@ be_local_class(Matter_DataVersionFilterIB, &be_class_Matter_IM_base, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_DataVersionFilterIB_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_DataVersionFilterIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_DataVersionFilterIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_DataVersionFilterIB_to_TLV_closure) }, { be_const_key_weak(path, 3), be_const_var(0) }, { be_const_key_weak(data_version, -1), be_const_var(1) }, })), be_str_weak(Matter_DataVersionFilterIB) ); -/*******************************************************************/ - -void be_load_Matter_DataVersionFilterIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_DataVersionFilterIB); - be_setglobal(vm, "Matter_DataVersionFilterIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_AttributeDataIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_AttributeDataIB_from_TLV, /* name */ +extern const bclass be_class_Matter_AttributeDataIB; +be_local_closure(class_Matter_AttributeDataIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -767,7 +744,7 @@ be_local_closure(Matter_AttributeDataIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeDataIB, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(data_version), @@ -817,7 +794,8 @@ be_local_closure(Matter_AttributeDataIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_AttributeDataIB_to_TLV, /* name */ +extern const bclass be_class_Matter_AttributeDataIB; +be_local_closure(class_Matter_AttributeDataIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -825,7 +803,7 @@ be_local_closure(Matter_AttributeDataIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeDataIB, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -879,26 +857,20 @@ be_local_class(Matter_AttributeDataIB, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(data_version, -1), be_const_var(0) }, { be_const_key_weak(data, -1), be_const_var(2) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_AttributeDataIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeDataIB_from_TLV_closure) }, { be_const_key_weak(path, 2), be_const_var(1) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_AttributeDataIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeDataIB_to_TLV_closure) }, })), be_str_weak(Matter_AttributeDataIB) ); -/*******************************************************************/ - -void be_load_Matter_AttributeDataIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_AttributeDataIB); - be_setglobal(vm, "Matter_AttributeDataIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_AttributeReportIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_AttributeReportIB_to_TLV, /* name */ +extern const bclass be_class_Matter_AttributeReportIB; +be_local_closure(class_Matter_AttributeReportIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -906,7 +878,7 @@ be_local_closure(Matter_AttributeReportIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeReportIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -943,7 +915,8 @@ be_local_closure(Matter_AttributeReportIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_AttributeReportIB_from_TLV, /* name */ +extern const bclass be_class_Matter_AttributeReportIB; +be_local_closure(class_Matter_AttributeReportIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -951,7 +924,7 @@ be_local_closure(Matter_AttributeReportIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeReportIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_status), @@ -1007,26 +980,20 @@ be_local_class(Matter_AttributeReportIB, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(attribute_data, 3), be_const_var(1) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_AttributeReportIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeReportIB_to_TLV_closure) }, { be_const_key_weak(attribute_status, -1), be_const_var(0) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_AttributeReportIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeReportIB_from_TLV_closure) }, })), be_str_weak(Matter_AttributeReportIB) ); -/*******************************************************************/ - -void be_load_Matter_AttributeReportIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_AttributeReportIB); - be_setglobal(vm, "Matter_AttributeReportIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_EventFilterIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_EventFilterIB_from_TLV, /* name */ +extern const bclass be_class_Matter_EventFilterIB; +be_local_closure(class_Matter_EventFilterIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1034,7 +1001,7 @@ be_local_closure(Matter_EventFilterIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventFilterIB, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(node), @@ -1069,7 +1036,8 @@ be_local_closure(Matter_EventFilterIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_EventFilterIB_to_TLV, /* name */ +extern const bclass be_class_Matter_EventFilterIB; +be_local_closure(class_Matter_EventFilterIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1077,7 +1045,7 @@ be_local_closure(Matter_EventFilterIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventFilterIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1125,25 +1093,19 @@ be_local_class(Matter_EventFilterIB, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(event_min, 3), be_const_var(1) }, { be_const_key_weak(node, 2), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_EventFilterIB_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_EventFilterIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventFilterIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventFilterIB_from_TLV_closure) }, })), be_str_weak(Matter_EventFilterIB) ); -/*******************************************************************/ - -void be_load_Matter_EventFilterIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_EventFilterIB); - be_setglobal(vm, "Matter_EventFilterIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_EventPathIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_EventPathIB_from_TLV, /* name */ +extern const bclass be_class_Matter_EventPathIB; +be_local_closure(class_Matter_EventPathIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1151,7 +1113,7 @@ be_local_closure(Matter_EventPathIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventPathIB, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(node), @@ -1203,7 +1165,8 @@ be_local_closure(Matter_EventPathIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_EventPathIB_to_TLV, /* name */ +extern const bclass be_class_Matter_EventPathIB; +be_local_closure(class_Matter_EventPathIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1211,7 +1174,7 @@ be_local_closure(Matter_EventPathIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventPathIB, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1285,8 +1248,8 @@ be_local_class(Matter_EventPathIB, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(endpoint, 5), be_const_var(1) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_EventPathIB_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_EventPathIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventPathIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventPathIB_to_TLV_closure) }, { be_const_key_weak(is_urgent, -1), be_const_var(4) }, { be_const_key_weak(event, -1), be_const_var(3) }, { be_const_key_weak(cluster, 3), be_const_var(2) }, @@ -1294,20 +1257,14 @@ be_local_class(Matter_EventPathIB, })), be_str_weak(Matter_EventPathIB) ); -/*******************************************************************/ - -void be_load_Matter_EventPathIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_EventPathIB); - be_setglobal(vm, "Matter_EventPathIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_EventDataIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_EventDataIB_from_TLV, /* name */ +extern const bclass be_class_Matter_EventDataIB; +be_local_closure(class_Matter_EventDataIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1315,7 +1272,7 @@ be_local_closure(Matter_EventDataIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventDataIB, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(path), @@ -1391,7 +1348,8 @@ be_local_closure(Matter_EventDataIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_EventDataIB_to_TLV, /* name */ +extern const bclass be_class_Matter_EventDataIB; +be_local_closure(class_Matter_EventDataIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1399,7 +1357,7 @@ be_local_closure(Matter_EventDataIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventDataIB, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1495,8 +1453,8 @@ be_local_class(Matter_EventDataIB, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(delta_system_timestamp, -1), be_const_var(6) }, { be_const_key_weak(data, -1), be_const_var(7) }, - { be_const_key_weak(to_TLV, 6), be_const_closure(Matter_EventDataIB_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_EventDataIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, 6), be_const_closure(class_Matter_EventDataIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventDataIB_from_TLV_closure) }, { be_const_key_weak(delta_epoch_timestamp, -1), be_const_var(5) }, { be_const_key_weak(epoch_timestamp, -1), be_const_var(3) }, { be_const_key_weak(system_timestamp, -1), be_const_var(4) }, @@ -1506,20 +1464,14 @@ be_local_class(Matter_EventDataIB, })), be_str_weak(Matter_EventDataIB) ); -/*******************************************************************/ - -void be_load_Matter_EventDataIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_EventDataIB); - be_setglobal(vm, "Matter_EventDataIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_EventReportIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_EventReportIB_to_TLV, /* name */ +extern const bclass be_class_Matter_EventReportIB; +be_local_closure(class_Matter_EventReportIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1527,7 +1479,7 @@ be_local_closure(Matter_EventReportIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventReportIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1564,7 +1516,8 @@ be_local_closure(Matter_EventReportIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_EventReportIB_from_TLV, /* name */ +extern const bclass be_class_Matter_EventReportIB; +be_local_closure(class_Matter_EventReportIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1572,7 +1525,7 @@ be_local_closure(Matter_EventReportIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventReportIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(event_status), @@ -1628,26 +1581,20 @@ be_local_class(Matter_EventReportIB, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(event_data, 3), be_const_var(1) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_EventReportIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventReportIB_to_TLV_closure) }, { be_const_key_weak(event_status, -1), be_const_var(0) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_EventReportIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventReportIB_from_TLV_closure) }, })), be_str_weak(Matter_EventReportIB) ); -/*******************************************************************/ - -void be_load_Matter_EventReportIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_EventReportIB); - be_setglobal(vm, "Matter_EventReportIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_CommandPathIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_CommandPathIB_from_TLV, /* name */ +extern const bclass be_class_Matter_CommandPathIB; +be_local_closure(class_Matter_CommandPathIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1655,7 +1602,7 @@ be_local_closure(Matter_CommandPathIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandPathIB, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(endpoint), @@ -1696,7 +1643,8 @@ be_local_closure(Matter_CommandPathIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_CommandPathIB_to_TLV, /* name */ +extern const bclass be_class_Matter_CommandPathIB; +be_local_closure(class_Matter_CommandPathIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1704,7 +1652,7 @@ be_local_closure(Matter_CommandPathIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandPathIB, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1759,27 +1707,21 @@ be_local_class(Matter_CommandPathIB, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(endpoint, -1), be_const_var(0) }, - { be_const_key_weak(from_TLV, 0), be_const_closure(Matter_CommandPathIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, 0), be_const_closure(class_Matter_CommandPathIB_from_TLV_closure) }, { be_const_key_weak(cluster, -1), be_const_var(1) }, { be_const_key_weak(command, 1), be_const_var(2) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_CommandPathIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandPathIB_to_TLV_closure) }, })), be_str_weak(Matter_CommandPathIB) ); -/*******************************************************************/ - -void be_load_Matter_CommandPathIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_CommandPathIB); - be_setglobal(vm, "Matter_CommandPathIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_CommandDataIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_CommandDataIB_to_TLV, /* name */ +extern const bclass be_class_Matter_CommandDataIB; +be_local_closure(class_Matter_CommandDataIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1787,7 +1729,7 @@ be_local_closure(Matter_CommandDataIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandDataIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1824,7 +1766,8 @@ be_local_closure(Matter_CommandDataIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_CommandDataIB_from_TLV, /* name */ +extern const bclass be_class_Matter_CommandDataIB; +be_local_closure(class_Matter_CommandDataIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1832,7 +1775,7 @@ be_local_closure(Matter_CommandDataIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandDataIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(command_path), @@ -1882,26 +1825,20 @@ be_local_class(Matter_CommandDataIB, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(command_path, 3), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_CommandDataIB_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandDataIB_to_TLV_closure) }, { be_const_key_weak(command_fields, -1), be_const_var(1) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_CommandDataIB_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_CommandDataIB_from_TLV_closure) }, })), be_str_weak(Matter_CommandDataIB) ); -/*******************************************************************/ - -void be_load_Matter_CommandDataIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_CommandDataIB); - be_setglobal(vm, "Matter_CommandDataIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_InvokeResponseIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_InvokeResponseIB_from_TLV, /* name */ +extern const bclass be_class_Matter_InvokeResponseIB; +be_local_closure(class_Matter_InvokeResponseIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1909,7 +1846,7 @@ be_local_closure(Matter_InvokeResponseIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeResponseIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(command), @@ -1958,7 +1895,8 @@ be_local_closure(Matter_InvokeResponseIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_InvokeResponseIB_to_TLV, /* name */ +extern const bclass be_class_Matter_InvokeResponseIB; +be_local_closure(class_Matter_InvokeResponseIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1966,7 +1904,7 @@ be_local_closure(Matter_InvokeResponseIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeResponseIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2009,27 +1947,21 @@ be_local_class(Matter_InvokeResponseIB, &be_class_Matter_IM_base, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_InvokeResponseIB_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_InvokeResponseIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_InvokeResponseIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_InvokeResponseIB_to_TLV_closure) }, { be_const_key_weak(command, -1), be_const_var(0) }, { be_const_key_weak(status, -1), be_const_var(1) }, })), be_str_weak(Matter_InvokeResponseIB) ); -/*******************************************************************/ - -void be_load_Matter_InvokeResponseIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_InvokeResponseIB); - be_setglobal(vm, "Matter_InvokeResponseIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_CommandStatusIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_CommandStatusIB_to_TLV, /* name */ +extern const bclass be_class_Matter_CommandStatusIB; +be_local_closure(class_Matter_CommandStatusIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -2037,7 +1969,7 @@ be_local_closure(Matter_CommandStatusIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandStatusIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2074,7 +2006,8 @@ be_local_closure(Matter_CommandStatusIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_CommandStatusIB_from_TLV, /* name */ +extern const bclass be_class_Matter_CommandStatusIB; +be_local_closure(class_Matter_CommandStatusIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2082,7 +2015,7 @@ be_local_closure(Matter_CommandStatusIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_CommandStatusIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(command_path), @@ -2138,26 +2071,20 @@ be_local_class(Matter_CommandStatusIB, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(command_path, 2), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_CommandStatusIB_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_CommandStatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_CommandStatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_CommandStatusIB_from_TLV_closure) }, { be_const_key_weak(status, -1), be_const_var(1) }, })), be_str_weak(Matter_CommandStatusIB) ); -/*******************************************************************/ - -void be_load_Matter_CommandStatusIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_CommandStatusIB); - be_setglobal(vm, "Matter_CommandStatusIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_EventStatusIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_EventStatusIB_from_TLV, /* name */ +extern const bclass be_class_Matter_EventStatusIB; +be_local_closure(class_Matter_EventStatusIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2165,7 +2092,7 @@ be_local_closure(Matter_EventStatusIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventStatusIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(path), @@ -2214,7 +2141,8 @@ be_local_closure(Matter_EventStatusIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_EventStatusIB_to_TLV, /* name */ +extern const bclass be_class_Matter_EventStatusIB; +be_local_closure(class_Matter_EventStatusIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -2222,7 +2150,7 @@ be_local_closure(Matter_EventStatusIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_EventStatusIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2265,27 +2193,21 @@ be_local_class(Matter_EventStatusIB, &be_class_Matter_IM_base, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_EventStatusIB_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_EventStatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_EventStatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_EventStatusIB_to_TLV_closure) }, { be_const_key_weak(path, -1), be_const_var(0) }, { be_const_key_weak(status, -1), be_const_var(1) }, })), be_str_weak(Matter_EventStatusIB) ); -/*******************************************************************/ - -void be_load_Matter_EventStatusIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_EventStatusIB); - be_setglobal(vm, "Matter_EventStatusIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_AttributeStatusIB; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_AttributeStatusIB_from_TLV, /* name */ +extern const bclass be_class_Matter_AttributeStatusIB; +be_local_closure(class_Matter_AttributeStatusIB_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2293,7 +2215,7 @@ be_local_closure(Matter_AttributeStatusIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeStatusIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(path), @@ -2342,7 +2264,8 @@ be_local_closure(Matter_AttributeStatusIB_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_AttributeStatusIB_to_TLV, /* name */ +extern const bclass be_class_Matter_AttributeStatusIB; +be_local_closure(class_Matter_AttributeStatusIB_to_TLV, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -2350,7 +2273,7 @@ be_local_closure(Matter_AttributeStatusIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_AttributeStatusIB, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2393,27 +2316,21 @@ be_local_class(Matter_AttributeStatusIB, &be_class_Matter_IM_base, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_AttributeStatusIB_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_AttributeStatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_AttributeStatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_AttributeStatusIB_to_TLV_closure) }, { be_const_key_weak(path, -1), be_const_var(0) }, { be_const_key_weak(status, -1), be_const_var(1) }, })), be_str_weak(Matter_AttributeStatusIB) ); -/*******************************************************************/ - -void be_load_Matter_AttributeStatusIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_AttributeStatusIB); - be_setglobal(vm, "Matter_AttributeStatusIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_StatusIB; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_StatusIB_to_TLV, /* name */ +extern const bclass be_class_Matter_StatusIB; +be_local_closure(class_Matter_StatusIB_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2421,7 +2338,7 @@ be_local_closure(Matter_StatusIB_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_StatusIB, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2461,7 +2378,8 @@ be_local_closure(Matter_StatusIB_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_StatusIB_from_TLV, /* name */ +extern const bclass be_class_Matter_StatusIB; +be_local_closure(class_Matter_StatusIB_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2469,7 +2387,7 @@ be_local_closure(Matter_StatusIB_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_StatusIB, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(status), @@ -2511,26 +2429,20 @@ be_local_class(Matter_StatusIB, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(cluster_status, 2), be_const_var(1) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_StatusIB_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_StatusIB_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_StatusIB_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_StatusIB_from_TLV_closure) }, { be_const_key_weak(status, -1), be_const_var(0) }, })), be_str_weak(Matter_StatusIB) ); -/*******************************************************************/ - -void be_load_Matter_StatusIB_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_StatusIB); - be_setglobal(vm, "Matter_StatusIB"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_StatusResponseMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_StatusResponseMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_StatusResponseMessage; +be_local_closure(class_Matter_StatusResponseMessage_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2538,7 +2450,7 @@ be_local_closure(Matter_StatusResponseMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_StatusResponseMessage, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(status), @@ -2567,7 +2479,8 @@ be_local_closure(Matter_StatusResponseMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_StatusResponseMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_StatusResponseMessage; +be_local_closure(class_Matter_StatusResponseMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2575,7 +2488,7 @@ be_local_closure(Matter_StatusResponseMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_StatusResponseMessage, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2621,26 +2534,20 @@ be_local_class(Matter_StatusResponseMessage, &be_class_Matter_IM_Message_base, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_StatusResponseMessage_from_TLV_closure) }, - { be_const_key_weak(to_TLV, 2), be_const_closure(Matter_StatusResponseMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_StatusResponseMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, 2), be_const_closure(class_Matter_StatusResponseMessage_to_TLV_closure) }, { be_const_key_weak(status, -1), be_const_var(0) }, })), be_str_weak(Matter_StatusResponseMessage) ); -/*******************************************************************/ - -void be_load_Matter_StatusResponseMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_StatusResponseMessage); - be_setglobal(vm, "Matter_StatusResponseMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_ReadRequestMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_ReadRequestMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_ReadRequestMessage; +be_local_closure(class_Matter_ReadRequestMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2648,7 +2555,7 @@ be_local_closure(Matter_ReadRequestMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ReadRequestMessage, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(attributes_requests), @@ -2722,7 +2629,8 @@ be_local_closure(Matter_ReadRequestMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_ReadRequestMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_ReadRequestMessage; +be_local_closure(class_Matter_ReadRequestMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2730,7 +2638,7 @@ be_local_closure(Matter_ReadRequestMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ReadRequestMessage, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2806,28 +2714,22 @@ be_local_class(Matter_ReadRequestMessage, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(event_filters, -1), be_const_var(2) }, { be_const_key_weak(fabric_filtered, 3), be_const_var(3) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_ReadRequestMessage_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_ReadRequestMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_ReadRequestMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_ReadRequestMessage_from_TLV_closure) }, { be_const_key_weak(data_version_filters, -1), be_const_var(4) }, { be_const_key_weak(attributes_requests, -1), be_const_var(0) }, { be_const_key_weak(event_requests, 0), be_const_var(1) }, })), be_str_weak(Matter_ReadRequestMessage) ); -/*******************************************************************/ - -void be_load_Matter_ReadRequestMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_ReadRequestMessage); - be_setglobal(vm, "Matter_ReadRequestMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_ReadRequestMessage_solo; /******************************************************************** ** Solidified function: from_raw ********************************************************************/ -be_local_closure(Matter_ReadRequestMessage_solo_from_raw, /* name */ +extern const bclass be_class_Matter_ReadRequestMessage_solo; +be_local_closure(class_Matter_ReadRequestMessage_solo_from_raw, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -2835,7 +2737,7 @@ be_local_closure(Matter_ReadRequestMessage_solo_from_raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ReadRequestMessage_solo, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -2998,24 +2900,18 @@ be_local_class(Matter_ReadRequestMessage_solo, &be_class_Matter_Path, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_raw, -1), be_const_closure(Matter_ReadRequestMessage_solo_from_raw_closure) }, + { be_const_key_weak(from_raw, -1), be_const_closure(class_Matter_ReadRequestMessage_solo_from_raw_closure) }, })), be_str_weak(Matter_ReadRequestMessage_solo) ); -/*******************************************************************/ - -void be_load_Matter_ReadRequestMessage_solo_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_ReadRequestMessage_solo); - be_setglobal(vm, "Matter_ReadRequestMessage_solo"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_ReportDataMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_ReportDataMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_ReportDataMessage; +be_local_closure(class_Matter_ReportDataMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3023,7 +2919,7 @@ be_local_closure(Matter_ReportDataMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ReportDataMessage, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(subscription_id), @@ -3087,7 +2983,8 @@ be_local_closure(Matter_ReportDataMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_ReportDataMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_ReportDataMessage; +be_local_closure(class_Matter_ReportDataMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3095,7 +2992,7 @@ be_local_closure(Matter_ReportDataMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_ReportDataMessage, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3171,8 +3068,8 @@ be_local_class(Matter_ReportDataMessage, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(attribute_reports, -1), be_const_var(1) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_ReportDataMessage_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_ReportDataMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_ReportDataMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_ReportDataMessage_to_TLV_closure) }, { be_const_key_weak(more_chunked_messages, -1), be_const_var(3) }, { be_const_key_weak(event_reports, -1), be_const_var(2) }, { be_const_key_weak(suppress_response, -1), be_const_var(4) }, @@ -3180,20 +3077,14 @@ be_local_class(Matter_ReportDataMessage, })), be_str_weak(Matter_ReportDataMessage) ); -/*******************************************************************/ - -void be_load_Matter_ReportDataMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_ReportDataMessage); - be_setglobal(vm, "Matter_ReportDataMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_SubscribeRequestMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_SubscribeRequestMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_SubscribeRequestMessage; +be_local_closure(class_Matter_SubscribeRequestMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3201,7 +3092,7 @@ be_local_closure(Matter_SubscribeRequestMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_SubscribeRequestMessage, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(keep_subscriptions), @@ -3294,7 +3185,8 @@ be_local_closure(Matter_SubscribeRequestMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_SubscribeRequestMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_SubscribeRequestMessage; +be_local_closure(class_Matter_SubscribeRequestMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3302,7 +3194,7 @@ be_local_closure(Matter_SubscribeRequestMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_SubscribeRequestMessage, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3395,7 +3287,7 @@ be_local_class(Matter_SubscribeRequestMessage, &be_class_Matter_IM_Message_base, be_nested_map(10, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_SubscribeRequestMessage_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_SubscribeRequestMessage_to_TLV_closure) }, { be_const_key_weak(attributes_requests, 7), be_const_var(3) }, { be_const_key_weak(fabric_filtered, 6), be_const_var(6) }, { be_const_key_weak(min_interval_floor, -1), be_const_var(1) }, @@ -3403,25 +3295,19 @@ be_local_class(Matter_SubscribeRequestMessage, { be_const_key_weak(max_interval_ceiling, -1), be_const_var(2) }, { be_const_key_weak(event_requests, 3), be_const_var(4) }, { be_const_key_weak(event_filters, -1), be_const_var(5) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_SubscribeRequestMessage_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_SubscribeRequestMessage_from_TLV_closure) }, { be_const_key_weak(keep_subscriptions, 0), be_const_var(0) }, })), be_str_weak(Matter_SubscribeRequestMessage) ); -/*******************************************************************/ - -void be_load_Matter_SubscribeRequestMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_SubscribeRequestMessage); - be_setglobal(vm, "Matter_SubscribeRequestMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_SubscribeResponseMessage; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_SubscribeResponseMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_SubscribeResponseMessage; +be_local_closure(class_Matter_SubscribeResponseMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3429,7 +3315,7 @@ be_local_closure(Matter_SubscribeResponseMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_SubscribeResponseMessage, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3477,7 +3363,8 @@ be_local_closure(Matter_SubscribeResponseMessage_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_SubscribeResponseMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_SubscribeResponseMessage; +be_local_closure(class_Matter_SubscribeResponseMessage_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3485,7 +3372,7 @@ be_local_closure(Matter_SubscribeResponseMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_SubscribeResponseMessage, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(subscription_id), @@ -3527,26 +3414,20 @@ be_local_class(Matter_SubscribeResponseMessage, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(subscription_id, 2), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_SubscribeResponseMessage_to_TLV_closure) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_SubscribeResponseMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_SubscribeResponseMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_SubscribeResponseMessage_from_TLV_closure) }, { be_const_key_weak(max_interval, -1), be_const_var(1) }, })), be_str_weak(Matter_SubscribeResponseMessage) ); -/*******************************************************************/ - -void be_load_Matter_SubscribeResponseMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_SubscribeResponseMessage); - be_setglobal(vm, "Matter_SubscribeResponseMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_WriteRequestMessage; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_WriteRequestMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_WriteRequestMessage; +be_local_closure(class_Matter_WriteRequestMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3554,7 +3435,7 @@ be_local_closure(Matter_WriteRequestMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_WriteRequestMessage, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3616,7 +3497,8 @@ be_local_closure(Matter_WriteRequestMessage_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_WriteRequestMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_WriteRequestMessage; +be_local_closure(class_Matter_WriteRequestMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3624,7 +3506,7 @@ be_local_closure(Matter_WriteRequestMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_WriteRequestMessage, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(suppress_response), @@ -3685,28 +3567,22 @@ be_local_class(Matter_WriteRequestMessage, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(suppress_response, 5), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_WriteRequestMessage_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_WriteRequestMessage_to_TLV_closure) }, { be_const_key_weak(timed_request, -1), be_const_var(1) }, { be_const_key_weak(write_requests, -1), be_const_var(2) }, { be_const_key_weak(more_chunked_messages, -1), be_const_var(3) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_WriteRequestMessage_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_WriteRequestMessage_from_TLV_closure) }, })), be_str_weak(Matter_WriteRequestMessage) ); -/*******************************************************************/ - -void be_load_Matter_WriteRequestMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_WriteRequestMessage); - be_setglobal(vm, "Matter_WriteRequestMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_WriteResponseMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_WriteResponseMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_WriteResponseMessage; +be_local_closure(class_Matter_WriteResponseMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3714,7 +3590,7 @@ be_local_closure(Matter_WriteResponseMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_WriteResponseMessage, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(write_requests), @@ -3750,7 +3626,8 @@ be_local_closure(Matter_WriteResponseMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_WriteResponseMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_WriteResponseMessage; +be_local_closure(class_Matter_WriteResponseMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3758,7 +3635,7 @@ be_local_closure(Matter_WriteResponseMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_WriteResponseMessage, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3804,26 +3681,20 @@ be_local_class(Matter_WriteResponseMessage, &be_class_Matter_IM_Message_base, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, 2), be_const_closure(Matter_WriteResponseMessage_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_WriteResponseMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, 2), be_const_closure(class_Matter_WriteResponseMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_WriteResponseMessage_to_TLV_closure) }, { be_const_key_weak(write_responses, -1), be_const_var(0) }, })), be_str_weak(Matter_WriteResponseMessage) ); -/*******************************************************************/ - -void be_load_Matter_WriteResponseMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_WriteResponseMessage); - be_setglobal(vm, "Matter_WriteResponseMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_TimedRequestMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_TimedRequestMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_TimedRequestMessage; +be_local_closure(class_Matter_TimedRequestMessage_from_TLV, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3831,7 +3702,7 @@ be_local_closure(Matter_TimedRequestMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TimedRequestMessage, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(timeout), @@ -3860,7 +3731,8 @@ be_local_closure(Matter_TimedRequestMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_TimedRequestMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_TimedRequestMessage; +be_local_closure(class_Matter_TimedRequestMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3868,7 +3740,7 @@ be_local_closure(Matter_TimedRequestMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TimedRequestMessage, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -3914,26 +3786,20 @@ be_local_class(Matter_TimedRequestMessage, &be_class_Matter_IM_Message_base, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_TimedRequestMessage_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_TimedRequestMessage_from_TLV_closure) }, { be_const_key_weak(timeout, 2), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_TimedRequestMessage_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_TimedRequestMessage_to_TLV_closure) }, })), be_str_weak(Matter_TimedRequestMessage) ); -/*******************************************************************/ - -void be_load_Matter_TimedRequestMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TimedRequestMessage); - be_setglobal(vm, "Matter_TimedRequestMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_InvokeRequestMessage; /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_InvokeRequestMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_InvokeRequestMessage; +be_local_closure(class_Matter_InvokeRequestMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3941,7 +3807,7 @@ be_local_closure(Matter_InvokeRequestMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeRequestMessage, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(suppress_response), @@ -3989,7 +3855,8 @@ be_local_closure(Matter_InvokeRequestMessage_from_TLV, /* name */ /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_InvokeRequestMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_InvokeRequestMessage; +be_local_closure(class_Matter_InvokeRequestMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3997,7 +3864,7 @@ be_local_closure(Matter_InvokeRequestMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeRequestMessage, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -4061,25 +3928,19 @@ be_local_class(Matter_InvokeRequestMessage, { be_const_key_weak(invoke_requests, -1), be_const_var(2) }, { be_const_key_weak(suppress_response, 2), be_const_var(0) }, { be_const_key_weak(timed_request, -1), be_const_var(1) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_InvokeRequestMessage_from_TLV_closure) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_InvokeRequestMessage_to_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_InvokeRequestMessage_from_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_InvokeRequestMessage_to_TLV_closure) }, })), be_str_weak(Matter_InvokeRequestMessage) ); -/*******************************************************************/ - -void be_load_Matter_InvokeRequestMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_InvokeRequestMessage); - be_setglobal(vm, "Matter_InvokeRequestMessage"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_InvokeRequestMessage_solo; /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_InvokeRequestMessage_solo_reset, /* name */ +extern const bclass be_class_Matter_InvokeRequestMessage_solo; +be_local_closure(class_Matter_InvokeRequestMessage_solo_reset, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -4087,7 +3948,7 @@ be_local_closure(Matter_InvokeRequestMessage_solo_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeRequestMessage_solo, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -4117,7 +3978,8 @@ be_local_closure(Matter_InvokeRequestMessage_solo_reset, /* name */ /******************************************************************** ** Solidified function: from_raw ********************************************************************/ -be_local_closure(Matter_InvokeRequestMessage_solo_from_raw, /* name */ +extern const bclass be_class_Matter_InvokeRequestMessage_solo; +be_local_closure(class_Matter_InvokeRequestMessage_solo_from_raw, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -4125,7 +3987,7 @@ be_local_closure(Matter_InvokeRequestMessage_solo_from_raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeRequestMessage_solo, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -4335,26 +4197,20 @@ be_local_class(Matter_InvokeRequestMessage_solo, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(SuppressResponse, 4), be_const_var(0) }, { be_const_key_weak(command_fields, 3), be_const_var(2) }, - { be_const_key_weak(reset, -1), be_const_closure(Matter_InvokeRequestMessage_solo_reset_closure) }, - { be_const_key_weak(from_raw, -1), be_const_closure(Matter_InvokeRequestMessage_solo_from_raw_closure) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_InvokeRequestMessage_solo_reset_closure) }, + { be_const_key_weak(from_raw, -1), be_const_closure(class_Matter_InvokeRequestMessage_solo_from_raw_closure) }, { be_const_key_weak(TimedRequest, -1), be_const_var(1) }, })), be_str_weak(Matter_InvokeRequestMessage_solo) ); -/*******************************************************************/ - -void be_load_Matter_InvokeRequestMessage_solo_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_InvokeRequestMessage_solo); - be_setglobal(vm, "Matter_InvokeRequestMessage_solo"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_InvokeResponseMessage; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_InvokeResponseMessage_to_TLV, /* name */ +extern const bclass be_class_Matter_InvokeResponseMessage; +be_local_closure(class_Matter_InvokeResponseMessage_to_TLV, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -4362,7 +4218,7 @@ be_local_closure(Matter_InvokeResponseMessage_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeResponseMessage, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -4410,7 +4266,8 @@ be_local_closure(Matter_InvokeResponseMessage_to_TLV, /* name */ /******************************************************************** ** Solidified function: from_TLV ********************************************************************/ -be_local_closure(Matter_InvokeResponseMessage_from_TLV, /* name */ +extern const bclass be_class_Matter_InvokeResponseMessage; +be_local_closure(class_Matter_InvokeResponseMessage_from_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4418,7 +4275,7 @@ be_local_closure(Matter_InvokeResponseMessage_from_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_InvokeResponseMessage, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(suppress_response), @@ -4467,18 +4324,11 @@ be_local_class(Matter_InvokeResponseMessage, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(suppress_response, 3), be_const_var(0) }, - { be_const_key_weak(to_TLV, -1), be_const_closure(Matter_InvokeResponseMessage_to_TLV_closure) }, + { be_const_key_weak(to_TLV, -1), be_const_closure(class_Matter_InvokeResponseMessage_to_TLV_closure) }, { be_const_key_weak(invoke_responses, -1), be_const_var(1) }, - { be_const_key_weak(from_TLV, -1), be_const_closure(Matter_InvokeResponseMessage_from_TLV_closure) }, + { be_const_key_weak(from_TLV, -1), be_const_closure(class_Matter_InvokeResponseMessage_from_TLV_closure) }, })), be_str_weak(Matter_InvokeResponseMessage) ); -/*******************************************************************/ - -void be_load_Matter_InvokeResponseMessage_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_InvokeResponseMessage); - be_setglobal(vm, "Matter_InvokeResponseMessage"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Message.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Message.h index 61bae0147..95e1edc55 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Message.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Message.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_IM_Message; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_Message_init, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_IM_Message_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -40,7 +41,8 @@ be_local_closure(Matter_IM_Message_init, /* name */ /******************************************************************** ** Solidified function: get_exchangeid ********************************************************************/ -be_local_closure(Matter_IM_Message_get_exchangeid, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_get_exchangeid, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_IM_Message_get_exchangeid, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(resp), @@ -69,7 +71,8 @@ be_local_closure(Matter_IM_Message_get_exchangeid, /* name */ /******************************************************************** ** Solidified function: send_im ********************************************************************/ -be_local_closure(Matter_IM_Message_send_im, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_send_im, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -77,7 +80,7 @@ be_local_closure(Matter_IM_Message_send_im, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(ready), @@ -152,7 +155,8 @@ be_local_closure(Matter_IM_Message_send_im, /* name */ /******************************************************************** ** Solidified function: status_error_received ********************************************************************/ -be_local_closure(Matter_IM_Message_status_error_received, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_status_error_received, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -160,7 +164,7 @@ be_local_closure(Matter_IM_Message_status_error_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 0, /* has constants */ NULL, /* no const */ be_str_weak(status_error_received), @@ -176,7 +180,8 @@ be_local_closure(Matter_IM_Message_status_error_received, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_IM_Message_reset, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_reset, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -184,7 +189,7 @@ be_local_closure(Matter_IM_Message_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(resp), @@ -230,7 +235,8 @@ be_local_closure(Matter_IM_Message_reset, /* name */ /******************************************************************** ** Solidified function: reached_timeout ********************************************************************/ -be_local_closure(Matter_IM_Message_reached_timeout, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_reached_timeout, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -238,7 +244,7 @@ be_local_closure(Matter_IM_Message_reached_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 0, /* has constants */ NULL, /* no const */ be_str_weak(reached_timeout), @@ -254,7 +260,8 @@ be_local_closure(Matter_IM_Message_reached_timeout, /* name */ /******************************************************************** ** Solidified function: status_ok_received ********************************************************************/ -be_local_closure(Matter_IM_Message_status_ok_received, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_status_ok_received, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -262,7 +269,7 @@ be_local_closure(Matter_IM_Message_status_ok_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(expiration), @@ -306,7 +313,8 @@ be_local_closure(Matter_IM_Message_status_ok_received, /* name */ /******************************************************************** ** Solidified function: ack_received ********************************************************************/ -be_local_closure(Matter_IM_Message_ack_received, /* name */ +extern const bclass be_class_Matter_IM_Message; +be_local_closure(class_Matter_IM_Message_ack_received, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -314,7 +322,7 @@ be_local_closure(Matter_IM_Message_ack_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Message, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(expiration), @@ -347,38 +355,32 @@ be_local_class(Matter_IM_Message, NULL, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, 11), be_const_closure(Matter_IM_Message_init_closure) }, - { be_const_key_weak(get_exchangeid, 10), be_const_closure(Matter_IM_Message_get_exchangeid_closure) }, - { be_const_key_weak(reset, -1), be_const_closure(Matter_IM_Message_reset_closure) }, - { be_const_key_weak(send_im, -1), be_const_closure(Matter_IM_Message_send_im_closure) }, - { be_const_key_weak(status_error_received, -1), be_const_closure(Matter_IM_Message_status_error_received_closure) }, + { be_const_key_weak(init, 11), be_const_closure(class_Matter_IM_Message_init_closure) }, + { be_const_key_weak(get_exchangeid, 10), be_const_closure(class_Matter_IM_Message_get_exchangeid_closure) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_IM_Message_reset_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_Message_send_im_closure) }, + { be_const_key_weak(status_error_received, -1), be_const_closure(class_Matter_IM_Message_status_error_received_closure) }, { be_const_key_weak(finish, -1), be_const_var(3) }, - { be_const_key_weak(status_ok_received, 2), be_const_closure(Matter_IM_Message_status_ok_received_closure) }, + { be_const_key_weak(status_ok_received, 2), be_const_closure(class_Matter_IM_Message_status_ok_received_closure) }, { be_const_key_weak(last_counter, -1), be_const_var(5) }, - { be_const_key_weak(reached_timeout, -1), be_const_closure(Matter_IM_Message_reached_timeout_closure) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_Message_reached_timeout_closure) }, { be_const_key_weak(resp, -1), be_const_var(1) }, { be_const_key_weak(data, -1), be_const_var(4) }, { be_const_key_weak(expiration, -1), be_const_var(0) }, { be_const_key_weak(ready, 6), be_const_var(2) }, { be_const_key_weak(MSG_TIMEOUT, 5), be_const_int(5000) }, - { be_const_key_weak(ack_received, -1), be_const_closure(Matter_IM_Message_ack_received_closure) }, + { be_const_key_weak(ack_received, -1), be_const_closure(class_Matter_IM_Message_ack_received_closure) }, })), be_str_weak(Matter_IM_Message) ); -/*******************************************************************/ - -void be_load_Matter_IM_Message_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_Message); - be_setglobal(vm, "Matter_IM_Message"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_Status; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_Status_init, /* name */ +extern const bclass be_class_Matter_IM_Status; +be_local_closure(class_Matter_IM_Status_init, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -386,7 +388,7 @@ be_local_closure(Matter_IM_Status_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Status, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -428,24 +430,18 @@ be_local_class(Matter_IM_Status, &be_class_Matter_IM_Message, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_Status_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_Status_init_closure) }, })), be_str_weak(Matter_IM_Status) ); -/*******************************************************************/ - -void be_load_Matter_IM_Status_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_Status); - be_setglobal(vm, "Matter_IM_Status"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_InvokeResponse; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_InvokeResponse_init, /* name */ +extern const bclass be_class_Matter_IM_InvokeResponse; +be_local_closure(class_Matter_IM_InvokeResponse_init, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -453,7 +449,7 @@ be_local_closure(Matter_IM_InvokeResponse_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_InvokeResponse, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -487,24 +483,18 @@ be_local_class(Matter_IM_InvokeResponse, &be_class_Matter_IM_Message, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_InvokeResponse_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_InvokeResponse_init_closure) }, })), be_str_weak(Matter_IM_InvokeResponse) ); -/*******************************************************************/ - -void be_load_Matter_IM_InvokeResponse_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_InvokeResponse); - be_setglobal(vm, "Matter_IM_InvokeResponse"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_WriteResponse; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_WriteResponse_init, /* name */ +extern const bclass be_class_Matter_IM_WriteResponse; +be_local_closure(class_Matter_IM_WriteResponse_init, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -512,7 +502,7 @@ be_local_closure(Matter_IM_WriteResponse_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_WriteResponse, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -546,24 +536,18 @@ be_local_class(Matter_IM_WriteResponse, &be_class_Matter_IM_Message, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_WriteResponse_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_WriteResponse_init_closure) }, })), be_str_weak(Matter_IM_WriteResponse) ); -/*******************************************************************/ - -void be_load_Matter_IM_WriteResponse_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_WriteResponse); - be_setglobal(vm, "Matter_IM_WriteResponse"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_ReportData; /******************************************************************** ** Solidified function: send_im ********************************************************************/ -be_local_closure(Matter_IM_ReportData_send_im, /* name */ +extern const bclass be_class_Matter_IM_ReportData; +be_local_closure(class_Matter_IM_ReportData_send_im, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -571,7 +555,7 @@ be_local_closure(Matter_IM_ReportData_send_im, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportData, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(ready), @@ -671,7 +655,8 @@ be_local_closure(Matter_IM_ReportData_send_im, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_ReportData_init, /* name */ +extern const bclass be_class_Matter_IM_ReportData; +be_local_closure(class_Matter_IM_ReportData_init, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -679,7 +664,7 @@ be_local_closure(Matter_IM_ReportData_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportData, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -713,26 +698,20 @@ be_local_class(Matter_IM_ReportData, &be_class_Matter_IM_Message, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(send_im, 1), be_const_closure(Matter_IM_ReportData_send_im_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_ReportData_init_closure) }, + { be_const_key_weak(send_im, 1), be_const_closure(class_Matter_IM_ReportData_send_im_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_ReportData_init_closure) }, { be_const_key_weak(MAX_MESSAGE, -1), be_const_int(1200) }, })), be_str_weak(Matter_IM_ReportData) ); -/*******************************************************************/ - -void be_load_Matter_IM_ReportData_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_ReportData); - be_setglobal(vm, "Matter_IM_ReportData"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_ReportDataSubscribed; /******************************************************************** ** Solidified function: ack_received ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_ack_received, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_ack_received, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -740,7 +719,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_ack_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(ack_received), @@ -781,7 +760,8 @@ be_local_closure(Matter_IM_ReportDataSubscribed_ack_received, /* name */ /******************************************************************** ** Solidified function: send_im ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_send_im, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_send_im, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -789,7 +769,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_send_im, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(ready), @@ -900,7 +880,8 @@ be_local_closure(Matter_IM_ReportDataSubscribed_send_im, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_init, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_init, /* name */ be_nested_proto( 11, /* nstack */ 5, /* argc */ @@ -908,7 +889,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(resp), @@ -958,7 +939,8 @@ be_local_closure(Matter_IM_ReportDataSubscribed_init, /* name */ /******************************************************************** ** Solidified function: status_error_received ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_status_error_received, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_status_error_received, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -966,7 +948,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_status_error_received, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(sub), @@ -988,7 +970,8 @@ be_local_closure(Matter_IM_ReportDataSubscribed_status_error_received, /* name /******************************************************************** ** Solidified function: reached_timeout ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_reached_timeout, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_reached_timeout, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -996,7 +979,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_reached_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(sub), @@ -1018,7 +1001,8 @@ be_local_closure(Matter_IM_ReportDataSubscribed_reached_timeout, /* name */ /******************************************************************** ** Solidified function: status_ok_received ********************************************************************/ -be_local_closure(Matter_IM_ReportDataSubscribed_status_ok_received, /* name */ +extern const bclass be_class_Matter_IM_ReportDataSubscribed; +be_local_closure(class_Matter_IM_ReportDataSubscribed_status_ok_received, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1026,7 +1010,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_status_ok_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_ReportDataSubscribed, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(report_data_phase), @@ -1074,31 +1058,25 @@ be_local_class(Matter_IM_ReportDataSubscribed, &be_class_Matter_IM_ReportData, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ack_received, 1), be_const_closure(Matter_IM_ReportDataSubscribed_ack_received_closure) }, - { be_const_key_weak(status_ok_received, -1), be_const_closure(Matter_IM_ReportDataSubscribed_status_ok_received_closure) }, - { be_const_key_weak(send_im, -1), be_const_closure(Matter_IM_ReportDataSubscribed_send_im_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_ReportDataSubscribed_init_closure) }, + { be_const_key_weak(ack_received, 1), be_const_closure(class_Matter_IM_ReportDataSubscribed_ack_received_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_status_ok_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_send_im_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_init_closure) }, { be_const_key_weak(report_data_phase, 7), be_const_var(1) }, { be_const_key_weak(sub, 6), be_const_var(0) }, - { be_const_key_weak(reached_timeout, -1), be_const_closure(Matter_IM_ReportDataSubscribed_reached_timeout_closure) }, - { be_const_key_weak(status_error_received, -1), be_const_closure(Matter_IM_ReportDataSubscribed_status_error_received_closure) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_reached_timeout_closure) }, + { be_const_key_weak(status_error_received, -1), be_const_closure(class_Matter_IM_ReportDataSubscribed_status_error_received_closure) }, })), be_str_weak(Matter_IM_ReportDataSubscribed) ); -/*******************************************************************/ - -void be_load_Matter_IM_ReportDataSubscribed_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_ReportDataSubscribed); - be_setglobal(vm, "Matter_IM_ReportDataSubscribed"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_SubscribedHeartbeat; /******************************************************************** ** Solidified function: status_error_received ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_status_error_received, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_status_error_received, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -1106,7 +1084,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_status_error_received, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(sub), @@ -1129,7 +1107,8 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_status_error_received, /* name /******************************************************************** ** Solidified function: send_im ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_send_im, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_send_im, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1137,7 +1116,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_send_im, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(ready), @@ -1168,7 +1147,8 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_send_im, /* name */ /******************************************************************** ** Solidified function: ack_received ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_ack_received, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_ack_received, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1176,7 +1156,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_ack_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(ack_received), @@ -1204,7 +1184,8 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_ack_received, /* name */ /******************************************************************** ** Solidified function: reached_timeout ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_reached_timeout, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_reached_timeout, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1212,7 +1193,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_reached_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(sub), @@ -1234,7 +1215,8 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_reached_timeout, /* name */ /******************************************************************** ** Solidified function: status_ok_received ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_status_ok_received, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_status_ok_received, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -1242,7 +1224,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_status_ok_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 0, /* has constants */ NULL, /* no const */ be_str_weak(status_ok_received), @@ -1259,7 +1241,8 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_status_ok_received, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_SubscribedHeartbeat_init, /* name */ +extern const bclass be_class_Matter_IM_SubscribedHeartbeat; +be_local_closure(class_Matter_IM_SubscribedHeartbeat_init, /* name */ be_nested_proto( 11, /* nstack */ 5, /* argc */ @@ -1267,7 +1250,7 @@ be_local_closure(Matter_IM_SubscribedHeartbeat_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribedHeartbeat, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(resp), @@ -1320,30 +1303,24 @@ be_local_class(Matter_IM_SubscribedHeartbeat, &be_class_Matter_IM_ReportData, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, 1), be_const_closure(Matter_IM_SubscribedHeartbeat_init_closure) }, - { be_const_key_weak(status_ok_received, -1), be_const_closure(Matter_IM_SubscribedHeartbeat_status_ok_received_closure) }, + { be_const_key_weak(init, 1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_init_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_status_ok_received_closure) }, { be_const_key_weak(sub, 6), be_const_var(0) }, - { be_const_key_weak(ack_received, -1), be_const_closure(Matter_IM_SubscribedHeartbeat_ack_received_closure) }, - { be_const_key_weak(reached_timeout, -1), be_const_closure(Matter_IM_SubscribedHeartbeat_reached_timeout_closure) }, - { be_const_key_weak(status_error_received, 0), be_const_closure(Matter_IM_SubscribedHeartbeat_status_error_received_closure) }, - { be_const_key_weak(send_im, -1), be_const_closure(Matter_IM_SubscribedHeartbeat_send_im_closure) }, + { be_const_key_weak(ack_received, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_ack_received_closure) }, + { be_const_key_weak(reached_timeout, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_reached_timeout_closure) }, + { be_const_key_weak(status_error_received, 0), be_const_closure(class_Matter_IM_SubscribedHeartbeat_status_error_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_SubscribedHeartbeat_send_im_closure) }, })), be_str_weak(Matter_IM_SubscribedHeartbeat) ); -/*******************************************************************/ - -void be_load_Matter_IM_SubscribedHeartbeat_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_SubscribedHeartbeat); - be_setglobal(vm, "Matter_IM_SubscribedHeartbeat"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_SubscribeResponse; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_SubscribeResponse_init, /* name */ +extern const bclass be_class_Matter_IM_SubscribeResponse; +be_local_closure(class_Matter_IM_SubscribeResponse_init, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -1351,7 +1328,7 @@ be_local_closure(Matter_IM_SubscribeResponse_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribeResponse, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1381,7 +1358,8 @@ be_local_closure(Matter_IM_SubscribeResponse_init, /* name */ /******************************************************************** ** Solidified function: status_ok_received ********************************************************************/ -be_local_closure(Matter_IM_SubscribeResponse_status_ok_received, /* name */ +extern const bclass be_class_Matter_IM_SubscribeResponse; +be_local_closure(class_Matter_IM_SubscribeResponse_status_ok_received, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1389,7 +1367,7 @@ be_local_closure(Matter_IM_SubscribeResponse_status_ok_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribeResponse, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -1438,7 +1416,8 @@ be_local_closure(Matter_IM_SubscribeResponse_status_ok_received, /* name */ /******************************************************************** ** Solidified function: send_im ********************************************************************/ -be_local_closure(Matter_IM_SubscribeResponse_send_im, /* name */ +extern const bclass be_class_Matter_IM_SubscribeResponse; +be_local_closure(class_Matter_IM_SubscribeResponse_send_im, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1446,7 +1425,7 @@ be_local_closure(Matter_IM_SubscribeResponse_send_im, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_SubscribeResponse, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(ready), @@ -1540,20 +1519,13 @@ be_local_class(Matter_IM_SubscribeResponse, &be_class_Matter_IM_ReportData, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, 4), be_const_closure(Matter_IM_SubscribeResponse_init_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_Matter_IM_SubscribeResponse_init_closure) }, { be_const_key_weak(sub, -1), be_const_var(0) }, - { be_const_key_weak(status_ok_received, -1), be_const_closure(Matter_IM_SubscribeResponse_status_ok_received_closure) }, - { be_const_key_weak(send_im, -1), be_const_closure(Matter_IM_SubscribeResponse_send_im_closure) }, + { be_const_key_weak(status_ok_received, -1), be_const_closure(class_Matter_IM_SubscribeResponse_status_ok_received_closure) }, + { be_const_key_weak(send_im, -1), be_const_closure(class_Matter_IM_SubscribeResponse_send_im_closure) }, { be_const_key_weak(report_data_phase, -1), be_const_var(1) }, })), be_str_weak(Matter_IM_SubscribeResponse) ); -/*******************************************************************/ - -void be_load_Matter_IM_SubscribeResponse_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_SubscribeResponse); - be_setglobal(vm, "Matter_IM_SubscribeResponse"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Subscription.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Subscription.h index 63b370196..0f715f024 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Subscription.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_IM_Subscription.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_IM_Subscription; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_Subscription_init, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription_init, /* name */ be_nested_proto( 13, /* nstack */ 5, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_IM_Subscription_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ /* K0 */ be_nested_str_weak(subs_shop), @@ -116,7 +117,8 @@ be_local_closure(Matter_IM_Subscription_init, /* name */ /******************************************************************** ** Solidified function: _add_attribute_unique_path ********************************************************************/ -be_local_closure(Matter_IM_Subscription__add_attribute_unique_path, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription__add_attribute_unique_path, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -124,7 +126,7 @@ be_local_closure(Matter_IM_Subscription__add_attribute_unique_path, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -175,7 +177,8 @@ be_local_closure(Matter_IM_Subscription__add_attribute_unique_path, /* name */ /******************************************************************** ** Solidified function: remove_self ********************************************************************/ -be_local_closure(Matter_IM_Subscription_remove_self, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription_remove_self, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -183,7 +186,7 @@ be_local_closure(Matter_IM_Subscription_remove_self, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -219,7 +222,8 @@ be_local_closure(Matter_IM_Subscription_remove_self, /* name */ /******************************************************************** ** Solidified function: clear_before_arm ********************************************************************/ -be_local_closure(Matter_IM_Subscription_clear_before_arm, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription_clear_before_arm, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -227,7 +231,7 @@ be_local_closure(Matter_IM_Subscription_clear_before_arm, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(updates), @@ -252,7 +256,8 @@ be_local_closure(Matter_IM_Subscription_clear_before_arm, /* name */ /******************************************************************** ** Solidified function: attribute_updated_ctx ********************************************************************/ -be_local_closure(Matter_IM_Subscription_attribute_updated_ctx, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription_attribute_updated_ctx, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -260,7 +265,7 @@ be_local_closure(Matter_IM_Subscription_attribute_updated_ctx, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -321,7 +326,8 @@ be_local_closure(Matter_IM_Subscription_attribute_updated_ctx, /* name */ /******************************************************************** ** Solidified function: re_arm ********************************************************************/ -be_local_closure(Matter_IM_Subscription_re_arm, /* name */ +extern const bclass be_class_Matter_IM_Subscription; +be_local_closure(class_Matter_IM_Subscription_re_arm, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -329,7 +335,7 @@ be_local_closure(Matter_IM_Subscription_re_arm, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(wait_status), @@ -394,41 +400,35 @@ be_local_class(Matter_IM_Subscription, be_nested_map(19, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(not_before, -1), be_const_var(7) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_IM_Subscription_init_closure) }, - { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(Matter_IM_Subscription_attribute_updated_ctx_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_IM_Subscription_init_closure) }, + { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(class_Matter_IM_Subscription_attribute_updated_ctx_closure) }, { be_const_key_weak(updates, -1), be_const_var(11) }, { be_const_key_weak(min_interval, -1), be_const_var(4) }, { be_const_key_weak(expiration, -1), be_const_var(8) }, { be_const_key_weak(subscription_id, 3), be_const_var(1) }, { be_const_key_weak(subs_shop, -1), be_const_var(0) }, { be_const_key_weak(max_interval, -1), be_const_var(5) }, - { be_const_key_weak(remove_self, 1), be_const_closure(Matter_IM_Subscription_remove_self_closure) }, + { be_const_key_weak(remove_self, 1), be_const_closure(class_Matter_IM_Subscription_remove_self_closure) }, { be_const_key_weak(MAX_INTERVAL_MARGIN, -1), be_const_int(5) }, { be_const_key_weak(fabric_filtered, 7), be_const_var(6) }, - { be_const_key_weak(_add_attribute_unique_path, 11), be_const_closure(Matter_IM_Subscription__add_attribute_unique_path_closure) }, + { be_const_key_weak(_add_attribute_unique_path, 11), be_const_closure(class_Matter_IM_Subscription__add_attribute_unique_path_closure) }, { be_const_key_weak(path_list, 9), be_const_var(3) }, { be_const_key_weak(is_keep_alive, -1), be_const_var(10) }, - { be_const_key_weak(clear_before_arm, -1), be_const_closure(Matter_IM_Subscription_clear_before_arm_closure) }, + { be_const_key_weak(clear_before_arm, -1), be_const_closure(class_Matter_IM_Subscription_clear_before_arm_closure) }, { be_const_key_weak(session, 2), be_const_var(2) }, - { be_const_key_weak(re_arm, -1), be_const_closure(Matter_IM_Subscription_re_arm_closure) }, + { be_const_key_weak(re_arm, -1), be_const_closure(class_Matter_IM_Subscription_re_arm_closure) }, { be_const_key_weak(wait_status, 0), be_const_var(9) }, })), be_str_weak(Matter_IM_Subscription) ); -/*******************************************************************/ - -void be_load_Matter_IM_Subscription_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_Subscription); - be_setglobal(vm, "Matter_IM_Subscription"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_IM_Subscription_Shop; /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_every_250ms, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_every_250ms, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -436,7 +436,7 @@ be_local_closure(Matter_IM_Subscription_Shop_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_const_int(0), @@ -520,7 +520,8 @@ be_local_closure(Matter_IM_Subscription_Shop_every_250ms, /* name */ /******************************************************************** ** Solidified function: get_by_id ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_get_by_id, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_get_by_id, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -528,7 +529,7 @@ be_local_closure(Matter_IM_Subscription_Shop_get_by_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -565,7 +566,8 @@ be_local_closure(Matter_IM_Subscription_Shop_get_by_id, /* name */ /******************************************************************** ** Solidified function: new_subscription ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_new_subscription, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_new_subscription, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -573,7 +575,7 @@ be_local_closure(Matter_IM_Subscription_Shop_new_subscription, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -632,7 +634,8 @@ be_local_closure(Matter_IM_Subscription_Shop_new_subscription, /* name */ /******************************************************************** ** Solidified function: remove_sub ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_remove_sub, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_remove_sub, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -640,7 +643,7 @@ be_local_closure(Matter_IM_Subscription_Shop_remove_sub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -678,7 +681,8 @@ be_local_closure(Matter_IM_Subscription_Shop_remove_sub, /* name */ /******************************************************************** ** Solidified function: attribute_updated_ctx ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_attribute_updated_ctx, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_attribute_updated_ctx, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -686,7 +690,7 @@ be_local_closure(Matter_IM_Subscription_Shop_attribute_updated_ctx, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -721,7 +725,8 @@ be_local_closure(Matter_IM_Subscription_Shop_attribute_updated_ctx, /* name */ /******************************************************************** ** Solidified function: remove_by_session ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_remove_by_session, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_remove_by_session, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -729,7 +734,7 @@ be_local_closure(Matter_IM_Subscription_Shop_remove_by_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -769,7 +774,8 @@ be_local_closure(Matter_IM_Subscription_Shop_remove_by_session, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_init, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_init, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -777,7 +783,7 @@ be_local_closure(Matter_IM_Subscription_Shop_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(im), @@ -800,7 +806,8 @@ be_local_closure(Matter_IM_Subscription_Shop_init, /* name */ /******************************************************************** ** Solidified function: remove_by_fabric ********************************************************************/ -be_local_closure(Matter_IM_Subscription_Shop_remove_by_fabric, /* name */ +extern const bclass be_class_Matter_IM_Subscription_Shop; +be_local_closure(class_Matter_IM_Subscription_Shop_remove_by_fabric, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -808,7 +815,7 @@ be_local_closure(Matter_IM_Subscription_Shop_remove_by_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_IM_Subscription_Shop, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_sessions), @@ -846,25 +853,18 @@ be_local_class(Matter_IM_Subscription_Shop, NULL, be_nested_map(10, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_IM_Subscription_Shop_every_250ms_closure) }, - { be_const_key_weak(get_by_id, -1), be_const_closure(Matter_IM_Subscription_Shop_get_by_id_closure) }, - { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(Matter_IM_Subscription_Shop_attribute_updated_ctx_closure) }, - { be_const_key_weak(init, 2), be_const_closure(Matter_IM_Subscription_Shop_init_closure) }, - { be_const_key_weak(remove_sub, -1), be_const_closure(Matter_IM_Subscription_Shop_remove_sub_closure) }, - { be_const_key_weak(new_subscription, 3), be_const_closure(Matter_IM_Subscription_Shop_new_subscription_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_IM_Subscription_Shop_every_250ms_closure) }, + { be_const_key_weak(get_by_id, -1), be_const_closure(class_Matter_IM_Subscription_Shop_get_by_id_closure) }, + { be_const_key_weak(attribute_updated_ctx, -1), be_const_closure(class_Matter_IM_Subscription_Shop_attribute_updated_ctx_closure) }, + { be_const_key_weak(init, 2), be_const_closure(class_Matter_IM_Subscription_Shop_init_closure) }, + { be_const_key_weak(remove_sub, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_sub_closure) }, + { be_const_key_weak(new_subscription, 3), be_const_closure(class_Matter_IM_Subscription_Shop_new_subscription_closure) }, { be_const_key_weak(subs, 8), be_const_var(0) }, { be_const_key_weak(im, -1), be_const_var(1) }, - { be_const_key_weak(remove_by_session, -1), be_const_closure(Matter_IM_Subscription_Shop_remove_by_session_closure) }, - { be_const_key_weak(remove_by_fabric, -1), be_const_closure(Matter_IM_Subscription_Shop_remove_by_fabric_closure) }, + { be_const_key_weak(remove_by_session, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_by_session_closure) }, + { be_const_key_weak(remove_by_fabric, -1), be_const_closure(class_Matter_IM_Subscription_Shop_remove_by_fabric_closure) }, })), be_str_weak(Matter_IM_Subscription_Shop) ); -/*******************************************************************/ - -void be_load_Matter_IM_Subscription_Shop_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_IM_Subscription_Shop); - be_setglobal(vm, "Matter_IM_Subscription_Shop"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h index 43e1ef88a..fdbb70859 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Message.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Frame; /******************************************************************** ** Solidified function: encode_frame ********************************************************************/ -be_local_closure(Matter_Frame_encode_frame, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_encode_frame, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Frame_encode_frame, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[29]) { /* constants */ /* K0 */ be_const_int(0), @@ -217,7 +218,8 @@ be_local_closure(Matter_Frame_encode_frame, /* name */ /******************************************************************** ** Solidified function: encrypt ********************************************************************/ -be_local_closure(Matter_Frame_encrypt, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_encrypt, /* name */ be_nested_proto( 23, /* nstack */ 1, /* argc */ @@ -225,7 +227,7 @@ be_local_closure(Matter_Frame_encrypt, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -322,7 +324,8 @@ be_local_closure(Matter_Frame_encrypt, /* name */ /******************************************************************** ** Solidified function: debug ********************************************************************/ -be_local_closure(Matter_Frame_debug, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_debug, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -330,7 +333,7 @@ be_local_closure(Matter_Frame_debug, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -361,7 +364,8 @@ be_local_closure(Matter_Frame_debug, /* name */ /******************************************************************** ** Solidified function: build_standalone_ack ********************************************************************/ -be_local_closure(Matter_Frame_build_standalone_ack, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_build_standalone_ack, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -369,7 +373,7 @@ be_local_closure(Matter_Frame_build_standalone_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(message_handler), @@ -451,7 +455,8 @@ be_local_closure(Matter_Frame_build_standalone_ack, /* name */ /******************************************************************** ** Solidified function: build_response ********************************************************************/ -be_local_closure(Matter_Frame_build_response, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_build_response, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -459,7 +464,7 @@ be_local_closure(Matter_Frame_build_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ /* K0 */ be_nested_str_weak(message_handler), @@ -596,7 +601,8 @@ be_local_closure(Matter_Frame_build_response, /* name */ /******************************************************************** ** Solidified function: initiate_response ********************************************************************/ -be_local_closure(Matter_Frame_initiate_response, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_initiate_response, /* name */ be_nested_proto( 9, /* nstack */ 5, /* argc */ @@ -604,7 +610,7 @@ be_local_closure(Matter_Frame_initiate_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Frame), @@ -689,7 +695,8 @@ be_local_closure(Matter_Frame_initiate_response, /* name */ /******************************************************************** ** Solidified function: decode_header ********************************************************************/ -be_local_closure(Matter_Frame_decode_header, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_decode_header, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -697,7 +704,7 @@ be_local_closure(Matter_Frame_decode_header, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_const_int(0), @@ -855,7 +862,8 @@ be_local_closure(Matter_Frame_decode_header, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Frame_init, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_init, /* name */ be_nested_proto( 5, /* nstack */ 5, /* argc */ @@ -863,7 +871,7 @@ be_local_closure(Matter_Frame_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(message_handler), @@ -888,7 +896,8 @@ be_local_closure(Matter_Frame_init, /* name */ /******************************************************************** ** Solidified function: decode_payload ********************************************************************/ -be_local_closure(Matter_Frame_decode_payload, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_decode_payload, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -896,7 +905,7 @@ be_local_closure(Matter_Frame_decode_payload, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(payload_idx), @@ -1024,7 +1033,8 @@ be_local_closure(Matter_Frame_decode_payload, /* name */ /******************************************************************** ** Solidified function: decrypt ********************************************************************/ -be_local_closure(Matter_Frame_decrypt, /* name */ +extern const bclass be_class_Matter_Frame; +be_local_closure(class_Matter_Frame_decrypt, /* name */ be_nested_proto( 23, /* nstack */ 1, /* argc */ @@ -1032,7 +1042,7 @@ be_local_closure(Matter_Frame_decrypt, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Frame, 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1206,26 +1216,26 @@ be_local_class(Matter_Frame, { be_const_key_weak(x_flag_a, -1), be_const_var(21) }, { be_const_key_weak(exchange_id, -1), be_const_var(24) }, { be_const_key_weak(opcode, -1), be_const_var(23) }, - { be_const_key_weak(encode_frame, -1), be_const_closure(Matter_Frame_encode_frame_closure) }, + { be_const_key_weak(encode_frame, -1), be_const_closure(class_Matter_Frame_encode_frame_closure) }, { be_const_key_weak(app_payload_idx, -1), be_const_var(29) }, { be_const_key_weak(payload_idx, -1), be_const_var(3) }, { be_const_key_weak(ack_message_counter, 24), be_const_var(27) }, - { be_const_key_weak(build_standalone_ack, -1), be_const_closure(Matter_Frame_build_standalone_ack_closure) }, + { be_const_key_weak(build_standalone_ack, -1), be_const_closure(class_Matter_Frame_build_standalone_ack_closure) }, { be_const_key_weak(x_flag_v, 6), be_const_var(18) }, { be_const_key_weak(sec_c, -1), be_const_var(10) }, { be_const_key_weak(vendor_id, 32), be_const_var(26) }, { be_const_key_weak(local_session_id, -1), be_const_var(7) }, { be_const_key_weak(flag_s, -1), be_const_var(5) }, - { be_const_key_weak(debug, -1), be_const_closure(Matter_Frame_debug_closure) }, + { be_const_key_weak(debug, -1), be_const_closure(class_Matter_Frame_debug_closure) }, { be_const_key_weak(message_handler, 10), be_const_var(0) }, - { be_const_key_weak(encrypt, 34), be_const_closure(Matter_Frame_encrypt_closure) }, + { be_const_key_weak(encrypt, 34), be_const_closure(class_Matter_Frame_encrypt_closure) }, { be_const_key_weak(session, -1), be_const_var(1) }, { be_const_key_weak(sec_flags, -1), be_const_var(8) }, - { be_const_key_weak(build_response, -1), be_const_closure(Matter_Frame_build_response_closure) }, - { be_const_key_weak(initiate_response, -1), be_const_static_closure(Matter_Frame_initiate_response_closure) }, + { be_const_key_weak(build_response, -1), be_const_closure(class_Matter_Frame_build_response_closure) }, + { be_const_key_weak(initiate_response, -1), be_const_static_closure(class_Matter_Frame_initiate_response_closure) }, { be_const_key_weak(remote_port, -1), be_const_var(31) }, { be_const_key_weak(sec_sesstype, -1), be_const_var(12) }, - { be_const_key_weak(decode_header, 23), be_const_closure(Matter_Frame_decode_header_closure) }, + { be_const_key_weak(decode_header, 23), be_const_closure(class_Matter_Frame_decode_header_closure) }, { be_const_key_weak(flags, -1), be_const_var(4) }, { be_const_key_weak(protocol_id, 13), be_const_var(25) }, { be_const_key_weak(raw, -1), be_const_var(2) }, @@ -1233,24 +1243,17 @@ be_local_class(Matter_Frame, { be_const_key_weak(flag_dsiz, -1), be_const_var(6) }, { be_const_key_weak(x_flag_r, -1), be_const_var(20) }, { be_const_key_weak(message_counter, -1), be_const_var(13) }, - { be_const_key_weak(init, 14), be_const_closure(Matter_Frame_init_closure) }, + { be_const_key_weak(init, 14), be_const_closure(class_Matter_Frame_init_closure) }, { be_const_key_weak(x_flag_sx, 12), be_const_var(19) }, { be_const_key_weak(dest_node_id_2, -1), be_const_var(15) }, - { be_const_key_weak(decode_payload, -1), be_const_closure(Matter_Frame_decode_payload_closure) }, + { be_const_key_weak(decode_payload, -1), be_const_closure(class_Matter_Frame_decode_payload_closure) }, { be_const_key_weak(sec_p, 8), be_const_var(9) }, - { be_const_key_weak(decrypt, -1), be_const_closure(Matter_Frame_decrypt_closure) }, + { be_const_key_weak(decrypt, -1), be_const_closure(class_Matter_Frame_decrypt_closure) }, { be_const_key_weak(sec_extensions, -1), be_const_var(28) }, { be_const_key_weak(sec_mx, 3), be_const_var(11) }, { be_const_key_weak(remote_ip, 2), be_const_var(30) }, })), be_str_weak(Matter_Frame) ); -/*******************************************************************/ - -void be_load_Matter_Frame_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Frame); - be_setglobal(vm, "Matter_Frame"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h index 3dd940012..cbec77d91 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_MessageHandler.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_MessageHandler; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_MessageHandler_init, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_MessageHandler_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -63,7 +64,8 @@ be_local_closure(Matter_MessageHandler_init, /* name */ /******************************************************************** ** Solidified function: send_encrypted_ack ********************************************************************/ -be_local_closure(Matter_MessageHandler_send_encrypted_ack, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_send_encrypted_ack, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -71,7 +73,7 @@ be_local_closure(Matter_MessageHandler_send_encrypted_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(x_flag_r), @@ -135,7 +137,8 @@ be_local_closure(Matter_MessageHandler_send_encrypted_ack, /* name */ /******************************************************************** ** Solidified function: msg_received ********************************************************************/ -be_local_closure(Matter_MessageHandler_msg_received, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_msg_received, /* name */ be_nested_proto( 19, /* nstack */ 4, /* argc */ @@ -143,7 +146,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[70]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -594,7 +597,8 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */ /******************************************************************** ** Solidified function: send_response_frame ********************************************************************/ -be_local_closure(Matter_MessageHandler_send_response_frame, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_send_response_frame, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -602,7 +606,7 @@ be_local_closure(Matter_MessageHandler_send_response_frame, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -634,7 +638,8 @@ be_local_closure(Matter_MessageHandler_send_response_frame, /* name */ /******************************************************************** ** Solidified function: send_simple_ack ********************************************************************/ -be_local_closure(Matter_MessageHandler_send_simple_ack, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_send_simple_ack, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -642,7 +647,7 @@ be_local_closure(Matter_MessageHandler_send_simple_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(x_flag_r), @@ -703,7 +708,8 @@ be_local_closure(Matter_MessageHandler_send_simple_ack, /* name */ /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_MessageHandler_every_250ms, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_every_250ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -711,7 +717,7 @@ be_local_closure(Matter_MessageHandler_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(im), @@ -733,7 +739,8 @@ be_local_closure(Matter_MessageHandler_every_250ms, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_MessageHandler_every_second, /* name */ +extern const bclass be_class_Matter_MessageHandler; +be_local_closure(class_Matter_MessageHandler_every_second, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -741,7 +748,7 @@ be_local_closure(Matter_MessageHandler_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_MessageHandler, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(commissioning), @@ -774,25 +781,18 @@ be_local_class(Matter_MessageHandler, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(commissioning, -1), be_const_var(1) }, { be_const_key_weak(_n_bytes, 7), be_const_var(4) }, - { be_const_key_weak(send_encrypted_ack, -1), be_const_closure(Matter_MessageHandler_send_encrypted_ack_closure) }, - { be_const_key_weak(init, 5), be_const_closure(Matter_MessageHandler_init_closure) }, - { be_const_key_weak(msg_received, -1), be_const_closure(Matter_MessageHandler_msg_received_closure) }, + { be_const_key_weak(send_encrypted_ack, -1), be_const_closure(class_Matter_MessageHandler_send_encrypted_ack_closure) }, + { be_const_key_weak(init, 5), be_const_closure(class_Matter_MessageHandler_init_closure) }, + { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_MessageHandler_msg_received_closure) }, { be_const_key_weak(im, 11), be_const_var(2) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_MessageHandler_every_second_closure) }, - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_MessageHandler_every_250ms_closure) }, - { be_const_key_weak(send_simple_ack, 1), be_const_closure(Matter_MessageHandler_send_simple_ack_closure) }, - { be_const_key_weak(send_response_frame, 6), be_const_closure(Matter_MessageHandler_send_response_frame_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_MessageHandler_every_second_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_MessageHandler_every_250ms_closure) }, + { be_const_key_weak(send_simple_ack, 1), be_const_closure(class_Matter_MessageHandler_send_simple_ack_closure) }, + { be_const_key_weak(send_response_frame, 6), be_const_closure(class_Matter_MessageHandler_send_response_frame_closure) }, { be_const_key_weak(control_message, -1), be_const_var(3) }, { be_const_key_weak(device, -1), be_const_var(0) }, })), be_str_weak(Matter_MessageHandler) ); -/*******************************************************************/ - -void be_load_Matter_MessageHandler_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_MessageHandler); - be_setglobal(vm, "Matter_MessageHandler"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Module.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Module.h index 727ae6d36..d36f5bb72 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Module.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Module.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(matter_setmember, /* name */ +be_local_closure(module_matter_setmember, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(matter_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -45,7 +45,7 @@ be_local_closure(matter_setmember, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(matter_member, /* name */ +be_local_closure(module_matter_member, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -53,7 +53,7 @@ be_local_closure(matter_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(global), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_0.h index 597ec9c15..dddd45953 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_0.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Path; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_Path_tostring, /* name */ +extern const bclass be_class_Matter_Path; +be_local_closure(class_Matter_Path_tostring, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Path_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Path, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -125,7 +126,8 @@ be_local_closure(Matter_Path_tostring, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_Path_reset, /* name */ +extern const bclass be_class_Matter_Path; +be_local_closure(class_Matter_Path_reset, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -133,7 +135,7 @@ be_local_closure(Matter_Path_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Path, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(endpoint), @@ -177,20 +179,13 @@ be_local_class(Matter_Path, { be_const_key_weak(fabric_filtered, 6), be_const_var(3) }, { be_const_key_weak(command, -1), be_const_var(4) }, { be_const_key_weak(msg, -1), be_const_var(7) }, - { be_const_key_weak(tostring, -1), be_const_closure(Matter_Path_tostring_closure) }, - { be_const_key_weak(reset, -1), be_const_closure(Matter_Path_reset_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_Path_tostring_closure) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_Path_reset_closure) }, { be_const_key_weak(cluster, -1), be_const_var(1) }, { be_const_key_weak(endpoint, 3), be_const_var(0) }, { be_const_key_weak(status, -1), be_const_var(5) }, })), be_str_weak(Matter_Path) ); -/*******************************************************************/ - -void be_load_Matter_Path_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Path); - be_setglobal(vm, "Matter_Path"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_1_Generator.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_1_Generator.h index 37e84b088..1d20a695e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_1_Generator.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Path_1_Generator.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_PathGenerator; /******************************************************************** ** Solidified function: next ********************************************************************/ -be_local_closure(Matter_PathGenerator_next, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator_next, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_PathGenerator_next, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(path_in), @@ -109,7 +110,8 @@ be_local_closure(Matter_PathGenerator_next, /* name */ /******************************************************************** ** Solidified function: _next_cluster ********************************************************************/ -be_local_closure(Matter_PathGenerator__next_cluster, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator__next_cluster, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -117,7 +119,7 @@ be_local_closure(Matter_PathGenerator__next_cluster, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(cluster), @@ -184,7 +186,8 @@ be_local_closure(Matter_PathGenerator__next_cluster, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Matter_PathGenerator_start, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator_start, /* name */ be_nested_proto( 5, /* nstack */ 3, /* argc */ @@ -192,7 +195,7 @@ be_local_closure(Matter_PathGenerator_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(path_concrete), @@ -232,7 +235,8 @@ be_local_closure(Matter_PathGenerator_start, /* name */ /******************************************************************** ** Solidified function: get_pi ********************************************************************/ -be_local_closure(Matter_PathGenerator_get_pi, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator_get_pi, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -240,7 +244,7 @@ be_local_closure(Matter_PathGenerator_get_pi, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(pi), @@ -259,7 +263,8 @@ be_local_closure(Matter_PathGenerator_get_pi, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_PathGenerator_init, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator_init, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -267,7 +272,7 @@ be_local_closure(Matter_PathGenerator_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -286,7 +291,8 @@ be_local_closure(Matter_PathGenerator_init, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_PathGenerator_reset, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator_reset, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -294,7 +300,7 @@ be_local_closure(Matter_PathGenerator_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(path_in), @@ -330,7 +336,8 @@ be_local_closure(Matter_PathGenerator_reset, /* name */ /******************************************************************** ** Solidified function: _next_endpoint ********************************************************************/ -be_local_closure(Matter_PathGenerator__next_endpoint, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator__next_endpoint, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -338,7 +345,7 @@ be_local_closure(Matter_PathGenerator__next_endpoint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(pi), @@ -420,7 +427,8 @@ be_local_closure(Matter_PathGenerator__next_endpoint, /* name */ /******************************************************************** ** Solidified function: _next_attribute ********************************************************************/ -be_local_closure(Matter_PathGenerator__next_attribute, /* name */ +extern const bclass be_class_Matter_PathGenerator; +be_local_closure(class_Matter_PathGenerator__next_attribute, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -428,7 +436,7 @@ be_local_closure(Matter_PathGenerator__next_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_PathGenerator, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(attribute), @@ -502,12 +510,12 @@ be_local_class(Matter_PathGenerator, NULL, be_nested_map(19, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(_next_cluster, -1), be_const_closure(Matter_PathGenerator__next_cluster_closure) }, - { be_const_key_weak(_next_endpoint, -1), be_const_closure(Matter_PathGenerator__next_endpoint_closure) }, + { be_const_key_weak(_next_cluster, -1), be_const_closure(class_Matter_PathGenerator__next_cluster_closure) }, + { be_const_key_weak(_next_endpoint, -1), be_const_closure(class_Matter_PathGenerator__next_endpoint_closure) }, { be_const_key_weak(endpoint_found, 0), be_const_var(7) }, - { be_const_key_weak(start, -1), be_const_closure(Matter_PathGenerator_start_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_Matter_PathGenerator_start_closure) }, { be_const_key_weak(session, -1), be_const_var(2) }, - { be_const_key_weak(get_pi, 12), be_const_closure(Matter_PathGenerator_get_pi_closure) }, + { be_const_key_weak(get_pi, 12), be_const_closure(class_Matter_PathGenerator_get_pi_closure) }, { be_const_key_weak(pi, -1), be_const_var(3) }, { be_const_key_weak(attribute, 10), be_const_var(5) }, { be_const_key_weak(cluster_found, 14), be_const_var(8) }, @@ -515,21 +523,14 @@ be_local_class(Matter_PathGenerator, { be_const_key_weak(attribute_found, -1), be_const_var(9) }, { be_const_key_weak(clusters, -1), be_const_var(6) }, { be_const_key_weak(path_in, -1), be_const_var(1) }, - { be_const_key_weak(init, 11), be_const_closure(Matter_PathGenerator_init_closure) }, + { be_const_key_weak(init, 11), be_const_closure(class_Matter_PathGenerator_init_closure) }, { be_const_key_weak(path_concrete, -1), be_const_var(10) }, - { be_const_key_weak(next, 9), be_const_closure(Matter_PathGenerator_next_closure) }, + { be_const_key_weak(next, 9), be_const_closure(class_Matter_PathGenerator_next_closure) }, { be_const_key_weak(cluster, 4), be_const_var(4) }, - { be_const_key_weak(reset, 1), be_const_closure(Matter_PathGenerator_reset_closure) }, - { be_const_key_weak(_next_attribute, -1), be_const_closure(Matter_PathGenerator__next_attribute_closure) }, + { be_const_key_weak(reset, 1), be_const_closure(class_Matter_PathGenerator_reset_closure) }, + { be_const_key_weak(_next_attribute, -1), be_const_closure(class_Matter_PathGenerator__next_attribute_closure) }, })), be_str_weak(Matter_PathGenerator) ); -/*******************************************************************/ - -void be_load_Matter_PathGenerator_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_PathGenerator); - be_setglobal(vm, "Matter_PathGenerator"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h index 6366601bd..544c53173 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin; /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_Plugin_every_250ms, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_every_250ms, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(update_next), @@ -71,7 +72,8 @@ be_local_closure(Matter_Plugin_every_250ms, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_parse_configuration, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -79,7 +81,7 @@ be_local_closure(Matter_Plugin_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(parse_configuration), @@ -95,7 +97,8 @@ be_local_closure(Matter_Plugin_parse_configuration, /* name */ /******************************************************************** ** Solidified function: subscribe_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_subscribe_attribute, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_subscribe_attribute, /* name */ be_nested_proto( 6, /* nstack */ 5, /* argc */ @@ -103,7 +106,7 @@ be_local_closure(Matter_Plugin_subscribe_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(subscribe_attribute), @@ -120,7 +123,8 @@ be_local_closure(Matter_Plugin_subscribe_attribute, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_init, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_init, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -128,7 +132,7 @@ be_local_closure(Matter_Plugin_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -167,7 +171,8 @@ be_local_closure(Matter_Plugin_init, /* name */ /******************************************************************** ** Solidified function: set_name ********************************************************************/ -be_local_closure(Matter_Plugin_set_name, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_set_name, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -175,7 +180,7 @@ be_local_closure(Matter_Plugin_set_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(node_label), @@ -202,7 +207,8 @@ be_local_closure(Matter_Plugin_set_name, /* name */ /******************************************************************** ** Solidified function: subscribe_event ********************************************************************/ -be_local_closure(Matter_Plugin_subscribe_event, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_subscribe_event, /* name */ be_nested_proto( 6, /* nstack */ 5, /* argc */ @@ -210,7 +216,7 @@ be_local_closure(Matter_Plugin_subscribe_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(subscribe_event), @@ -227,7 +233,8 @@ be_local_closure(Matter_Plugin_subscribe_event, /* name */ /******************************************************************** ** Solidified function: parse_sensors ********************************************************************/ -be_local_closure(Matter_Plugin_parse_sensors, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_parse_sensors, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -235,7 +242,7 @@ be_local_closure(Matter_Plugin_parse_sensors, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(parse_sensors), @@ -251,7 +258,8 @@ be_local_closure(Matter_Plugin_parse_sensors, /* name */ /******************************************************************** ** Solidified function: publish_command ********************************************************************/ -be_local_closure(Matter_Plugin_publish_command, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_publish_command, /* name */ be_nested_proto( 16, /* nstack */ 7, /* argc */ @@ -259,7 +267,7 @@ be_local_closure(Matter_Plugin_publish_command, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -330,7 +338,8 @@ be_local_closure(Matter_Plugin_publish_command, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_read_attribute, /* name */ be_nested_proto( 17, /* nstack */ 4, /* argc */ @@ -338,7 +347,7 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -537,7 +546,8 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ /******************************************************************** ** Solidified function: ui_conf_to_string ********************************************************************/ -be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_ui_conf_to_string, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -545,7 +555,7 @@ be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Plugin), @@ -577,7 +587,8 @@ be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */ /******************************************************************** ** Solidified function: write_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_write_attribute, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_write_attribute, /* name */ be_nested_proto( 5, /* nstack */ 4, /* argc */ @@ -585,7 +596,7 @@ be_local_closure(Matter_Plugin_write_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(write_attribute), @@ -602,7 +613,8 @@ be_local_closure(Matter_Plugin_write_attribute, /* name */ /******************************************************************** ** Solidified function: get_attribute_list ********************************************************************/ -be_local_closure(Matter_Plugin_get_attribute_list, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_get_attribute_list, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -610,7 +622,7 @@ be_local_closure(Matter_Plugin_get_attribute_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(clusters), @@ -635,7 +647,8 @@ be_local_closure(Matter_Plugin_get_attribute_list, /* name */ /******************************************************************** ** Solidified function: read_event ********************************************************************/ -be_local_closure(Matter_Plugin_read_event, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_read_event, /* name */ be_nested_proto( 6, /* nstack */ 5, /* argc */ @@ -643,7 +656,7 @@ be_local_closure(Matter_Plugin_read_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(read_event), @@ -660,7 +673,8 @@ be_local_closure(Matter_Plugin_read_event, /* name */ /******************************************************************** ** Solidified function: ack_request ********************************************************************/ -be_local_closure(Matter_Plugin_ack_request, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_ack_request, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -668,7 +682,7 @@ be_local_closure(Matter_Plugin_ack_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(msg), @@ -702,7 +716,8 @@ be_local_closure(Matter_Plugin_ack_request, /* name */ /******************************************************************** ** Solidified function: get_cluster_list_sorted ********************************************************************/ -be_local_closure(Matter_Plugin_get_cluster_list_sorted, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_get_cluster_list_sorted, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -710,7 +725,7 @@ be_local_closure(Matter_Plugin_get_cluster_list_sorted, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -734,7 +749,8 @@ be_local_closure(Matter_Plugin_get_cluster_list_sorted, /* name */ /******************************************************************** ** Solidified function: attribute_updated ********************************************************************/ -be_local_closure(Matter_Plugin_attribute_updated, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_attribute_updated, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -742,7 +758,7 @@ be_local_closure(Matter_Plugin_attribute_updated, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -769,7 +785,8 @@ be_local_closure(Matter_Plugin_attribute_updated, /* name */ /******************************************************************** ** Solidified function: timed_request ********************************************************************/ -be_local_closure(Matter_Plugin_timed_request, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_timed_request, /* name */ be_nested_proto( 5, /* nstack */ 4, /* argc */ @@ -777,7 +794,7 @@ be_local_closure(Matter_Plugin_timed_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(timed_request), @@ -794,7 +811,8 @@ be_local_closure(Matter_Plugin_timed_request, /* name */ /******************************************************************** ** Solidified function: get_endpoint ********************************************************************/ -be_local_closure(Matter_Plugin_get_endpoint, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_get_endpoint, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -802,7 +820,7 @@ be_local_closure(Matter_Plugin_get_endpoint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(endpoint), @@ -821,7 +839,8 @@ be_local_closure(Matter_Plugin_get_endpoint, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_update_shadow, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -829,7 +848,7 @@ be_local_closure(Matter_Plugin_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tick), @@ -851,7 +870,8 @@ be_local_closure(Matter_Plugin_update_shadow, /* name */ /******************************************************************** ** Solidified function: consolidate_update_commands ********************************************************************/ -be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_consolidate_update_commands, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -859,7 +879,7 @@ be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(UPDATE_COMMANDS), @@ -878,7 +898,8 @@ be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ /******************************************************************** ** Solidified function: append_state_json ********************************************************************/ -be_local_closure(Matter_Plugin_append_state_json, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_append_state_json, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -886,7 +907,7 @@ be_local_closure(Matter_Plugin_append_state_json, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -904,7 +925,8 @@ be_local_closure(Matter_Plugin_append_state_json, /* name */ /******************************************************************** ** Solidified function: state_json ********************************************************************/ -be_local_closure(Matter_Plugin_state_json, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_state_json, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -912,7 +934,7 @@ be_local_closure(Matter_Plugin_state_json, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -961,7 +983,8 @@ be_local_closure(Matter_Plugin_state_json, /* name */ /******************************************************************** ** Solidified function: has ********************************************************************/ -be_local_closure(Matter_Plugin_has, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_has, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -969,7 +992,7 @@ be_local_closure(Matter_Plugin_has, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(clusters), @@ -1004,7 +1027,8 @@ be_local_closure(Matter_Plugin_has, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_invoke_request, /* name */ be_nested_proto( 5, /* nstack */ 4, /* argc */ @@ -1012,7 +1036,7 @@ be_local_closure(Matter_Plugin_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(invoke_request), @@ -1029,7 +1053,8 @@ be_local_closure(Matter_Plugin_invoke_request, /* name */ /******************************************************************** ** Solidified function: update_shadow_lazy ********************************************************************/ -be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_update_shadow_lazy, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1037,7 +1062,7 @@ be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tick), @@ -1067,7 +1092,8 @@ be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_update_virtual, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1075,7 +1101,7 @@ be_local_closure(Matter_Plugin_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(update_virtual), @@ -1091,7 +1117,8 @@ be_local_closure(Matter_Plugin_update_virtual, /* name */ /******************************************************************** ** Solidified function: consolidate_clusters ********************************************************************/ -be_local_closure(Matter_Plugin_consolidate_clusters, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_consolidate_clusters, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1099,7 +1126,7 @@ be_local_closure(Matter_Plugin_consolidate_clusters, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(CLUSTERS), @@ -1118,7 +1145,8 @@ be_local_closure(Matter_Plugin_consolidate_clusters, /* name */ /******************************************************************** ** Solidified function: contains_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_contains_attribute, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_contains_attribute, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -1126,7 +1154,7 @@ be_local_closure(Matter_Plugin_contains_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(clusters), @@ -1168,7 +1196,8 @@ be_local_closure(Matter_Plugin_contains_attribute, /* name */ /******************************************************************** ** Solidified function: get_name ********************************************************************/ -be_local_closure(Matter_Plugin_get_name, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_get_name, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1176,7 +1205,7 @@ be_local_closure(Matter_Plugin_get_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(node_label), @@ -1195,7 +1224,7 @@ be_local_closure(Matter_Plugin_get_name, /* name */ /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1203,7 +1232,7 @@ be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -1222,7 +1251,8 @@ be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: contains_cluster ********************************************************************/ -be_local_closure(Matter_Plugin_contains_cluster, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_contains_cluster, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1230,7 +1260,7 @@ be_local_closure(Matter_Plugin_contains_cluster, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(clusters), @@ -1253,7 +1283,8 @@ be_local_closure(Matter_Plugin_contains_cluster, /* name */ /******************************************************************** ** Solidified function: is_local_device ********************************************************************/ -be_local_closure(Matter_Plugin_is_local_device, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_is_local_device, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1261,7 +1292,7 @@ be_local_closure(Matter_Plugin_is_local_device, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 0, /* has constants */ NULL, /* no const */ be_str_weak(is_local_device), @@ -1278,7 +1309,8 @@ be_local_closure(Matter_Plugin_is_local_device, /* name */ /******************************************************************** ** Solidified function: ui_string_to_conf ********************************************************************/ -be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */ +extern const bclass be_class_Matter_Plugin; +be_local_closure(class_Matter_Plugin_ui_string_to_conf, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -1286,7 +1318,7 @@ be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Plugin), @@ -1320,7 +1352,7 @@ be_local_class(Matter_Plugin, NULL, be_nested_map(50, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_every_250ms_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Plugin_every_250ms_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak() }, { be_const_key_weak(FEATURE_MAPS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(2, @@ -1328,9 +1360,9 @@ be_local_class(Matter_Plugin, { be_const_key_int(258, -1), be_const_int(5) }, { be_const_key_int(49, -1), be_const_int(4) }, })) ) } )) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_read_attribute_closure) }, - { be_const_key_weak(subscribe_attribute, 33), be_const_closure(Matter_Plugin_subscribe_attribute_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_init_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_read_attribute_closure) }, + { be_const_key_weak(subscribe_attribute, 33), be_const_closure(class_Matter_Plugin_subscribe_attribute_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_init_closure) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, { be_const_key_weak(COMMANDS, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, @@ -1344,10 +1376,10 @@ be_local_class(Matter_Plugin, })) ) } )) }, { be_const_key_weak(VIRTUAL, -1), be_const_bool(0) }, { be_const_key_weak(device, -1), be_const_var(1) }, - { be_const_key_weak(subscribe_event, 3), be_const_closure(Matter_Plugin_subscribe_event_closure) }, + { be_const_key_weak(subscribe_event, 3), be_const_closure(class_Matter_Plugin_subscribe_event_closure) }, { be_const_key_weak(clusters, -1), be_const_var(3) }, - { be_const_key_weak(publish_command, -1), be_const_closure(Matter_Plugin_publish_command_closure) }, - { be_const_key_weak(is_local_device, 29), be_const_closure(Matter_Plugin_is_local_device_closure) }, + { be_const_key_weak(publish_command, -1), be_const_closure(class_Matter_Plugin_publish_command_closure) }, + { be_const_key_weak(is_local_device, 29), be_const_closure(class_Matter_Plugin_is_local_device_closure) }, { be_const_key_weak(CLUSTER_REVISIONS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(25, ( (struct bmapnode*) &(const bmapnode[]) { @@ -1377,13 +1409,13 @@ be_local_class(Matter_Plugin, { be_const_key_int(6, -1), be_const_int(5) }, { be_const_key_int(1024, -1), be_const_int(3) }, })) ) } )) }, - { be_const_key_weak(contains_cluster, -1), be_const_closure(Matter_Plugin_contains_cluster_closure) }, - { be_const_key_weak(ack_request, -1), be_const_closure(Matter_Plugin_ack_request_closure) }, - { be_const_key_weak(parse_configuration, 34), be_const_closure(Matter_Plugin_parse_configuration_closure) }, - { be_const_key_weak(read_event, 28), be_const_closure(Matter_Plugin_read_event_closure) }, - { be_const_key_weak(get_name, 43), be_const_closure(Matter_Plugin_get_name_closure) }, - { be_const_key_weak(contains_attribute, 31), be_const_closure(Matter_Plugin_contains_attribute_closure) }, - { be_const_key_weak(get_cluster_list_sorted, -1), be_const_closure(Matter_Plugin_get_cluster_list_sorted_closure) }, + { be_const_key_weak(contains_cluster, -1), be_const_closure(class_Matter_Plugin_contains_cluster_closure) }, + { be_const_key_weak(ack_request, -1), be_const_closure(class_Matter_Plugin_ack_request_closure) }, + { be_const_key_weak(parse_configuration, 34), be_const_closure(class_Matter_Plugin_parse_configuration_closure) }, + { be_const_key_weak(read_event, 28), be_const_closure(class_Matter_Plugin_read_event_closure) }, + { be_const_key_weak(get_name, 43), be_const_closure(class_Matter_Plugin_get_name_closure) }, + { be_const_key_weak(contains_attribute, 31), be_const_closure(class_Matter_Plugin_contains_attribute_closure) }, + { be_const_key_weak(get_cluster_list_sorted, -1), be_const_closure(class_Matter_Plugin_get_cluster_list_sorted_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { @@ -1402,40 +1434,33 @@ be_local_class(Matter_Plugin, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(attribute_updated, -1), be_const_closure(Matter_Plugin_attribute_updated_closure) }, - { be_const_key_weak(timed_request, 13), be_const_closure(Matter_Plugin_timed_request_closure) }, - { be_const_key_weak(get_endpoint, -1), be_const_closure(Matter_Plugin_get_endpoint_closure) }, - { be_const_key_weak(consolidate_clusters, -1), be_const_closure(Matter_Plugin_consolidate_clusters_closure) }, - { be_const_key_weak(append_state_json, 18), be_const_closure(Matter_Plugin_append_state_json_closure) }, - { be_const_key_weak(ui_conf_to_string, 41), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) }, + { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Plugin_attribute_updated_closure) }, + { be_const_key_weak(timed_request, 13), be_const_closure(class_Matter_Plugin_timed_request_closure) }, + { be_const_key_weak(get_endpoint, -1), be_const_closure(class_Matter_Plugin_get_endpoint_closure) }, + { be_const_key_weak(consolidate_clusters, -1), be_const_closure(class_Matter_Plugin_consolidate_clusters_closure) }, + { be_const_key_weak(append_state_json, 18), be_const_closure(class_Matter_Plugin_append_state_json_closure) }, + { be_const_key_weak(ui_conf_to_string, 41), be_const_static_closure(class_Matter_Plugin_ui_conf_to_string_closure) }, { be_const_key_weak(TYPE, 32), be_nested_str_weak() }, - { be_const_key_weak(state_json, -1), be_const_closure(Matter_Plugin_state_json_closure) }, + { be_const_key_weak(state_json, -1), be_const_closure(class_Matter_Plugin_state_json_closure) }, { be_const_key_weak(tick, -1), be_const_var(4) }, { be_const_key_weak(ARG, 47), be_nested_str_weak() }, - { be_const_key_weak(write_attribute, 36), be_const_closure(Matter_Plugin_write_attribute_closure) }, - { be_const_key_weak(has, -1), be_const_closure(Matter_Plugin_has_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_invoke_request_closure) }, - { be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) }, - { be_const_key_weak(update_shadow, 22), be_const_closure(Matter_Plugin_update_shadow_closure) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_update_virtual_closure) }, + { be_const_key_weak(write_attribute, 36), be_const_closure(class_Matter_Plugin_write_attribute_closure) }, + { be_const_key_weak(has, -1), be_const_closure(class_Matter_Plugin_has_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_invoke_request_closure) }, + { be_const_key_weak(update_shadow_lazy, -1), be_const_closure(class_Matter_Plugin_update_shadow_lazy_closure) }, + { be_const_key_weak(update_shadow, 22), be_const_closure(class_Matter_Plugin_update_shadow_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_update_virtual_closure) }, { be_const_key_weak(node_label, 42), be_const_var(5) }, { be_const_key_weak(update_next, -1), be_const_var(0) }, - { be_const_key_weak(set_name, -1), be_const_closure(Matter_Plugin_set_name_closure) }, - { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) }, + { be_const_key_weak(set_name, -1), be_const_closure(class_Matter_Plugin_set_name_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, 17), be_nested_str_weak(_Not_X20used_) }, - { be_const_key_weak(parse_sensors, 15), be_const_closure(Matter_Plugin_parse_sensors_closure) }, - { be_const_key_weak(get_attribute_list, -1), be_const_closure(Matter_Plugin_get_attribute_list_closure) }, - { be_const_key_weak(ui_string_to_conf, -1), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) }, - { be_const_key_weak(consolidate_update_commands, 2), be_const_closure(Matter_Plugin_consolidate_update_commands_closure) }, + { be_const_key_weak(parse_sensors, 15), be_const_closure(class_Matter_Plugin_parse_sensors_closure) }, + { be_const_key_weak(get_attribute_list, -1), be_const_closure(class_Matter_Plugin_get_attribute_list_closure) }, + { be_const_key_weak(ui_string_to_conf, -1), be_const_static_closure(class_Matter_Plugin_ui_string_to_conf_closure) }, + { be_const_key_weak(consolidate_update_commands, 2), be_const_closure(class_Matter_Plugin_consolidate_update_commands_closure) }, })), be_str_weak(Matter_Plugin) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin); - be_setglobal(vm, "Matter_Plugin"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h index 03e9ed0d0..8b47bb1a8 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Aggregator; /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Aggregator; +be_local_closure(class_Matter_Plugin_Aggregator_read_attribute, /* name */ be_nested_proto( 16, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Aggregator, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -124,7 +125,8 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Aggregator_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Aggregator; +be_local_closure(class_Matter_Plugin_Aggregator_invoke_request, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -132,7 +134,7 @@ be_local_closure(Matter_Plugin_Aggregator_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Aggregator, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -204,7 +206,7 @@ be_local_class(Matter_Plugin_Aggregator, &be_class_Matter_Plugin, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Aggregator_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Aggregator_read_attribute_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(aggregator) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, @@ -242,16 +244,9 @@ be_local_class(Matter_Plugin_Aggregator, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Aggregator_invoke_request_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Aggregator_invoke_request_closure) }, })), be_str_weak(Matter_Plugin_Aggregator) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Aggregator_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Aggregator); - be_setglobal(vm, "Matter_Plugin_Aggregator"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h index b2ab1687f..83ab36871 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Device; /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Device; +be_local_closure(class_Matter_Plugin_Device_read_attribute, /* name */ be_nested_proto( 17, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Device, 1, /* has constants */ ( &(const bvalue[36]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -258,7 +259,8 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ /******************************************************************** ** Solidified function: append_state_json ********************************************************************/ -be_local_closure(Matter_Plugin_Device_append_state_json, /* name */ +extern const bclass be_class_Matter_Plugin_Device; +be_local_closure(class_Matter_Plugin_Device_append_state_json, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -266,7 +268,7 @@ be_local_closure(Matter_Plugin_Device_append_state_json, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -277,7 +279,7 @@ be_local_closure(Matter_Plugin_Device_append_state_json, /* name */ be_local_const_upval(1, 3), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -323,6 +325,7 @@ be_local_closure(Matter_Plugin_Device_append_state_json, /* name */ 0x80000000, // 001E RET 0 }) ), + &be_class_Matter_Plugin_Device, }), 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ @@ -440,7 +443,8 @@ be_local_closure(Matter_Plugin_Device_append_state_json, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Device_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Device; +be_local_closure(class_Matter_Plugin_Device_invoke_request, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -448,7 +452,7 @@ be_local_closure(Matter_Plugin_Device_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Device, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -532,14 +536,14 @@ be_local_class(Matter_Plugin_Device, &be_class_Matter_Plugin, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Device_read_attribute_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Device_invoke_request_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Device_read_attribute_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Device_invoke_request_closure) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(19, -1), be_const_int(1) }, })) ) } )) }, - { be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_Device_append_state_json_closure) }, + { be_const_key_weak(append_state_json, -1), be_const_closure(class_Matter_Plugin_Device_append_state_json_closure) }, { be_const_key_weak(CLUSTERS, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { @@ -622,12 +626,5 @@ be_local_class(Matter_Plugin_Device, })), be_str_weak(Matter_Plugin_Device) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Device_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Device); - be_setglobal(vm, "Matter_Plugin_Device"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h index 8c616f0c6..98b17f5ea 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Root; /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Root; +be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */ be_nested_proto( 25, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Root, 1, /* has constants */ ( &(const bvalue[94]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -1063,7 +1064,8 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ /******************************************************************** ** Solidified function: write_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Root_write_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Root; +be_local_closure(class_Matter_Plugin_Root_write_attribute, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -1071,7 +1073,7 @@ be_local_closure(Matter_Plugin_Root_write_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Root, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -1200,7 +1202,8 @@ be_local_closure(Matter_Plugin_Root_write_attribute, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Root; +be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */ be_nested_proto( 31, /* nstack */ 4, /* argc */ @@ -1208,7 +1211,7 @@ be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -1219,7 +1222,7 @@ be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ be_local_const_upval(1, 10), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -1236,6 +1239,7 @@ be_local_closure(Matter_Plugin_Root_invoke_request, /* name */ 0x80000000, // 0005 RET 0 }) ), + &be_class_Matter_Plugin_Root, }), 1, /* has constants */ ( &(const bvalue[102]) { /* constants */ @@ -2105,15 +2109,15 @@ be_local_class(Matter_Plugin_Root, &be_class_Matter_Plugin, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(read_attribute, 1), be_const_closure(Matter_Plugin_Root_read_attribute_closure) }, - { be_const_key_weak(invoke_request, 6), be_const_closure(Matter_Plugin_Root_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 1), be_const_closure(class_Matter_Plugin_Root_read_attribute_closure) }, + { be_const_key_weak(invoke_request, 6), be_const_closure(class_Matter_Plugin_Root_invoke_request_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(root) }, { be_const_key_weak(TYPES, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(22, -1), be_const_int(1) }, })) ) } )) }, - { be_const_key_weak(write_attribute, -1), be_const_closure(Matter_Plugin_Root_write_attribute_closure) }, + { be_const_key_weak(write_attribute, -1), be_const_closure(class_Matter_Plugin_Root_write_attribute_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Root_X20node) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(14, @@ -2313,12 +2317,5 @@ be_local_class(Matter_Plugin_Root, })), be_str_weak(Matter_Plugin_Root) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Root_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Root); - be_setglobal(vm, "Matter_Plugin_Root"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h index 01c1452de..bdbd6be1f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h @@ -9,7 +9,8 @@ extern const bclass be_class_GetOptionReader; /******************************************************************** ** Solidified function: getoption ********************************************************************/ -be_local_closure(GetOptionReader_getoption, /* name */ +extern const bclass be_class_GetOptionReader; +be_local_closure(class_GetOptionReader_getoption, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(GetOptionReader_getoption, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_GetOptionReader, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(flag), @@ -107,7 +108,8 @@ be_local_closure(GetOptionReader_getoption, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(GetOptionReader_init, /* name */ +extern const bclass be_class_GetOptionReader; +be_local_closure(class_GetOptionReader_init, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -115,7 +117,7 @@ be_local_closure(GetOptionReader_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_GetOptionReader, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(value_error), @@ -207,8 +209,8 @@ be_local_class(GetOptionReader, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(flag2, -1), be_const_var(1) }, { be_const_key_weak(flag4, -1), be_const_var(3) }, - { be_const_key_weak(getoption, -1), be_const_closure(GetOptionReader_getoption_closure) }, - { be_const_key_weak(init, 5), be_const_closure(GetOptionReader_init_closure) }, + { be_const_key_weak(getoption, -1), be_const_closure(class_GetOptionReader_getoption_closure) }, + { be_const_key_weak(init, 5), be_const_closure(class_GetOptionReader_init_closure) }, { be_const_key_weak(flag3, -1), be_const_var(2) }, { be_const_key_weak(flag6, -1), be_const_var(5) }, { be_const_key_weak(flag5, -1), be_const_var(4) }, @@ -216,20 +218,14 @@ be_local_class(GetOptionReader, })), be_str_weak(GetOptionReader) ); -/*******************************************************************/ - -void be_load_GetOptionReader_class(bvm *vm) { - be_pushntvclass(vm, &be_class_GetOptionReader); - be_setglobal(vm, "GetOptionReader"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_Plugin_Bridge_HTTP; /******************************************************************** ** Solidified function: call_remote_sync ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -237,7 +233,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -309,7 +305,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */ /******************************************************************** ** Solidified function: web_value_onoff ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -317,7 +314,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_X3Cb_X3EOn_X3C_X2Fb_X3E), @@ -346,7 +343,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */ /******************************************************************** ** Solidified function: parse_http_response ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -354,7 +352,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_const_int(0), @@ -421,7 +419,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_web_values, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -429,7 +428,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -460,7 +459,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */ /******************************************************************** ** Solidified function: is_local_device ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_is_local_device, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_is_local_device, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -468,7 +468,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_is_local_device, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 0, /* has constants */ NULL, /* no const */ be_str_weak(is_local_device), @@ -485,7 +485,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_is_local_device, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -493,7 +494,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -537,7 +538,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_parse_update, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -545,7 +547,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 0, /* has constants */ NULL, /* no const */ be_str_weak(parse_update), @@ -561,7 +563,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ be_nested_proto( 14, /* nstack */ 4, /* argc */ @@ -569,7 +572,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -709,7 +712,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -717,7 +721,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -754,7 +758,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */ /******************************************************************** ** Solidified function: register_cmd_cb ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -762,7 +767,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -772,7 +777,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parse_http_response), @@ -789,6 +794,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ 0x80040600, // 0006 RET 1 R3 }) ), + &be_class_Matter_Plugin_Bridge_HTTP, }), 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ @@ -817,7 +823,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_update_shadow, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -825,7 +832,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(tick), @@ -860,7 +867,8 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */ /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_HTTP_every_250ms, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_HTTP; +be_local_closure(class_Matter_Plugin_Bridge_HTTP_every_250ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -868,7 +876,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_HTTP, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(http_remote), @@ -897,37 +905,30 @@ be_local_class(Matter_Plugin_Bridge_HTTP, be_nested_map(23, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2011) }, - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_every_250ms_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_every_250ms_closure) }, { be_const_key_weak(ARG, -1), be_nested_str_weak() }, - { be_const_key_weak(call_remote_sync, 22), be_const_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) }, - { be_const_key_weak(web_value_onoff, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff_closure) }, - { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_update_shadow_closure) }, + { be_const_key_weak(call_remote_sync, 22), be_const_closure(class_Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) }, + { be_const_key_weak(web_value_onoff, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_web_value_onoff_closure) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_update_shadow_closure) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) }, { be_const_key_weak(GetOptionReader, 5), be_const_class(be_class_GetOptionReader) }, - { be_const_key_weak(parse_http_response, 21), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_http_response_closure) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_update_closure) }, + { be_const_key_weak(parse_http_response, 21), be_const_closure(class_Matter_Plugin_Bridge_HTTP_parse_http_response_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_parse_update_closure) }, { be_const_key_weak(SYNC_TIMEOUT, 18), be_const_int(500) }, - { be_const_key_weak(is_local_device, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_is_local_device_closure) }, + { be_const_key_weak(is_local_device, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_is_local_device_closure) }, { be_const_key_weak(PREFIX, 17), be_nested_str_weak(_X7C_X20_X3Ci_X3E_X25s_X3C_X2Fi_X3E_X20) }, { be_const_key_weak(http_remote, 1), be_const_var(0) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_init_closure) }, { be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) }, { be_const_key_weak(DISPLAY_NAME, 9), be_nested_str_weak() }, - { be_const_key_weak(web_values_prefix, 19), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix_closure) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_read_attribute_closure) }, + { be_const_key_weak(web_values_prefix, 19), be_const_closure(class_Matter_Plugin_Bridge_HTTP_web_values_prefix_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_read_attribute_closure) }, { be_const_key_weak(PROBE_TIMEOUT, -1), be_const_int(1700) }, - { be_const_key_weak(register_cmd_cb, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_closure) }, + { be_const_key_weak(register_cmd_cb, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_register_cmd_cb_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_HTTP_web_values_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak() }, })), be_str_weak(Matter_Plugin_Bridge_HTTP) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_HTTP_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_HTTP); - be_setglobal(vm, "Matter_Plugin_Bridge_HTTP"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h index eb7e8a61b..0eba3d7fe 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Light1; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_init, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Light1_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -49,7 +50,8 @@ be_local_closure(Matter_Plugin_Light1_init, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_invoke_request, /* name */ be_nested_proto( 22, /* nstack */ 4, /* argc */ @@ -57,7 +59,7 @@ be_local_closure(Matter_Plugin_Light1_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(light), @@ -263,7 +265,8 @@ be_local_closure(Matter_Plugin_Light1_invoke_request, /* name */ /******************************************************************** ** Solidified function: set_onoff ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_set_onoff, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_set_onoff, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -271,7 +274,7 @@ be_local_closure(Matter_Plugin_Light1_set_onoff, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -315,7 +318,8 @@ be_local_closure(Matter_Plugin_Light1_set_onoff, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_update_shadow, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -323,7 +327,7 @@ be_local_closure(Matter_Plugin_Light1_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -402,7 +406,8 @@ be_local_closure(Matter_Plugin_Light1_update_shadow, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_update_virtual, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -410,7 +415,7 @@ be_local_closure(Matter_Plugin_Light1_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -464,7 +469,8 @@ be_local_closure(Matter_Plugin_Light1_update_virtual, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -472,7 +478,7 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -574,7 +580,8 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */ /******************************************************************** ** Solidified function: set_bri ********************************************************************/ -be_local_closure(Matter_Plugin_Light1_set_bri, /* name */ +extern const bclass be_class_Matter_Plugin_Light1; +be_local_closure(class_Matter_Plugin_Light1_set_bri, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -582,7 +589,7 @@ be_local_closure(Matter_Plugin_Light1_set_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light1, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_const_int(0), @@ -681,12 +688,12 @@ be_local_class(Matter_Plugin_Light1, &be_class_Matter_Plugin_Device, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light1_init_closure) }, - { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Light1_update_shadow_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light1_invoke_request_closure) }, - { be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_Light1_set_onoff_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light1_init_closure) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Light1_update_shadow_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light1_invoke_request_closure) }, + { be_const_key_weak(set_onoff, -1), be_const_closure(class_Matter_Plugin_Light1_set_onoff_closure) }, { be_const_key_weak(TYPE, 10), be_nested_str_weak(light1) }, - { be_const_key_weak(update_virtual, 11), be_const_closure(Matter_Plugin_Light1_update_virtual_closure) }, + { be_const_key_weak(update_virtual, 11), be_const_closure(class_Matter_Plugin_Light1_update_virtual_closure) }, { be_const_key_weak(UPDATE_TIME, 8), be_const_int(250) }, { be_const_key_weak(shadow_bri, 1), be_const_var(1) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X201_X20Dimmer) }, @@ -800,18 +807,11 @@ be_local_class(Matter_Plugin_Light1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(257, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Light1_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light1_read_attribute_closure) }, { be_const_key_weak(shadow_onoff, -1), be_const_var(0) }, - { be_const_key_weak(set_bri, -1), be_const_closure(Matter_Plugin_Light1_set_bri_closure) }, + { be_const_key_weak(set_bri, -1), be_const_closure(class_Matter_Plugin_Light1_set_bri_closure) }, })), be_str_weak(Matter_Plugin_Light1) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Light1_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Light1); - be_setglobal(vm, "Matter_Plugin_Light1"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h index 968917d0b..3933c1c2f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_OnOff; /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_invoke_request, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -97,7 +98,8 @@ be_local_closure(Matter_Plugin_OnOff_invoke_request, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -105,7 +107,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -156,7 +158,8 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_parse_configuration, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -164,7 +167,7 @@ be_local_closure(Matter_Plugin_OnOff_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_relay_index), @@ -197,7 +200,8 @@ be_local_closure(Matter_Plugin_OnOff_parse_configuration, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_update_virtual, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -205,7 +209,7 @@ be_local_closure(Matter_Plugin_OnOff_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -243,7 +247,7 @@ be_local_closure(Matter_Plugin_OnOff_update_virtual, /* name */ /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_OnOff__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -251,7 +255,7 @@ be_local_closure(Matter_Plugin_OnOff__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -270,7 +274,8 @@ be_local_closure(Matter_Plugin_OnOff__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: set_onoff ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_set_onoff, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_set_onoff, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -278,7 +283,7 @@ be_local_closure(Matter_Plugin_OnOff_set_onoff, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -325,7 +330,8 @@ be_local_closure(Matter_Plugin_OnOff_set_onoff, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_update_shadow, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -333,7 +339,7 @@ be_local_closure(Matter_Plugin_OnOff_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -385,7 +391,8 @@ be_local_closure(Matter_Plugin_OnOff_update_shadow, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_OnOff_init, /* name */ +extern const bclass be_class_Matter_Plugin_OnOff; +be_local_closure(class_Matter_Plugin_OnOff_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -393,7 +400,7 @@ be_local_closure(Matter_Plugin_OnOff_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_OnOff, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -524,28 +531,21 @@ be_local_class(Matter_Plugin_OnOff, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_OnOff_invoke_request_closure) }, - { be_const_key_weak(read_attribute, 16), be_const_closure(Matter_Plugin_OnOff_read_attribute_closure) }, - { be_const_key_weak(parse_configuration, 13), be_const_closure(Matter_Plugin_OnOff_parse_configuration_closure) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_OnOff_update_virtual_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_OnOff_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 16), be_const_closure(class_Matter_Plugin_OnOff_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, 13), be_const_closure(class_Matter_Plugin_OnOff_parse_configuration_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_OnOff_update_virtual_closure) }, { be_const_key_weak(DISPLAY_NAME, 14), be_nested_str_weak(Relay) }, - { be_const_key_weak(ARG_TYPE, 12), be_const_static_closure(Matter_Plugin_OnOff__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 12), be_const_static_closure(class_Matter_Plugin_OnOff__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(relay) }, { be_const_key_weak(shadow_onoff, -1), be_const_var(0) }, - { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_OnOff_update_shadow_closure) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_OnOff_update_shadow_closure) }, { be_const_key_weak(ARG_HINT, 11), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_OnOff_init_closure) }, - { be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_OnOff_set_onoff_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_OnOff_init_closure) }, + { be_const_key_weak(set_onoff, -1), be_const_closure(class_Matter_Plugin_OnOff_set_onoff_closure) }, { be_const_key_weak(tasmota_relay_index, -1), be_const_var(1) }, })), be_str_weak(Matter_Plugin_OnOff) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_OnOff_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_OnOff); - be_setglobal(vm, "Matter_Plugin_OnOff"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h index ee3304726..82087ee1d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor; /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_update_virtual, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -67,7 +68,8 @@ be_local_closure(Matter_Plugin_Sensor_update_virtual, /* name */ /******************************************************************** ** Solidified function: parse_sensors ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_parse_sensors, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_parse_sensors, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -75,7 +77,7 @@ be_local_closure(Matter_Plugin_Sensor_parse_sensors, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -119,7 +121,8 @@ be_local_closure(Matter_Plugin_Sensor_parse_sensors, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_parse_configuration, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -127,7 +130,7 @@ be_local_closure(Matter_Plugin_Sensor_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_sensor_filter), @@ -163,7 +166,8 @@ be_local_closure(Matter_Plugin_Sensor_parse_configuration, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_init, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -171,7 +175,7 @@ be_local_closure(Matter_Plugin_Sensor_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -202,7 +206,8 @@ be_local_closure(Matter_Plugin_Sensor_init, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_pre_value, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -210,7 +215,7 @@ be_local_closure(Matter_Plugin_Sensor_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -226,7 +231,8 @@ be_local_closure(Matter_Plugin_Sensor_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor; +be_local_closure(class_Matter_Plugin_Sensor_value_changed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -234,7 +240,7 @@ be_local_closure(Matter_Plugin_Sensor_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor, 0, /* has constants */ NULL, /* no const */ be_str_weak(value_changed), @@ -257,27 +263,20 @@ be_local_class(Matter_Plugin_Sensor, be_nested_map(13, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(ARG, 1), be_nested_str_weak(filter) }, - { be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Sensor_value_changed_closure) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_update_virtual_closure) }, + { be_const_key_weak(value_changed, -1), be_const_closure(class_Matter_Plugin_Sensor_value_changed_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_update_virtual_closure) }, { be_const_key_weak(ARG_HINT, 9), be_nested_str_weak(Filter_X20pattern) }, { be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) }, - { be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_Sensor_parse_sensors_closure) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_sensors_closure) }, { be_const_key_weak(JSON_NAME, 8), be_nested_str_weak() }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_parse_configuration_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_init_closure) }, - { be_const_key_weak(pre_value, 12), be_const_closure(Matter_Plugin_Sensor_pre_value_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_parse_configuration_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_init_closure) }, + { be_const_key_weak(pre_value, 12), be_const_closure(class_Matter_Plugin_Sensor_pre_value_closure) }, { be_const_key_weak(shadow_value, -1), be_const_var(2) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, { be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) }, })), be_str_weak(Matter_Plugin_Sensor) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor); - be_setglobal(vm, "Matter_Plugin_Sensor"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h index 8900284a9..f4124fc0d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Contact; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Sensor_Contact__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact_init, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Sensor_Contact_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -73,7 +74,8 @@ be_local_closure(Matter_Plugin_Sensor_Contact_init, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Sensor_Contact_update_shadow, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -81,7 +83,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(update_shadow), @@ -154,7 +156,8 @@ be_local_closure(Matter_Plugin_Sensor_Contact_update_shadow, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Sensor_Contact_parse_configuration, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -162,7 +165,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_switch_index), @@ -195,7 +198,8 @@ be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Sensor_Contact_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -203,7 +207,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -262,7 +266,8 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Contact_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Sensor_Contact_update_virtual, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -270,7 +275,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -323,12 +328,12 @@ be_local_class(Matter_Plugin_Sensor_Contact, &be_class_Matter_Plugin_Device, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Sensor_Contact__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(class_Matter_Plugin_Sensor_Contact__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(shadow_contact, -1), be_const_var(1) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Contact_init_closure) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Contact_update_virtual_closure) }, - { be_const_key_weak(update_shadow, 15), be_const_closure(Matter_Plugin_Sensor_Contact_update_shadow_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_init_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_update_virtual_closure) }, + { be_const_key_weak(update_shadow, 15), be_const_closure(class_Matter_Plugin_Sensor_Contact_update_shadow_closure) }, { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(1, ( (struct bvalue*) &(const bvalue[]) { @@ -428,17 +433,10 @@ be_local_class(Matter_Plugin_Sensor_Contact, })) ) } )) }, })) ) } )) }, { be_const_key_weak(TYPE, 9), be_nested_str_weak(contact) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Contact_read_attribute_closure) }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Contact_parse_configuration_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_Contact_parse_configuration_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Contact) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Contact_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Contact); - be_setglobal(vm, "Matter_Plugin_Sensor_Contact"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h index a423b4a6f..eb2704d72 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_update_virtual, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -91,7 +92,8 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_update_virtual, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy_init, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -99,7 +101,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -128,7 +130,8 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_init, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -136,7 +139,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(update_shadow), @@ -209,7 +212,8 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_update_shadow, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -217,7 +221,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_switch_index), @@ -250,7 +254,8 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name * /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -258,7 +263,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -342,12 +347,12 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, &be_class_Matter_Plugin_Device, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 2), be_const_static_closure(Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 2), be_const_static_closure(class_Matter_Plugin_Sensor_Occupancy__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_update_virtual_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_init_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_update_virtual_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_init_closure) }, { be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) }, - { be_const_key_weak(update_shadow, 14), be_const_closure(Matter_Plugin_Sensor_Occupancy_update_shadow_closure) }, + { be_const_key_weak(update_shadow, 14), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_update_shadow_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) }, { be_const_key_weak(ARG, 12), be_nested_str_weak(switch) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) }, @@ -437,7 +442,7 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 4), be_const_closure(Matter_Plugin_Sensor_Occupancy_read_attribute_closure) }, + { be_const_key_weak(read_attribute, 4), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_read_attribute_closure) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { @@ -449,17 +454,10 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, be_nested_str_weak(Occupancy), })) ) } )) }, { be_const_key_weak(TYPE, 6), be_nested_str_weak(occupancy) }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_Occupancy_parse_configuration_closure) }, { be_const_key_weak(shadow_occupancy, -1), be_const_var(1) }, })), be_str_weak(Matter_Plugin_Sensor_Occupancy) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Occupancy_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Occupancy); - be_setglobal(vm, "Matter_Plugin_Sensor_Occupancy"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h index 8f8f8c192..8934ec9f9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_OnOff; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_OnOff__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Sensor_OnOff__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Sensor_OnOff__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_OnOff_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_OnOff; +be_local_closure(class_Matter_Plugin_Sensor_OnOff_update_shadow, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_OnOff, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(update_shadow), @@ -117,7 +118,8 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_update_shadow, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_OnOff_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_OnOff; +be_local_closure(class_Matter_Plugin_Sensor_OnOff_parse_configuration, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -125,7 +127,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_OnOff, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_switch_index), @@ -158,7 +160,8 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_parse_configuration, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_OnOff; +be_local_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -166,7 +169,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_OnOff, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -217,7 +220,8 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ /******************************************************************** ** Solidified function: append_state_json ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_OnOff_append_state_json, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_OnOff; +be_local_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -225,7 +229,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_append_state_json, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_OnOff, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_X2C_X22OnOff_X22_X3A_X25s), @@ -343,12 +347,12 @@ be_local_class(Matter_Plugin_Sensor_OnOff, { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, { be_const_key_weak(UPDATE_TIME, 4), be_const_int(750) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(onoff) }, - { be_const_key_weak(append_state_json, 12), be_const_closure(Matter_Plugin_Sensor_OnOff_append_state_json_closure) }, + { be_const_key_weak(append_state_json, 12), be_const_closure(class_Matter_Plugin_Sensor_OnOff_append_state_json_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(OnOff_X20Sensor) }, { be_const_key_weak(shadow_onoff, -1), be_const_var(1) }, - { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_update_shadow_closure) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_read_attribute_closure) }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_OnOff_parse_configuration_closure) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_update_shadow_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_OnOff_parse_configuration_closure) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { @@ -356,16 +360,9 @@ be_local_class(Matter_Plugin_Sensor_OnOff, })) ) } )) }, { be_const_key_weak(ARG_HINT, 9), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(tasmota_switch_index, 13), be_const_var(0) }, - { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Sensor_OnOff__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Sensor_OnOff__X3Clambda_X3E_closure) }, })), be_str_weak(Matter_Plugin_Sensor_OnOff) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_OnOff_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_OnOff); - be_setglobal(vm, "Matter_Plugin_Sensor_OnOff"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h index dbc7bbdd8..a69548646 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Waterleak.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak_init, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -73,7 +74,8 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_init, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_update_shadow, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -81,7 +83,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(update_shadow), @@ -154,7 +156,8 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_update_shadow, /* name */ /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_parse_configuration, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -162,7 +165,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_switch_index), @@ -195,7 +198,8 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration, /* name * /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -203,7 +207,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -262,7 +266,8 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_read_attribute, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Waterleak_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Sensor_Waterleak_update_virtual, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -270,7 +275,7 @@ be_local_closure(Matter_Plugin_Sensor_Waterleak_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -323,12 +328,12 @@ be_local_class(Matter_Plugin_Sensor_Waterleak, &be_class_Matter_Plugin_Device, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 2), be_const_static_closure(Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 2), be_const_static_closure(class_Matter_Plugin_Sensor_Waterleak__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, - { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_update_virtual_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_init_closure) }, + { be_const_key_weak(update_virtual, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_update_virtual_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_init_closure) }, { be_const_key_weak(shadow_leak, 15), be_const_var(1) }, - { be_const_key_weak(update_shadow, 4), be_const_closure(Matter_Plugin_Sensor_Waterleak_update_shadow_closure) }, + { be_const_key_weak(update_shadow, 4), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_update_shadow_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) }, { be_const_key_weak(ARG, 11), be_nested_str_weak(switch) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(750) }, @@ -422,23 +427,16 @@ be_local_class(Matter_Plugin_Sensor_Waterleak, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Waterleak), })) ) } )) }, - { be_const_key_weak(read_attribute, 14), be_const_closure(Matter_Plugin_Sensor_Waterleak_read_attribute_closure) }, + { be_const_key_weak(read_attribute, 14), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_read_attribute_closure) }, { be_const_key_weak(TYPE, 6), be_nested_str_weak(waterleak) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(67, -1), be_const_int(1) }, })) ) } )) }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Sensor_Waterleak_parse_configuration_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(class_Matter_Plugin_Sensor_Waterleak_parse_configuration_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Waterleak) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Waterleak_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Waterleak); - be_setglobal(vm, "Matter_Plugin_Sensor_Waterleak"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h index eb73d03f8..618604665 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Shutter; /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_parse_configuration, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Shutter_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_shutter_index), @@ -50,7 +51,8 @@ be_local_closure(Matter_Plugin_Shutter_parse_configuration, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_invoke_request, /* name */ be_nested_proto( 14, /* nstack */ 4, /* argc */ @@ -58,7 +60,7 @@ be_local_closure(Matter_Plugin_Shutter_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[24]) { /* constants */ /* K0 */ be_nested_str_weak(light), @@ -214,7 +216,8 @@ be_local_closure(Matter_Plugin_Shutter_invoke_request, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_read_attribute, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -222,7 +225,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -386,7 +389,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -394,7 +397,7 @@ be_local_closure(Matter_Plugin_Shutter__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -413,7 +416,8 @@ be_local_closure(Matter_Plugin_Shutter__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: parse_sensors ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_parse_sensors, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -421,7 +425,7 @@ be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(Shutter), @@ -502,7 +506,8 @@ be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */ /******************************************************************** ** Solidified function: update_inverted ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_update_inverted, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_update_inverted, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -510,7 +515,7 @@ be_local_closure(Matter_Plugin_Shutter_update_inverted, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(shadow_shutter_inverted), @@ -574,7 +579,8 @@ be_local_closure(Matter_Plugin_Shutter_update_inverted, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Shutter_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Shutter; +be_local_closure(class_Matter_Plugin_Shutter_update_shadow, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -582,7 +588,7 @@ be_local_closure(Matter_Plugin_Shutter_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Shutter, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -735,28 +741,21 @@ be_local_class(Matter_Plugin_Shutter, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(invoke_request, 3), be_const_closure(Matter_Plugin_Shutter_invoke_request_closure) }, - { be_const_key_weak(read_attribute, 11), be_const_closure(Matter_Plugin_Shutter_read_attribute_closure) }, - { be_const_key_weak(parse_configuration, 14), be_const_closure(Matter_Plugin_Shutter_parse_configuration_closure) }, + { be_const_key_weak(invoke_request, 3), be_const_closure(class_Matter_Plugin_Shutter_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 11), be_const_closure(class_Matter_Plugin_Shutter_read_attribute_closure) }, + { be_const_key_weak(parse_configuration, 14), be_const_closure(class_Matter_Plugin_Shutter_parse_configuration_closure) }, { be_const_key_weak(shadow_shutter_pos, -1), be_const_var(1) }, { be_const_key_weak(ARG, 13), be_nested_str_weak(shutter) }, - { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Shutter__X3Clambda_X3E_closure) }, - { be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_Shutter_parse_sensors_closure) }, - { be_const_key_weak(update_inverted, -1), be_const_closure(Matter_Plugin_Shutter_update_inverted_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Shutter__X3Clambda_X3E_closure) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_Shutter_parse_sensors_closure) }, + { be_const_key_weak(update_inverted, -1), be_const_closure(class_Matter_Plugin_Shutter_update_inverted_closure) }, { be_const_key_weak(ARG_HINT, 16), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, - { be_const_key_weak(update_shadow, 0), be_const_closure(Matter_Plugin_Shutter_update_shadow_closure) }, + { be_const_key_weak(update_shadow, 0), be_const_closure(class_Matter_Plugin_Shutter_update_shadow_closure) }, { be_const_key_weak(tasmota_shutter_index, -1), be_const_var(0) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter) }, { be_const_key_weak(shadow_shutter_direction, -1), be_const_var(3) }, })), be_str_weak(Matter_Plugin_Shutter) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Shutter_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Shutter); - be_setglobal(vm, "Matter_Plugin_Shutter"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h index e4a9b75dd..fb95b30e9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Light0; /******************************************************************** ** Solidified function: set_onoff ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_set_onoff, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_set_onoff, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_set_onoff, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(call_remote_sync), @@ -57,7 +58,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0_set_onoff, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -65,7 +67,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -110,7 +112,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -118,7 +121,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -169,7 +172,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */ /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -177,7 +180,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -196,7 +199,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_parse_update, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -204,7 +208,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_relay_index), @@ -270,7 +274,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0_parse_update, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_invoke_request, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -278,7 +283,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -355,7 +360,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_web_values, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -363,7 +369,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -397,7 +403,8 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */ /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light0; +be_local_closure(class_Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -405,7 +412,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light0, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -459,16 +466,16 @@ be_local_class(Matter_Plugin_Bridge_Light0, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(shadow_onoff, 5), be_const_var(1) }, { be_const_key_weak(tasmota_relay_index, 4), be_const_var(0) }, - { be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_Bridge_Light0_set_onoff_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light0_init_closure) }, - { be_const_key_weak(web_values_prefix, 9), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_prefix_closure) }, - { be_const_key_weak(web_values, 15), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_closure) }, + { be_const_key_weak(set_onoff, -1), be_const_closure(class_Matter_Plugin_Bridge_Light0_set_onoff_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_Light0_init_closure) }, + { be_const_key_weak(web_values_prefix, 9), be_const_closure(class_Matter_Plugin_Bridge_Light0_web_values_prefix_closure) }, + { be_const_key_weak(web_values, 15), be_const_closure(class_Matter_Plugin_Bridge_Light0_web_values_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(relay) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light0_parse_update_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_Plugin_Bridge_Light0_parse_update_closure) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Power_X3Cx_X3E_X20number) }, - { be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 12), be_const_closure(class_Matter_Plugin_Bridge_Light0_read_attribute_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Bridge_Light0_invoke_request_closure) }, { be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -559,16 +566,9 @@ be_local_class(Matter_Plugin_Bridge_Light0, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(256, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(class_Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) }, })), be_str_weak(Matter_Plugin_Bridge_Light0) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Light0_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Light0); - be_setglobal(vm, "Matter_Plugin_Bridge_Light0"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h index 4079b20bd..3263e3908 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor; /******************************************************************** ** Solidified function: parse_configuration ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_sensor_filter), @@ -61,7 +62,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_value_changed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -69,7 +71,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 0, /* has constants */ NULL, /* no const */ be_str_weak(value_changed), @@ -85,7 +87,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */ /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -93,7 +96,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -136,7 +139,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_parse_update, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -144,7 +148,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(contains), @@ -205,7 +209,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_parse_update, /* name */ /******************************************************************** ** Solidified function: filter_name_html ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_filter_name_html, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_filter_name_html, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -213,7 +218,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_filter_name_html, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_sensor_filter), @@ -250,7 +255,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_filter_name_html, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_pre_value, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -258,7 +264,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -283,34 +289,27 @@ be_local_class(Matter_Plugin_Bridge_Sensor, { be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Filter_X20pattern) }, { be_const_key_weak(shadow_value, -1), be_const_var(2) }, - { be_const_key_weak(pre_value, 10), be_const_closure(Matter_Plugin_Bridge_Sensor_pre_value_closure) }, + { be_const_key_weak(pre_value, 10), be_const_closure(class_Matter_Plugin_Bridge_Sensor_pre_value_closure) }, { be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) }, { be_const_key_weak(pressure_unit, -1), be_const_var(4) }, { be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(filter) }, { be_const_key_weak(PRESSURE_MMHG, -1), be_nested_str_weak(mmHg) }, - { be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_value_changed_closure) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_update_closure) }, + { be_const_key_weak(value_changed, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_value_changed_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_parse_update_closure) }, { be_const_key_weak(TEMP_C, -1), be_nested_str_weak(C) }, { be_const_key_weak(temp_unit, 4), be_const_var(3) }, { be_const_key_weak(PRESSURE_INHG, -1), be_nested_str_weak(inHg) }, { be_const_key_weak(PRESSURE_HPA, 18), be_nested_str_weak(hPa) }, { be_const_key_weak(PROBE_TIMEOUT, 16), be_const_int(1700) }, - { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_web_values_prefix_closure) }, { be_const_key_weak(UPDATE_CMD, 13), be_nested_str_weak(Status_X208) }, { be_const_key_weak(TEMP_F, -1), be_nested_str_weak(F) }, - { be_const_key_weak(filter_name_html, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_filter_name_html_closure) }, + { be_const_key_weak(filter_name_html, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_filter_name_html_closure) }, { be_const_key_weak(UPDATE_TIME, 3), be_const_int(5000) }, - { be_const_key_weak(parse_configuration, 2), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_configuration_closure) }, + { be_const_key_weak(parse_configuration, 2), be_const_closure(class_Matter_Plugin_Bridge_Sensor_parse_configuration_closure) }, })), be_str_weak(Matter_Plugin_Bridge_Sensor) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h index e39b2ffa0..5f27166aa 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name * /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -86,7 +87,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */ /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -94,7 +96,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* nam 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -140,7 +142,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* nam /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -148,7 +151,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -199,7 +202,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -207,7 +211,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -266,7 +270,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name * /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -274,7 +279,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Contact, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -316,16 +321,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, &be_class_Matter_Plugin_Bridge_HTTP, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(class_Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, 4), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(shadow_contact, -1), be_const_var(1) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_init_closure) }, - { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Contact_init_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Contact_web_values_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Contact) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, - { be_const_key_weak(parse_update, 11), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) }, - { be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) }, + { be_const_key_weak(parse_update, 11), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) }, + { be_const_key_weak(read_attribute, 12), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -422,12 +427,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Contact) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Contact_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Contact); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Contact"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h index 20fbfe3b6..d4ff1c804 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -86,7 +87,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -94,7 +96,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -145,7 +147,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name * /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -153,7 +156,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* n 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -199,7 +202,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* n /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -207,7 +211,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -285,7 +289,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -293,7 +298,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Occupancy, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -335,11 +340,11 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, &be_class_Matter_Plugin_Bridge_HTTP, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, 12), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, { be_const_key_weak(shadow_occupancy, -1), be_const_var(1) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Occupancy) }, { be_const_key_weak(TYPES, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, @@ -347,7 +352,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, { be_const_key_int(263, -1), be_const_int(2) }, })) ) } )) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, - { be_const_key_weak(parse_update, 14), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) }, + { be_const_key_weak(parse_update, 14), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) }, { be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -435,20 +440,13 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, })) ) } )) }, })) ) } )) }, { be_const_key_weak(tasmota_switch_index, 6), be_const_var(0) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) }, - { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix_closure) }, { be_const_key_weak(TYPE, 5), be_nested_str_weak(http_occupancy) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, { be_const_key_weak(UPDATE_CMD, 2), be_nested_str_weak(Status_X208) }, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Occupancy) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Occupancy_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Occupancy); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Occupancy"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h index 8b7dd80e1..48d9a153b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Waterleak.h @@ -9,7 +9,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; /******************************************************************** ** Solidified function: ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E, /* name */ +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +17,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ be_str_weak(_X3Clambda_X3E), @@ -36,7 +36,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E, /* name /******************************************************************** ** Solidified function: web_values_prefix ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -44,7 +45,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix, /* n 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -90,7 +91,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix, /* n /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -98,7 +100,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -140,7 +142,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -148,7 +151,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -184,7 +187,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_parse_update, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -192,7 +196,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -243,7 +247,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update, /* name * /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Waterleak; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -251,7 +256,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Waterleak, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -316,11 +321,11 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, &be_class_Matter_Plugin_Bridge_HTTP, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak__X3Clambda_X3E_closure) }, { be_const_key_weak(ARG_HINT, 2), be_nested_str_weak(Switch_X3Cx_X3E_X20number) }, - { be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_init_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_web_values_closure) }, + { be_const_key_weak(web_values_prefix, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_web_values_prefix_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_init_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_web_values_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Waterleak) }, { be_const_key_weak(TYPES, 9), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, @@ -328,7 +333,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, { be_const_key_int(67, -1), be_const_int(1) }, })) ) } )) }, { be_const_key_weak(ARG, -1), be_nested_str_weak(switch) }, - { be_const_key_weak(parse_update, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_parse_update_closure) }, + { be_const_key_weak(parse_update, 12), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_parse_update_closure) }, { be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -414,7 +419,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, })) ) } )) }, })) ) } )) }, { be_const_key_weak(tasmota_switch_index, 6), be_const_var(0) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Waterleak_read_attribute_closure) }, { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, { be_const_key_weak(TYPE, 5), be_nested_str_weak(http_waterleak) }, { be_const_key_weak(shadow_Waterleak, -1), be_const_var(1) }, @@ -422,12 +427,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Waterleak, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Waterleak) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Waterleak_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Waterleak); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Waterleak"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light0.h index 617c428aa..4ede0e4d9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light0.h @@ -25,12 +25,5 @@ be_local_class(Matter_Plugin_Light0, })), be_str_weak(Matter_Plugin_Light0) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Light0_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Light0); - be_setglobal(vm, "Matter_Plugin_Light0"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h index f52fc8830..cdf9539d2 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Light2; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_init, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Light2_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -49,7 +50,8 @@ be_local_closure(Matter_Plugin_Light2_init, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_invoke_request, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -57,7 +59,7 @@ be_local_closure(Matter_Plugin_Light2_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(light), @@ -146,7 +148,8 @@ be_local_closure(Matter_Plugin_Light2_invoke_request, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_update_shadow, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -154,7 +157,7 @@ be_local_closure(Matter_Plugin_Light2_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(VIRTUAL), @@ -217,7 +220,8 @@ be_local_closure(Matter_Plugin_Light2_update_shadow, /* name */ /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_update_virtual, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -225,7 +229,7 @@ be_local_closure(Matter_Plugin_Light2_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -263,7 +267,8 @@ be_local_closure(Matter_Plugin_Light2_update_virtual, /* name */ /******************************************************************** ** Solidified function: set_ct ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_set_ct, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_set_ct, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -271,7 +276,7 @@ be_local_closure(Matter_Plugin_Light2_set_ct, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(ct_min), @@ -324,7 +329,8 @@ be_local_closure(Matter_Plugin_Light2_set_ct, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -332,7 +338,7 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -433,7 +439,8 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ /******************************************************************** ** Solidified function: update_ct_minmax ********************************************************************/ -be_local_closure(Matter_Plugin_Light2_update_ct_minmax, /* name */ +extern const bclass be_class_Matter_Plugin_Light2; +be_local_closure(class_Matter_Plugin_Light2_update_ct_minmax, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -441,7 +448,7 @@ be_local_closure(Matter_Plugin_Light2_update_ct_minmax, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light2, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -482,14 +489,14 @@ be_local_class(Matter_Plugin_Light2, &be_class_Matter_Plugin_Light1, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Light2_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Light2_init_closure) }, { be_const_key_weak(shadow_ct, -1), be_const_var(0) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light2_invoke_request_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light2_invoke_request_closure) }, { be_const_key_weak(ct_max, -1), be_const_var(2) }, - { be_const_key_weak(update_shadow, 10), be_const_closure(Matter_Plugin_Light2_update_shadow_closure) }, - { be_const_key_weak(update_virtual, 8), be_const_closure(Matter_Plugin_Light2_update_virtual_closure) }, + { be_const_key_weak(update_shadow, 10), be_const_closure(class_Matter_Plugin_Light2_update_shadow_closure) }, + { be_const_key_weak(update_virtual, 8), be_const_closure(class_Matter_Plugin_Light2_update_virtual_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X202_X20CT) }, - { be_const_key_weak(set_ct, -1), be_const_closure(Matter_Plugin_Light2_set_ct_closure) }, + { be_const_key_weak(set_ct, -1), be_const_closure(class_Matter_Plugin_Light2_set_ct_closure) }, { be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { @@ -616,19 +623,12 @@ be_local_class(Matter_Plugin_Light2, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(update_ct_minmax, -1), be_const_closure(Matter_Plugin_Light2_update_ct_minmax_closure) }, - { be_const_key_weak(read_attribute, 11), be_const_closure(Matter_Plugin_Light2_read_attribute_closure) }, + { be_const_key_weak(update_ct_minmax, -1), be_const_closure(class_Matter_Plugin_Light2_update_ct_minmax_closure) }, + { be_const_key_weak(read_attribute, 11), be_const_closure(class_Matter_Plugin_Light2_read_attribute_closure) }, { be_const_key_weak(ct_min, -1), be_const_var(1) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(light2) }, })), be_str_weak(Matter_Plugin_Light2) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Light2_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Light2); - be_setglobal(vm, "Matter_Plugin_Light2"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h index db81f7d67..2a4feefc7 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Light3; /******************************************************************** ** Solidified function: update_virtual ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_update_virtual, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_update_virtual, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Light3_update_virtual, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(find), @@ -65,7 +66,8 @@ be_local_closure(Matter_Plugin_Light3_update_virtual, /* name */ /******************************************************************** ** Solidified function: set_hue_sat ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_set_hue_sat, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_set_hue_sat, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -73,7 +75,7 @@ be_local_closure(Matter_Plugin_Light3_set_hue_sat, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_const_int(0), @@ -206,7 +208,8 @@ be_local_closure(Matter_Plugin_Light3_set_hue_sat, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_invoke_request, /* name */ be_nested_proto( 16, /* nstack */ 4, /* argc */ @@ -214,7 +217,7 @@ be_local_closure(Matter_Plugin_Light3_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(light), @@ -372,7 +375,8 @@ be_local_closure(Matter_Plugin_Light3_invoke_request, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_init, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -380,7 +384,7 @@ be_local_closure(Matter_Plugin_Light3_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -411,7 +415,8 @@ be_local_closure(Matter_Plugin_Light3_init, /* name */ /******************************************************************** ** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_update_shadow, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_update_shadow, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -419,7 +424,7 @@ be_local_closure(Matter_Plugin_Light3_update_shadow, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(update_shadow), @@ -515,7 +520,8 @@ be_local_closure(Matter_Plugin_Light3_update_shadow, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Light3; +be_local_closure(class_Matter_Plugin_Light3_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -523,7 +529,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Light3, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -656,12 +662,12 @@ be_local_class(Matter_Plugin_Light3, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(shadow_hue, -1), be_const_var(0) }, { be_const_key_weak(shadow_sat, -1), be_const_var(1) }, - { be_const_key_weak(update_virtual, 8), be_const_closure(Matter_Plugin_Light3_update_virtual_closure) }, - { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_Light3_update_shadow_closure) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Light3_read_attribute_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Light3_invoke_request_closure) }, - { be_const_key_weak(init, 9), be_const_closure(Matter_Plugin_Light3_init_closure) }, - { be_const_key_weak(set_hue_sat, 3), be_const_closure(Matter_Plugin_Light3_set_hue_sat_closure) }, + { be_const_key_weak(update_virtual, 8), be_const_closure(class_Matter_Plugin_Light3_update_virtual_closure) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(class_Matter_Plugin_Light3_update_shadow_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Light3_read_attribute_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Light3_invoke_request_closure) }, + { be_const_key_weak(init, 9), be_const_closure(class_Matter_Plugin_Light3_init_closure) }, + { be_const_key_weak(set_hue_sat, 3), be_const_closure(class_Matter_Plugin_Light3_set_hue_sat_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(light3) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -796,12 +802,5 @@ be_local_class(Matter_Plugin_Light3, })), be_str_weak(Matter_Plugin_Light3) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Light3_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Light3); - be_setglobal(vm, "Matter_Plugin_Light3"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h index 77de122bf..97cae5f0b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor_Flow; /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Flow_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Sensor_Flow_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_Flow_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Flow, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -40,7 +41,8 @@ be_local_closure(Matter_Plugin_Sensor_Flow_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Sensor_Flow_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Flow, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -127,7 +129,8 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Flow_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Sensor_Flow_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -135,7 +138,7 @@ be_local_closure(Matter_Plugin_Sensor_Flow_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Flow, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -178,9 +181,9 @@ be_local_class(Matter_Plugin_Sensor_Flow, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Flow), })) ) } )) }, - { be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Flow_value_changed_closure) }, + { be_const_key_weak(value_changed, 7), be_const_closure(class_Matter_Plugin_Sensor_Flow_value_changed_closure) }, { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Flow) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Flow_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -267,16 +270,9 @@ be_local_class(Matter_Plugin_Sensor_Flow, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Flow_pre_value_closure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Flow_pre_value_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Flow) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Flow_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Flow); - be_setglobal(vm, "Matter_Plugin_Sensor_Flow"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h index c0472c631..c2d3fc521 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor_Humidity; /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Sensor_Humidity_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Humidity, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -40,7 +41,8 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Humidity, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -127,7 +129,8 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Humidity_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Sensor_Humidity_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -135,7 +138,7 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Humidity, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -178,9 +181,9 @@ be_local_class(Matter_Plugin_Sensor_Humidity, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Humidity), })) ) } )) }, - { be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Humidity_value_changed_closure) }, + { be_const_key_weak(value_changed, 7), be_const_closure(class_Matter_Plugin_Sensor_Humidity_value_changed_closure) }, { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Humidity) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -267,16 +270,9 @@ be_local_class(Matter_Plugin_Sensor_Humidity, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Humidity_pre_value_closure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Humidity_pre_value_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Humidity) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Humidity_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Humidity); - be_setglobal(vm, "Matter_Plugin_Sensor_Humidity"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h index eef1f845b..aea99a7cb 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -40,7 +41,8 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -127,7 +129,8 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Illuminance_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -135,7 +138,7 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(math), @@ -190,9 +193,9 @@ be_local_class(Matter_Plugin_Sensor_Illuminance, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Illuminance), })) ) } )) }, - { be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Illuminance_value_changed_closure) }, + { be_const_key_weak(value_changed, 7), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_value_changed_closure) }, { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Illuminance) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -279,16 +282,9 @@ be_local_class(Matter_Plugin_Sensor_Illuminance, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Illuminance_pre_value_closure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Illuminance_pre_value_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Illuminance) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Illuminance_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Illuminance); - be_setglobal(vm, "Matter_Plugin_Sensor_Illuminance"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h index b64f251ac..245a4b5f1 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor_Pressure; /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Sensor_Pressure_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Pressure, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -40,7 +41,8 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Pressure, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -127,7 +129,8 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Pressure_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Sensor_Pressure_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -135,7 +138,7 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Pressure, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -177,9 +180,9 @@ be_local_class(Matter_Plugin_Sensor_Pressure, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Pressure), })) ) } )) }, - { be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Pressure_value_changed_closure) }, + { be_const_key_weak(value_changed, 7), be_const_closure(class_Matter_Plugin_Sensor_Pressure_value_changed_closure) }, { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Pressure) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -266,16 +269,9 @@ be_local_class(Matter_Plugin_Sensor_Pressure, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Pressure_pre_value_closure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Pressure_pre_value_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Pressure) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Pressure_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Pressure); - be_setglobal(vm, "Matter_Plugin_Sensor_Pressure"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h index 7294dfc88..785235cd0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Sensor_Temp; /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Sensor_Temp_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -40,7 +41,8 @@ be_local_closure(Matter_Plugin_Sensor_Temp_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Sensor_Temp_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -125,7 +127,8 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Sensor_Temp_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Sensor_Temp_pre_value, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -133,7 +136,7 @@ be_local_closure(Matter_Plugin_Sensor_Temp_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -191,9 +194,9 @@ be_local_class(Matter_Plugin_Sensor_Temp, ( (struct bvalue*) &(const bvalue[]) { be_nested_str_weak(Temperature), })) ) } )) }, - { be_const_key_weak(value_changed, 7), be_const_closure(Matter_Plugin_Sensor_Temp_value_changed_closure) }, + { be_const_key_weak(value_changed, 7), be_const_closure(class_Matter_Plugin_Sensor_Temp_value_changed_closure) }, { be_const_key_weak(JSON_NAME, -1), be_nested_str_weak(Temperature) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Sensor_Temp_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_read_attribute_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -280,16 +283,9 @@ be_local_class(Matter_Plugin_Sensor_Temp, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Sensor_Temp_pre_value_closure) }, + { be_const_key_weak(pre_value, -1), be_const_closure(class_Matter_Plugin_Sensor_Temp_pre_value_closure) }, })), be_str_weak(Matter_Plugin_Sensor_Temp) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Sensor_Temp_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Sensor_Temp); - be_setglobal(vm, "Matter_Plugin_Sensor_Temp"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h index 3914bb053..ecb89c44b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_ShutterTilt; /******************************************************************** ** Solidified function: update_tilt_min_max ********************************************************************/ -be_local_closure(Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */ +extern const bclass be_class_Matter_Plugin_ShutterTilt; +be_local_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_ShutterTilt, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -79,7 +80,8 @@ be_local_closure(Matter_Plugin_ShutterTilt_update_tilt_min_max, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_ShutterTilt; +be_local_closure(class_Matter_Plugin_ShutterTilt_read_attribute, /* name */ be_nested_proto( 14, /* nstack */ 4, /* argc */ @@ -87,7 +89,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_ShutterTilt, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -236,7 +238,8 @@ be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */ /******************************************************************** ** Solidified function: parse_sensors ********************************************************************/ -be_local_closure(Matter_Plugin_ShutterTilt_parse_sensors, /* name */ +extern const bclass be_class_Matter_Plugin_ShutterTilt; +be_local_closure(class_Matter_Plugin_ShutterTilt_parse_sensors, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -244,7 +247,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_parse_sensors, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_ShutterTilt, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(Shutter), @@ -300,7 +303,8 @@ be_local_closure(Matter_Plugin_ShutterTilt_parse_sensors, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_ShutterTilt_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_ShutterTilt; +be_local_closure(class_Matter_Plugin_ShutterTilt_invoke_request, /* name */ be_nested_proto( 18, /* nstack */ 4, /* argc */ @@ -308,7 +312,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_ShutterTilt, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(light), @@ -432,9 +436,9 @@ be_local_class(Matter_Plugin_ShutterTilt, &be_class_Matter_Plugin_Shutter, be_nested_map(10, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(update_tilt_min_max, -1), be_const_closure(Matter_Plugin_ShutterTilt_update_tilt_min_max_closure) }, + { be_const_key_weak(update_tilt_min_max, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_update_tilt_min_max_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Shutter_X20_X2B_X20Tilt) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_ShutterTilt_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_read_attribute_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(shutter_X2Btilt) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, @@ -531,19 +535,12 @@ be_local_class(Matter_Plugin_ShutterTilt, })) ) } )) }, })) ) } )) }, { be_const_key_weak(tilt_min, 8), be_const_var(1) }, - { be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_ShutterTilt_parse_sensors_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_ShutterTilt_invoke_request_closure) }, + { be_const_key_weak(parse_sensors, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_parse_sensors_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_ShutterTilt_invoke_request_closure) }, { be_const_key_weak(shadow_shutter_tilt, -1), be_const_var(0) }, { be_const_key_weak(tilt_max, 3), be_const_var(2) }, })), be_str_weak(Matter_Plugin_ShutterTilt) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_ShutterTilt_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_ShutterTilt); - be_setglobal(vm, "Matter_Plugin_ShutterTilt"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h index 2c40875ff..ce56fbb49 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Light1; /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_invoke_request, /* name */ be_nested_proto( 21, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -185,7 +186,8 @@ be_local_closure(Matter_Plugin_Bridge_Light1_invoke_request, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -193,7 +195,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -301,7 +303,8 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_web_values, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -309,7 +312,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -346,7 +349,8 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */ /******************************************************************** ** Solidified function: set_bri ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_set_bri, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_set_bri, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -354,7 +358,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_set_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -398,7 +402,8 @@ be_local_closure(Matter_Plugin_Bridge_Light1_set_bri, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_parse_update, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -406,7 +411,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(parse_update), @@ -465,7 +470,8 @@ be_local_closure(Matter_Plugin_Bridge_Light1_parse_update, /* name */ /******************************************************************** ** Solidified function: web_value_dimmer ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light1; +be_local_closure(class_Matter_Plugin_Bridge_Light1_web_value_dimmer, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -473,7 +479,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light1, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -522,10 +528,10 @@ be_local_class(Matter_Plugin_Bridge_Light1, &be_class_Matter_Plugin_Bridge_Light0, be_nested_map(11, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(web_value_dimmer, -1), be_const_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer_closure) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light1_parse_update_closure) }, + { be_const_key_weak(web_value_dimmer, -1), be_const_closure(class_Matter_Plugin_Bridge_Light1_web_value_dimmer_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_Plugin_Bridge_Light1_parse_update_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light1) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light1_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Bridge_Light1_read_attribute_closure) }, { be_const_key_weak(TYPES, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { @@ -631,19 +637,12 @@ be_local_class(Matter_Plugin_Bridge_Light1, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(set_bri, -1), be_const_closure(Matter_Plugin_Bridge_Light1_set_bri_closure) }, + { be_const_key_weak(set_bri, -1), be_const_closure(class_Matter_Plugin_Bridge_Light1_set_bri_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X201_X20Dimmer) }, - { be_const_key_weak(web_values, 1), be_const_closure(Matter_Plugin_Bridge_Light1_web_values_closure) }, - { be_const_key_weak(invoke_request, 0), be_const_closure(Matter_Plugin_Bridge_Light1_invoke_request_closure) }, + { be_const_key_weak(web_values, 1), be_const_closure(class_Matter_Plugin_Bridge_Light1_web_values_closure) }, + { be_const_key_weak(invoke_request, 0), be_const_closure(class_Matter_Plugin_Bridge_Light1_invoke_request_closure) }, })), be_str_weak(Matter_Plugin_Bridge_Light1) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Light1_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Light1); - be_setglobal(vm, "Matter_Plugin_Bridge_Light1"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h index 0e7f4e707..7e53d6f4c 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_OnOff.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_OnOff; /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_OnOff_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_OnOff; +be_local_closure(class_Matter_Plugin_Bridge_OnOff_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_OnOff_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_OnOff, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -65,18 +66,11 @@ be_local_class(Matter_Plugin_Bridge_OnOff, { be_const_key_int(266, -1), be_const_int(2) }, })) ) } )) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Relay) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_OnOff_web_values_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_OnOff_web_values_closure) }, { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Relay_X3Cx_X3E_X20number) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_relay) }, })), be_str_weak(Matter_Plugin_Bridge_OnOff) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_OnOff_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_OnOff); - be_setglobal(vm, "Matter_Plugin_Bridge_OnOff"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h index 538581fca..2bd05cb2e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Flow_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Flow, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -42,7 +43,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Flow_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -50,7 +52,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Flow, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -73,7 +75,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -81,7 +84,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Flow, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -160,7 +163,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Flow; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Flow_web_values, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -168,7 +172,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Flow, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -207,15 +211,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Flow, &be_class_Matter_Plugin_Bridge_Sensor, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Flow_pre_value_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Flow_web_values_closure) }, + { be_const_key_weak(pre_value, 1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Flow_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Flow_web_values_closure) }, { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(774, -1), be_const_int(1) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute_closure) }, - { be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Flow_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Flow_read_attribute_closure) }, + { be_const_key_weak(value_changed, 6), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Flow_value_changed_closure) }, { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Flow) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_flow) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -307,12 +311,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Flow, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Flow) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Flow_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Flow); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Flow"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h index 32bfb71ad..5805df777 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Humidity, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -42,7 +43,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -50,7 +52,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Humidity, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -73,7 +75,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name * /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -81,7 +84,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Humidity, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -160,7 +163,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Humidity; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -168,7 +172,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Humidity, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -215,15 +219,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, &be_class_Matter_Plugin_Bridge_Sensor, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values_closure) }, + { be_const_key_weak(pre_value, 1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_web_values_closure) }, { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(775, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute_closure) }, - { be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_read_attribute_closure) }, + { be_const_key_weak(value_changed, 6), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Humidity_value_changed_closure) }, { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Humidity) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_humidity) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -315,12 +319,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Humidity) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Humidity_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Humidity); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Humidity"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h index 563e3eb59..e31c317b6 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(math), @@ -54,7 +55,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -62,7 +64,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* nam 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -85,7 +87,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* nam /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -93,7 +96,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -172,7 +175,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Illuminance; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -180,7 +184,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Illuminance, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -219,15 +223,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, &be_class_Matter_Plugin_Bridge_Sensor, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values_closure) }, + { be_const_key_weak(pre_value, 1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_web_values_closure) }, { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(262, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute_closure) }, - { be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute_closure) }, + { be_const_key_weak(value_changed, 6), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Illuminance_value_changed_closure) }, { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Illuminance) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_illuminance) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -319,12 +323,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Illuminance) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Illuminance_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Illuminance); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Illuminance"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h index 6632731e9..1e4078565 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Pressure, 0, /* has constants */ NULL, /* no const */ be_str_weak(pre_value), @@ -41,7 +42,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -49,7 +51,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Pressure, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -72,7 +74,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name * /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -80,7 +83,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Pressure, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -159,7 +162,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Pressure; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -167,7 +171,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Pressure, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -206,15 +210,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, &be_class_Matter_Plugin_Bridge_Sensor, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values_closure) }, + { be_const_key_weak(pre_value, 1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_web_values_closure) }, { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(773, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute_closure) }, - { be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_read_attribute_closure) }, + { be_const_key_weak(value_changed, 6), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Pressure_value_changed_closure) }, { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Pressure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_pressure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -306,12 +310,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Pressure) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Pressure_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Pressure); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Pressure"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h index d257139a0..491a9e29c 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; /******************************************************************** ** Solidified function: pre_value ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(temp_unit), @@ -54,7 +55,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */ /******************************************************************** ** Solidified function: value_changed ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -62,7 +64,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -85,7 +87,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -93,7 +96,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -170,7 +173,8 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Temp; +be_local_closure(class_Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -178,7 +182,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Sensor_Temp, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -225,15 +229,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp, &be_class_Matter_Plugin_Bridge_Sensor, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pre_value, 1), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value_closure) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values_closure) }, + { be_const_key_weak(pre_value, 1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Temp_pre_value_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Temp_web_values_closure) }, { be_const_key_weak(TYPES, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(770, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(read_attribute, 7), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute_closure) }, - { be_const_key_weak(value_changed, 6), be_const_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed_closure) }, + { be_const_key_weak(read_attribute, 7), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Temp_read_attribute_closure) }, + { be_const_key_weak(value_changed, 6), be_const_closure(class_Matter_Plugin_Bridge_Sensor_Temp_value_changed_closure) }, { be_const_key_weak(DISPLAY_NAME, 4), be_nested_str_weak(Temperature) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_temperature) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -325,12 +329,5 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp, })), be_str_weak(Matter_Plugin_Bridge_Sensor_Temp) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Sensor_Temp_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Sensor_Temp); - be_setglobal(vm, "Matter_Plugin_Bridge_Sensor_Temp"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h index 4e7688159..8015c80ee 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Light2; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -46,7 +47,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_init, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_parse_update, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -54,7 +56,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(parse_update), @@ -112,7 +114,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_parse_update, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -120,7 +123,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -160,7 +163,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */ /******************************************************************** ** Solidified function: web_value_ct ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_web_value_ct, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_web_value_ct, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -168,7 +172,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_value_ct, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -209,7 +213,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_value_ct, /* name */ /******************************************************************** ** Solidified function: set_ct ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_set_ct, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_set_ct, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -217,7 +222,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_set_ct, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(call_remote_sync), @@ -250,7 +255,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_set_ct, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_invoke_request, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -258,7 +264,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -352,7 +358,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_invoke_request, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -360,7 +367,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -472,7 +479,8 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ /******************************************************************** ** Solidified function: update_ct_minmax ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light2; +be_local_closure(class_Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -480,7 +488,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light2, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -521,9 +529,9 @@ be_local_class(Matter_Plugin_Bridge_Light2, &be_class_Matter_Plugin_Bridge_Light1, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light2_init_closure) }, - { be_const_key_weak(parse_update, 9), be_const_closure(Matter_Plugin_Bridge_Light2_parse_update_closure) }, - { be_const_key_weak(web_values, 11), be_const_closure(Matter_Plugin_Bridge_Light2_web_values_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Plugin_Bridge_Light2_init_closure) }, + { be_const_key_weak(parse_update, 9), be_const_closure(class_Matter_Plugin_Bridge_Light2_parse_update_closure) }, + { be_const_key_weak(web_values, 11), be_const_closure(class_Matter_Plugin_Bridge_Light2_web_values_closure) }, { be_const_key_weak(ct_max, -1), be_const_var(2) }, { be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(8, @@ -645,24 +653,17 @@ be_local_class(Matter_Plugin_Bridge_Light2, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(268, -1), be_const_int(2) }, })) ) } )) }, - { be_const_key_weak(web_value_ct, 8), be_const_closure(Matter_Plugin_Bridge_Light2_web_value_ct_closure) }, - { be_const_key_weak(set_ct, -1), be_const_closure(Matter_Plugin_Bridge_Light2_set_ct_closure) }, + { be_const_key_weak(web_value_ct, 8), be_const_closure(class_Matter_Plugin_Bridge_Light2_web_value_ct_closure) }, + { be_const_key_weak(set_ct, -1), be_const_closure(class_Matter_Plugin_Bridge_Light2_set_ct_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X202_X20CT) }, { be_const_key_weak(shadow_ct, -1), be_const_var(0) }, - { be_const_key_weak(update_ct_minmax, -1), be_const_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light2_invoke_request_closure) }, - { be_const_key_weak(read_attribute, 10), be_const_closure(Matter_Plugin_Bridge_Light2_read_attribute_closure) }, + { be_const_key_weak(update_ct_minmax, -1), be_const_closure(class_Matter_Plugin_Bridge_Light2_update_ct_minmax_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Bridge_Light2_invoke_request_closure) }, + { be_const_key_weak(read_attribute, 10), be_const_closure(class_Matter_Plugin_Bridge_Light2_read_attribute_closure) }, { be_const_key_weak(ct_min, -1), be_const_var(1) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light2) }, })), be_str_weak(Matter_Plugin_Bridge_Light2) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Light2_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Light2); - be_setglobal(vm, "Matter_Plugin_Bridge_Light2"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h index bed876797..303f3ecc7 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Plugin_Bridge_Light3; /******************************************************************** ** Solidified function: set_sat ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_set_sat, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_set_sat, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_set_sat, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -59,7 +60,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_set_sat, /* name */ /******************************************************************** ** Solidified function: parse_update ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_parse_update, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_parse_update, /* name */ be_nested_proto( 15, /* nstack */ 3, /* argc */ @@ -67,7 +69,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_parse_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(parse_update), @@ -166,7 +168,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_parse_update, /* name */ /******************************************************************** ** Solidified function: web_values ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_web_values, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -174,7 +177,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -214,7 +217,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */ /******************************************************************** ** Solidified function: web_value_RGB ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -222,7 +226,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(shadow_hue), @@ -298,7 +302,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */ /******************************************************************** ** Solidified function: read_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_read_attribute, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -306,7 +311,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -443,7 +448,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_invoke_request, /* name */ be_nested_proto( 15, /* nstack */ 4, /* argc */ @@ -451,7 +457,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -605,7 +611,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */ /******************************************************************** ** Solidified function: set_hue ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_set_hue, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_set_hue, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -613,7 +620,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_set_hue, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -655,7 +662,8 @@ be_local_closure(Matter_Plugin_Bridge_Light3_set_hue, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_Bridge_Light3_init, /* name */ +extern const bclass be_class_Matter_Plugin_Bridge_Light3; +be_local_closure(class_Matter_Plugin_Bridge_Light3_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -663,7 +671,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Plugin_Bridge_Light3, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -695,12 +703,12 @@ be_local_class(Matter_Plugin_Bridge_Light3, &be_class_Matter_Plugin_Bridge_Light1, be_nested_map(14, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_sat, 6), be_const_closure(Matter_Plugin_Bridge_Light3_set_sat_closure) }, - { be_const_key_weak(init, 8), be_const_closure(Matter_Plugin_Bridge_Light3_init_closure) }, - { be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light3_parse_update_closure) }, + { be_const_key_weak(set_sat, 6), be_const_closure(class_Matter_Plugin_Bridge_Light3_set_sat_closure) }, + { be_const_key_weak(init, 8), be_const_closure(class_Matter_Plugin_Bridge_Light3_init_closure) }, + { be_const_key_weak(parse_update, -1), be_const_closure(class_Matter_Plugin_Bridge_Light3_parse_update_closure) }, { be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light3) }, - { be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Light3_web_values_closure) }, - { be_const_key_weak(web_value_RGB, 1), be_const_closure(Matter_Plugin_Bridge_Light3_web_value_RGB_closure) }, + { be_const_key_weak(web_values, -1), be_const_closure(class_Matter_Plugin_Bridge_Light3_web_values_closure) }, + { be_const_key_weak(web_value_RGB, 1), be_const_closure(class_Matter_Plugin_Bridge_Light3_web_value_RGB_closure) }, { be_const_key_weak(CLUSTERS, 13), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { @@ -817,9 +825,9 @@ be_local_class(Matter_Plugin_Bridge_Light3, be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light3_invoke_request_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Plugin_Bridge_Light3_invoke_request_closure) }, { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak(Light_X203_X20RGB) }, - { be_const_key_weak(set_hue, 11), be_const_closure(Matter_Plugin_Bridge_Light3_set_hue_closure) }, + { be_const_key_weak(set_hue, 11), be_const_closure(class_Matter_Plugin_Bridge_Light3_set_hue_closure) }, { be_const_key_weak(shadow_hue, 9), be_const_var(0) }, { be_const_key_weak(TYPES, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, @@ -827,16 +835,9 @@ be_local_class(Matter_Plugin_Bridge_Light3, { be_const_key_int(269, -1), be_const_int(2) }, })) ) } )) }, { be_const_key_weak(shadow_sat, -1), be_const_var(1) }, - { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light3_read_attribute_closure) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(class_Matter_Plugin_Bridge_Light3_read_attribute_closure) }, })), be_str_weak(Matter_Plugin_Bridge_Light3) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Bridge_Light3_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Bridge_Light3); - be_setglobal(vm, "Matter_Plugin_Bridge_Light3"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h index 2d946c844..6e575fcbd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light0.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Light0, })), be_str_weak(Matter_Plugin_Virt_Light0) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Light0_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Light0); - be_setglobal(vm, "Matter_Plugin_Virt_Light0"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h index 123fc3e51..1d8255e69 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light1.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Light1, })), be_str_weak(Matter_Plugin_Virt_Light1) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Light1_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Light1); - be_setglobal(vm, "Matter_Plugin_Virt_Light1"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h index c81c9044d..22459ff10 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light2.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Light2, })), be_str_weak(Matter_Plugin_Virt_Light2) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Light2_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Light2); - be_setglobal(vm, "Matter_Plugin_Virt_Light2"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h index d90363be7..5d48ecd9e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Light3.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Light3, })), be_str_weak(Matter_Plugin_Virt_Light3) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Light3_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Light3); - be_setglobal(vm, "Matter_Plugin_Virt_Light3"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h index ef9f3ac5b..4491fa7b1 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_OnOff.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_OnOff, })), be_str_weak(Matter_Plugin_Virt_OnOff) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_OnOff_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_OnOff); - be_setglobal(vm, "Matter_Plugin_Virt_OnOff"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h index a9a6b8aaf..796f90a49 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Contact.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Contact, })), be_str_weak(Matter_Plugin_Virt_Sensor_Contact) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Contact_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Contact); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Contact"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h index d557dabb9..19437e3d4 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Flow.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Flow, })), be_str_weak(Matter_Plugin_Virt_Sensor_Flow) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Flow_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Flow); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Flow"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h index 21b40f75f..a17ebdc33 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Humidity.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Humidity, })), be_str_weak(Matter_Plugin_Virt_Sensor_Humidity) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Humidity_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Humidity); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Humidity"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h index 792d4324f..107ab5ecd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Illuminance.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Illuminance, })), be_str_weak(Matter_Plugin_Virt_Sensor_Illuminance) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Illuminance_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Illuminance); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Illuminance"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h index 11e4261a4..b386b3d6e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Occupancy.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Occupancy, })), be_str_weak(Matter_Plugin_Virt_Sensor_Occupancy) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Occupancy_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Occupancy); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Occupancy"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h index db256979e..1e427f815 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Pressure.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Pressure, })), be_str_weak(Matter_Plugin_Virt_Sensor_Pressure) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Pressure_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Pressure); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Pressure"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h index 3e678420d..e4fd823e0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Temp.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Temp, })), be_str_weak(Matter_Plugin_Virt_Sensor_Temp) ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Temp_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Temp); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Temp"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h index 243213612..8b90cdfe9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_9_Virt_Sensor_Waterleak.h @@ -23,12 +23,5 @@ be_local_class(Matter_Plugin_Virt_Sensor_Waterleak, })), (bstring*) &be_const_str_Matter_Plugin_Virt_Sensor_Waterleak ); -/*******************************************************************/ - -void be_load_Matter_Plugin_Virt_Sensor_Waterleak_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Plugin_Virt_Sensor_Waterleak); - be_setglobal(vm, "Matter_Plugin_Virt_Sensor_Waterleak"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Profiler.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Profiler.h index 4150c0997..ae5321625 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Profiler.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Profiler.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Profiler; /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Matter_Profiler_start, /* name */ +extern const bclass be_class_Matter_Profiler; +be_local_closure(class_Matter_Profiler_start, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Profiler_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Profiler, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(active), @@ -67,7 +68,8 @@ be_local_closure(Matter_Profiler_start, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Profiler_init, /* name */ +extern const bclass be_class_Matter_Profiler; +be_local_closure(class_Matter_Profiler_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -75,7 +77,7 @@ be_local_closure(Matter_Profiler_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Profiler, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(active), @@ -132,7 +134,8 @@ be_local_closure(Matter_Profiler_init, /* name */ /******************************************************************** ** Solidified function: set_active ********************************************************************/ -be_local_closure(Matter_Profiler_set_active, /* name */ +extern const bclass be_class_Matter_Profiler; +be_local_closure(class_Matter_Profiler_set_active, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -140,7 +143,7 @@ be_local_closure(Matter_Profiler_set_active, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Profiler, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(active), @@ -162,7 +165,8 @@ be_local_closure(Matter_Profiler_set_active, /* name */ /******************************************************************** ** Solidified function: log ********************************************************************/ -be_local_closure(Matter_Profiler_log, /* name */ +extern const bclass be_class_Matter_Profiler; +be_local_closure(class_Matter_Profiler_log, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -170,7 +174,7 @@ be_local_closure(Matter_Profiler_log, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Profiler, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(active), @@ -224,7 +228,8 @@ be_local_closure(Matter_Profiler_log, /* name */ /******************************************************************** ** Solidified function: dump ********************************************************************/ -be_local_closure(Matter_Profiler_dump, /* name */ +extern const bclass be_class_Matter_Profiler; +be_local_closure(class_Matter_Profiler_dump, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -232,7 +237,7 @@ be_local_closure(Matter_Profiler_dump, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Profiler, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(active), @@ -305,27 +310,20 @@ be_local_class(Matter_Profiler, NULL, be_nested_map(12, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(dump, 8), be_const_closure(Matter_Profiler_dump_closure) }, + { be_const_key_weak(dump, 8), be_const_closure(class_Matter_Profiler_dump_closure) }, { be_const_key_weak(millis, 5), be_const_var(0) }, { be_const_key_weak(reallocs, -1), be_const_var(4) }, - { be_const_key_weak(init, 1), be_const_closure(Matter_Profiler_init_closure) }, + { be_const_key_weak(init, 1), be_const_closure(class_Matter_Profiler_init_closure) }, { be_const_key_weak(len, -1), be_const_var(5) }, { be_const_key_weak(active, -1), be_const_var(2) }, - { be_const_key_weak(set_active, -1), be_const_closure(Matter_Profiler_set_active_closure) }, + { be_const_key_weak(set_active, -1), be_const_closure(class_Matter_Profiler_set_active_closure) }, { be_const_key_weak(names, -1), be_const_var(1) }, { be_const_key_weak(allocs, 10), be_const_var(3) }, - { be_const_key_weak(log, -1), be_const_closure(Matter_Profiler_log_closure) }, + { be_const_key_weak(log, -1), be_const_closure(class_Matter_Profiler_log_closure) }, { be_const_key_weak(PREALLOCATED, -1), be_const_int(50) }, - { be_const_key_weak(start, 0), be_const_closure(Matter_Profiler_start_closure) }, + { be_const_key_weak(start, 0), be_const_closure(class_Matter_Profiler_start_closure) }, })), be_str_weak(Matter_Profiler) ); -/*******************************************************************/ - -void be_load_Matter_Profiler_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Profiler); - be_setglobal(vm, "Matter_Profiler"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session.h index cd1f28427..35cfe8059 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Session; /******************************************************************** ** Solidified function: close ********************************************************************/ -be_local_closure(Matter_Session_close, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_close, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Session_close, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(local_session_id), @@ -115,7 +116,8 @@ be_local_closure(Matter_Session_close, /* name */ /******************************************************************** ** Solidified function: update ********************************************************************/ -be_local_closure(Matter_Session_update, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_update, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -123,7 +125,7 @@ be_local_closure(Matter_Session_update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(last_used), @@ -147,7 +149,8 @@ be_local_closure(Matter_Session_update, /* name */ /******************************************************************** ** Solidified function: get_ac ********************************************************************/ -be_local_closure(Matter_Session_get_ac, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_ac, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -155,7 +158,7 @@ be_local_closure(Matter_Session_get_ac, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(attestation_challenge), @@ -174,7 +177,8 @@ be_local_closure(Matter_Session_get_ac, /* name */ /******************************************************************** ** Solidified function: get_fabric ********************************************************************/ -be_local_closure(Matter_Session_get_fabric, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_fabric, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -182,7 +186,7 @@ be_local_closure(Matter_Session_get_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -201,7 +205,8 @@ be_local_closure(Matter_Session_get_fabric, /* name */ /******************************************************************** ** Solidified function: get_noc ********************************************************************/ -be_local_closure(Matter_Session_get_noc, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_noc, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -209,7 +214,7 @@ be_local_closure(Matter_Session_get_noc, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -230,7 +235,8 @@ be_local_closure(Matter_Session_get_noc, /* name */ /******************************************************************** ** Solidified function: get_device_id ********************************************************************/ -be_local_closure(Matter_Session_get_device_id, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_device_id, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -238,7 +244,7 @@ be_local_closure(Matter_Session_get_device_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -263,7 +269,8 @@ be_local_closure(Matter_Session_get_device_id, /* name */ /******************************************************************** ** Solidified function: set_fabric_label ********************************************************************/ -be_local_closure(Matter_Session_set_fabric_label, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_fabric_label, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -271,7 +278,7 @@ be_local_closure(Matter_Session_set_fabric_label, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -298,7 +305,8 @@ be_local_closure(Matter_Session_set_fabric_label, /* name */ /******************************************************************** ** Solidified function: set_keys ********************************************************************/ -be_local_closure(Matter_Session_set_keys, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_keys, /* name */ be_nested_proto( 6, /* nstack */ 5, /* argc */ @@ -306,7 +314,7 @@ be_local_closure(Matter_Session_set_keys, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(i2rkey), @@ -334,7 +342,8 @@ be_local_closure(Matter_Session_set_keys, /* name */ /******************************************************************** ** Solidified function: get_r2i ********************************************************************/ -be_local_closure(Matter_Session_get_r2i, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_r2i, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -342,7 +351,7 @@ be_local_closure(Matter_Session_get_r2i, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(r2ikey), @@ -361,7 +370,8 @@ be_local_closure(Matter_Session_get_r2i, /* name */ /******************************************************************** ** Solidified function: tojson ********************************************************************/ -be_local_closure(Matter_Session_tojson, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_tojson, /* name */ be_nested_proto( 16, /* nstack */ 1, /* argc */ @@ -369,7 +379,7 @@ be_local_closure(Matter_Session_tojson, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -502,7 +512,8 @@ be_local_closure(Matter_Session_tojson, /* name */ /******************************************************************** ** Solidified function: fromjson ********************************************************************/ -be_local_closure(Matter_Session_fromjson, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_fromjson, /* name */ be_nested_proto( 17, /* nstack */ 3, /* argc */ @@ -510,7 +521,7 @@ be_local_closure(Matter_Session_fromjson, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Session), @@ -618,7 +629,8 @@ be_local_closure(Matter_Session_fromjson, /* name */ /******************************************************************** ** Solidified function: gen_CSR ********************************************************************/ -be_local_closure(Matter_Session_gen_CSR, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_gen_CSR, /* name */ be_nested_proto( 15, /* nstack */ 1, /* argc */ @@ -626,7 +638,7 @@ be_local_closure(Matter_Session_gen_CSR, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(get_pk), @@ -727,7 +739,8 @@ be_local_closure(Matter_Session_gen_CSR, /* name */ /******************************************************************** ** Solidified function: get_ipk_epoch_key ********************************************************************/ -be_local_closure(Matter_Session_get_ipk_epoch_key, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_ipk_epoch_key, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -735,7 +748,7 @@ be_local_closure(Matter_Session_get_ipk_epoch_key, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -756,7 +769,8 @@ be_local_closure(Matter_Session_get_ipk_epoch_key, /* name */ /******************************************************************** ** Solidified function: counter_rcv_validate ********************************************************************/ -be_local_closure(Matter_Session_counter_rcv_validate, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_counter_rcv_validate, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -764,7 +778,7 @@ be_local_closure(Matter_Session_counter_rcv_validate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_rcv_impl), @@ -795,7 +809,8 @@ be_local_closure(Matter_Session_counter_rcv_validate, /* name */ /******************************************************************** ** Solidified function: get_admin_subject ********************************************************************/ -be_local_closure(Matter_Session_get_admin_subject, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_admin_subject, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -803,7 +818,7 @@ be_local_closure(Matter_Session_get_admin_subject, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -828,7 +843,8 @@ be_local_closure(Matter_Session_get_admin_subject, /* name */ /******************************************************************** ** Solidified function: get_fabric_compressed ********************************************************************/ -be_local_closure(Matter_Session_get_fabric_compressed, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_fabric_compressed, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -836,7 +852,7 @@ be_local_closure(Matter_Session_get_fabric_compressed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -861,7 +877,8 @@ be_local_closure(Matter_Session_get_fabric_compressed, /* name */ /******************************************************************** ** Solidified function: persist_to_fabric ********************************************************************/ -be_local_closure(Matter_Session_persist_to_fabric, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_persist_to_fabric, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -869,7 +886,7 @@ be_local_closure(Matter_Session_persist_to_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -892,7 +909,8 @@ be_local_closure(Matter_Session_persist_to_fabric, /* name */ /******************************************************************** ** Solidified function: get_ca ********************************************************************/ -be_local_closure(Matter_Session_get_ca, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_ca, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -900,7 +918,7 @@ be_local_closure(Matter_Session_get_ca, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -921,7 +939,8 @@ be_local_closure(Matter_Session_get_ca, /* name */ /******************************************************************** ** Solidified function: is_PASE ********************************************************************/ -be_local_closure(Matter_Session_is_PASE, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_is_PASE, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -929,7 +948,7 @@ be_local_closure(Matter_Session_is_PASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(mode), @@ -951,7 +970,8 @@ be_local_closure(Matter_Session_is_PASE, /* name */ /******************************************************************** ** Solidified function: is_CASE ********************************************************************/ -be_local_closure(Matter_Session_is_CASE, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_is_CASE, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -959,7 +979,7 @@ be_local_closure(Matter_Session_is_CASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(mode), @@ -981,7 +1001,8 @@ be_local_closure(Matter_Session_is_CASE, /* name */ /******************************************************************** ** Solidified function: before_remove ********************************************************************/ -be_local_closure(Matter_Session_before_remove, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_before_remove, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -989,7 +1010,7 @@ be_local_closure(Matter_Session_before_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -1019,7 +1040,8 @@ be_local_closure(Matter_Session_before_remove, /* name */ /******************************************************************** ** Solidified function: save ********************************************************************/ -be_local_closure(Matter_Session_save, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_save, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1027,7 +1049,7 @@ be_local_closure(Matter_Session_save, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_store), @@ -1049,7 +1071,8 @@ be_local_closure(Matter_Session_save, /* name */ /******************************************************************** ** Solidified function: get_fabric_id ********************************************************************/ -be_local_closure(Matter_Session_get_fabric_id, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_fabric_id, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1057,7 +1080,7 @@ be_local_closure(Matter_Session_get_fabric_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1078,7 +1101,8 @@ be_local_closure(Matter_Session_get_fabric_id, /* name */ /******************************************************************** ** Solidified function: get_ipk_group_key ********************************************************************/ -be_local_closure(Matter_Session_get_ipk_group_key, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_ipk_group_key, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1086,7 +1110,7 @@ be_local_closure(Matter_Session_get_ipk_group_key, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1108,7 +1132,8 @@ be_local_closure(Matter_Session_get_ipk_group_key, /* name */ /******************************************************************** ** Solidified function: get_temp_ca_pub ********************************************************************/ -be_local_closure(Matter_Session_get_temp_ca_pub, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_temp_ca_pub, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1116,7 +1141,7 @@ be_local_closure(Matter_Session_get_temp_ca_pub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_temp_root_ca_certificate), @@ -1149,7 +1174,8 @@ be_local_closure(Matter_Session_get_temp_ca_pub, /* name */ /******************************************************************** ** Solidified function: get_ca_pub ********************************************************************/ -be_local_closure(Matter_Session_get_ca_pub, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_ca_pub, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1157,7 +1183,7 @@ be_local_closure(Matter_Session_get_ca_pub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1179,7 +1205,8 @@ be_local_closure(Matter_Session_get_ca_pub, /* name */ /******************************************************************** ** Solidified function: get_mode ********************************************************************/ -be_local_closure(Matter_Session_get_mode, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_mode, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1187,7 +1214,7 @@ be_local_closure(Matter_Session_get_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(mode), @@ -1206,7 +1233,8 @@ be_local_closure(Matter_Session_get_mode, /* name */ /******************************************************************** ** Solidified function: hydrate_post ********************************************************************/ -be_local_closure(Matter_Session_hydrate_post, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_hydrate_post, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1214,7 +1242,7 @@ be_local_closure(Matter_Session_hydrate_post, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_snd_impl), @@ -1253,7 +1281,8 @@ be_local_closure(Matter_Session_hydrate_post, /* name */ /******************************************************************** ** Solidified function: get_fabric_label ********************************************************************/ -be_local_closure(Matter_Session_get_fabric_label, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_fabric_label, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1261,7 +1290,7 @@ be_local_closure(Matter_Session_get_fabric_label, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1286,7 +1315,8 @@ be_local_closure(Matter_Session_get_fabric_label, /* name */ /******************************************************************** ** Solidified function: get_icac ********************************************************************/ -be_local_closure(Matter_Session_get_icac, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_icac, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1294,7 +1324,7 @@ be_local_closure(Matter_Session_get_icac, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1315,7 +1345,8 @@ be_local_closure(Matter_Session_get_icac, /* name */ /******************************************************************** ** Solidified function: set_mode_CASE ********************************************************************/ -be_local_closure(Matter_Session_set_mode_CASE, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_mode_CASE, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1323,7 +1354,7 @@ be_local_closure(Matter_Session_set_mode_CASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(set_mode), @@ -1345,7 +1376,8 @@ be_local_closure(Matter_Session_set_mode_CASE, /* name */ /******************************************************************** ** Solidified function: counter_snd_next ********************************************************************/ -be_local_closure(Matter_Session_counter_snd_next, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_counter_snd_next, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1353,7 +1385,7 @@ be_local_closure(Matter_Session_counter_snd_next, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(_counter_snd_impl), @@ -1397,7 +1429,8 @@ be_local_closure(Matter_Session_counter_snd_next, /* name */ /******************************************************************** ** Solidified function: get_i2r_privacy ********************************************************************/ -be_local_closure(Matter_Session_get_i2r_privacy, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_i2r_privacy, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -1405,7 +1438,7 @@ be_local_closure(Matter_Session_get_i2r_privacy, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(_i2r_privacy), @@ -1450,7 +1483,8 @@ be_local_closure(Matter_Session_get_i2r_privacy, /* name */ /******************************************************************** ** Solidified function: get_i2r ********************************************************************/ -be_local_closure(Matter_Session_get_i2r, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_i2r, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1458,7 +1492,7 @@ be_local_closure(Matter_Session_get_i2r, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(i2rkey), @@ -1477,7 +1511,8 @@ be_local_closure(Matter_Session_get_i2r, /* name */ /******************************************************************** ** Solidified function: get_admin_vendor ********************************************************************/ -be_local_closure(Matter_Session_get_admin_vendor, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_admin_vendor, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1485,7 +1520,7 @@ be_local_closure(Matter_Session_get_admin_vendor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1510,7 +1545,8 @@ be_local_closure(Matter_Session_get_admin_vendor, /* name */ /******************************************************************** ** Solidified function: set_temp_ca ********************************************************************/ -be_local_closure(Matter_Session_set_temp_ca, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_temp_ca, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1518,7 +1554,7 @@ be_local_closure(Matter_Session_set_temp_ca, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_temp_root_ca_certificate), @@ -1537,7 +1573,8 @@ be_local_closure(Matter_Session_set_temp_ca, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Session_init, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_init, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -1545,7 +1582,7 @@ be_local_closure(Matter_Session_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1625,7 +1662,8 @@ be_local_closure(Matter_Session_init, /* name */ /******************************************************************** ** Solidified function: get_fabric_index ********************************************************************/ -be_local_closure(Matter_Session_get_fabric_index, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_fabric_index, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1633,7 +1671,7 @@ be_local_closure(Matter_Session_get_fabric_index, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1658,7 +1696,8 @@ be_local_closure(Matter_Session_get_fabric_index, /* name */ /******************************************************************** ** Solidified function: get_temp_ca ********************************************************************/ -be_local_closure(Matter_Session_get_temp_ca, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_temp_ca, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1666,7 +1705,7 @@ be_local_closure(Matter_Session_get_temp_ca, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_temp_root_ca_certificate), @@ -1685,7 +1724,8 @@ be_local_closure(Matter_Session_get_temp_ca, /* name */ /******************************************************************** ** Solidified function: get_pk ********************************************************************/ -be_local_closure(Matter_Session_get_pk, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_get_pk, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1693,7 +1733,7 @@ be_local_closure(Matter_Session_get_pk, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_fabric), @@ -1731,7 +1771,8 @@ be_local_closure(Matter_Session_get_pk, /* name */ /******************************************************************** ** Solidified function: set_mode_PASE ********************************************************************/ -be_local_closure(Matter_Session_set_mode_PASE, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_mode_PASE, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1739,7 +1780,7 @@ be_local_closure(Matter_Session_set_mode_PASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(set_mode), @@ -1761,7 +1802,8 @@ be_local_closure(Matter_Session_set_mode_PASE, /* name */ /******************************************************************** ** Solidified function: set_mode ********************************************************************/ -be_local_closure(Matter_Session_set_mode, /* name */ +extern const bclass be_class_Matter_Session; +be_local_closure(class_Matter_Session_set_mode, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1769,7 +1811,7 @@ be_local_closure(Matter_Session_set_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(mode), @@ -1794,99 +1836,92 @@ be_local_class(Matter_Session, &be_class_Matter_Expirable, be_nested_map(84, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_mode, 6), be_const_closure(Matter_Session_set_mode_closure) }, - { be_const_key_weak(set_mode_PASE, 57), be_const_closure(Matter_Session_set_mode_PASE_closure) }, + { be_const_key_weak(set_mode, 6), be_const_closure(class_Matter_Session_set_mode_closure) }, + { be_const_key_weak(set_mode_PASE, 57), be_const_closure(class_Matter_Session_set_mode_PASE_closure) }, { be_const_key_weak(_counter_rcv_impl, 79), be_const_var(14) }, { be_const_key_weak(attestation_challenge, 56), be_const_var(25) }, - { be_const_key_weak(get_ac, -1), be_const_closure(Matter_Session_get_ac_closure) }, - { be_const_key_weak(get_fabric, -1), be_const_closure(Matter_Session_get_fabric_closure) }, - { be_const_key_weak(get_temp_ca, 69), be_const_closure(Matter_Session_get_temp_ca_closure) }, + { be_const_key_weak(get_ac, -1), be_const_closure(class_Matter_Session_get_ac_closure) }, + { be_const_key_weak(get_fabric, -1), be_const_closure(class_Matter_Session_get_fabric_closure) }, + { be_const_key_weak(get_temp_ca, 69), be_const_closure(class_Matter_Session_get_temp_ca_closure) }, { be_const_key_weak(_COUNTER_SND_INCR, -1), be_const_int(1024) }, { be_const_key_weak(_CASE, -1), be_const_int(2) }, { be_const_key_weak(_counter_insecure_rcv, 2), be_const_var(20) }, { be_const_key_weak(_breadcrumb, -1), be_const_var(27) }, { be_const_key_weak(r2ikey, 82), be_const_var(23) }, - { be_const_key_weak(set_keys, 52), be_const_closure(Matter_Session_set_keys_closure) }, + { be_const_key_weak(set_keys, 52), be_const_closure(class_Matter_Session_set_keys_closure) }, { be_const_key_weak(_exchange_id, -1), be_const_var(16) }, { be_const_key_weak(peer_node_id, 8), be_const_var(26) }, { be_const_key_weak(last_used, 80), be_const_var(6) }, { be_const_key_weak(_source_node_id, 48), be_const_var(7) }, - { be_const_key_weak(init, 36), be_const_closure(Matter_Session_init_closure) }, - { be_const_key_weak(set_temp_ca, -1), be_const_closure(Matter_Session_set_temp_ca_closure) }, + { be_const_key_weak(init, 36), be_const_closure(class_Matter_Session_init_closure) }, + { be_const_key_weak(set_temp_ca, -1), be_const_closure(class_Matter_Session_set_temp_ca_closure) }, { be_const_key_weak(created, -1), be_const_var(5) }, - { be_const_key_weak(persist_to_fabric, -1), be_const_closure(Matter_Session_persist_to_fabric_closure) }, + { be_const_key_weak(persist_to_fabric, -1), be_const_closure(class_Matter_Session_persist_to_fabric_closure) }, { be_const_key_weak(__initiator_pub, -1), be_const_var(32) }, - { be_const_key_weak(gen_CSR, -1), be_const_closure(Matter_Session_gen_CSR_closure) }, + { be_const_key_weak(gen_CSR, -1), be_const_closure(class_Matter_Session_gen_CSR_closure) }, { be_const_key_weak(_store, -1), be_const_var(0) }, - { be_const_key_weak(get_ipk_epoch_key, 49), be_const_closure(Matter_Session_get_ipk_epoch_key_closure) }, + { be_const_key_weak(get_ipk_epoch_key, 49), be_const_closure(class_Matter_Session_get_ipk_epoch_key_closure) }, { be_const_key_weak(__responder_priv, 7), be_const_var(30) }, - { be_const_key_weak(counter_rcv_validate, -1), be_const_closure(Matter_Session_counter_rcv_validate_closure) }, + { be_const_key_weak(counter_rcv_validate, -1), be_const_closure(class_Matter_Session_counter_rcv_validate_closure) }, { be_const_key_weak(_ip, -1), be_const_var(17) }, - { be_const_key_weak(get_admin_subject, 40), be_const_closure(Matter_Session_get_admin_subject_closure) }, + { be_const_key_weak(get_admin_subject, 40), be_const_closure(class_Matter_Session_get_admin_subject_closure) }, { be_const_key_weak(resumption_id, -1), be_const_var(28) }, { be_const_key_weak(_i2r_privacy, -1), be_const_var(24) }, - { be_const_key_weak(get_fabric_compressed, -1), be_const_closure(Matter_Session_get_fabric_compressed_closure) }, + { be_const_key_weak(get_fabric_compressed, -1), be_const_closure(class_Matter_Session_get_fabric_compressed_closure) }, { be_const_key_weak(_temp_pk, -1), be_const_var(9) }, { be_const_key_weak(shared_secret, 74), be_const_var(29) }, { be_const_key_weak(_temp_root_ca_certificate, -1), be_const_var(8) }, - { be_const_key_weak(get_ca, -1), be_const_closure(Matter_Session_get_ca_closure) }, + { be_const_key_weak(get_ca, -1), be_const_closure(class_Matter_Session_get_ca_closure) }, { be_const_key_weak(_fabric, 10), be_const_var(2) }, { be_const_key_weak(__spake_cA, -1), be_const_var(33) }, - { be_const_key_weak(get_ipk_group_key, -1), be_const_closure(Matter_Session_get_ipk_group_key_closure) }, + { be_const_key_weak(get_ipk_group_key, -1), be_const_closure(class_Matter_Session_get_ipk_group_key_closure) }, { be_const_key_weak(initiator_session_id, 18), be_const_var(4) }, - { be_const_key_weak(get_i2r_privacy, -1), be_const_closure(Matter_Session_get_i2r_privacy_closure) }, + { be_const_key_weak(get_i2r_privacy, -1), be_const_closure(class_Matter_Session_get_i2r_privacy_closure) }, { be_const_key_weak(__chunked_attr_reports, -1), be_const_var(37) }, - { be_const_key_weak(get_ca_pub, -1), be_const_closure(Matter_Session_get_ca_pub_closure) }, + { be_const_key_weak(get_ca_pub, -1), be_const_closure(class_Matter_Session_get_ca_pub_closure) }, { be_const_key_weak(counter_snd, 20), be_const_var(13) }, - { be_const_key_weak(set_fabric_label, 35), be_const_closure(Matter_Session_set_fabric_label_closure) }, + { be_const_key_weak(set_fabric_label, 35), be_const_closure(class_Matter_Session_set_fabric_label_closure) }, { be_const_key_weak(_counter_snd_impl, 71), be_const_var(15) }, - { be_const_key_weak(is_CASE, -1), be_const_closure(Matter_Session_is_CASE_closure) }, - { be_const_key_weak(before_remove, -1), be_const_closure(Matter_Session_before_remove_closure) }, - { be_const_key_weak(set_mode_CASE, -1), be_const_closure(Matter_Session_set_mode_CASE_closure) }, - { be_const_key_weak(get_icac, -1), be_const_closure(Matter_Session_get_icac_closure) }, - { be_const_key_weak(tojson, 61), be_const_closure(Matter_Session_tojson_closure) }, - { be_const_key_weak(close, 1), be_const_closure(Matter_Session_close_closure) }, - { be_const_key_weak(get_fabric_label, 42), be_const_closure(Matter_Session_get_fabric_label_closure) }, + { be_const_key_weak(is_CASE, -1), be_const_closure(class_Matter_Session_is_CASE_closure) }, + { be_const_key_weak(before_remove, -1), be_const_closure(class_Matter_Session_before_remove_closure) }, + { be_const_key_weak(set_mode_CASE, -1), be_const_closure(class_Matter_Session_set_mode_CASE_closure) }, + { be_const_key_weak(get_icac, -1), be_const_closure(class_Matter_Session_get_icac_closure) }, + { be_const_key_weak(tojson, 61), be_const_closure(class_Matter_Session_tojson_closure) }, + { be_const_key_weak(close, 1), be_const_closure(class_Matter_Session_close_closure) }, + { be_const_key_weak(get_fabric_label, 42), be_const_closure(class_Matter_Session_get_fabric_label_closure) }, { be_const_key_weak(_counter_insecure_snd, -1), be_const_var(21) }, - { be_const_key_weak(get_device_id, 63), be_const_closure(Matter_Session_get_device_id_closure) }, + { be_const_key_weak(get_device_id, 63), be_const_closure(class_Matter_Session_get_device_id_closure) }, { be_const_key_weak(counter_rcv, 62), be_const_var(12) }, { be_const_key_weak(__Msg1, -1), be_const_var(35) }, - { be_const_key_weak(hydrate_post, 66), be_const_closure(Matter_Session_hydrate_post_closure) }, + { be_const_key_weak(hydrate_post, 66), be_const_closure(class_Matter_Session_hydrate_post_closure) }, { be_const_key_weak(_message_handler, -1), be_const_var(19) }, { be_const_key_weak(__future_initiator_session_id, -1), be_const_var(10) }, { be_const_key_weak(__spake_Ke, 32), be_const_var(34) }, { be_const_key_weak(__Msg2, 38), be_const_var(36) }, - { be_const_key_weak(get_mode, -1), be_const_closure(Matter_Session_get_mode_closure) }, + { be_const_key_weak(get_mode, -1), be_const_closure(class_Matter_Session_get_mode_closure) }, { be_const_key_weak(mode, -1), be_const_var(1) }, - { be_const_key_weak(update, 16), be_const_closure(Matter_Session_update_closure) }, - { be_const_key_weak(counter_snd_next, -1), be_const_closure(Matter_Session_counter_snd_next_closure) }, - { be_const_key_weak(get_temp_ca_pub, -1), be_const_closure(Matter_Session_get_temp_ca_pub_closure) }, - { be_const_key_weak(get_i2r, -1), be_const_closure(Matter_Session_get_i2r_closure) }, - { be_const_key_weak(get_noc, 37), be_const_closure(Matter_Session_get_noc_closure) }, - { be_const_key_weak(get_fabric_id, -1), be_const_closure(Matter_Session_get_fabric_id_closure) }, - { be_const_key_weak(get_admin_vendor, -1), be_const_closure(Matter_Session_get_admin_vendor_closure) }, - { be_const_key_weak(is_PASE, -1), be_const_closure(Matter_Session_is_PASE_closure) }, - { be_const_key_weak(save, 21), be_const_closure(Matter_Session_save_closure) }, + { be_const_key_weak(update, 16), be_const_closure(class_Matter_Session_update_closure) }, + { be_const_key_weak(counter_snd_next, -1), be_const_closure(class_Matter_Session_counter_snd_next_closure) }, + { be_const_key_weak(get_temp_ca_pub, -1), be_const_closure(class_Matter_Session_get_temp_ca_pub_closure) }, + { be_const_key_weak(get_i2r, -1), be_const_closure(class_Matter_Session_get_i2r_closure) }, + { be_const_key_weak(get_noc, 37), be_const_closure(class_Matter_Session_get_noc_closure) }, + { be_const_key_weak(get_fabric_id, -1), be_const_closure(class_Matter_Session_get_fabric_id_closure) }, + { be_const_key_weak(get_admin_vendor, -1), be_const_closure(class_Matter_Session_get_admin_vendor_closure) }, + { be_const_key_weak(is_PASE, -1), be_const_closure(class_Matter_Session_is_PASE_closure) }, + { be_const_key_weak(save, 21), be_const_closure(class_Matter_Session_save_closure) }, { be_const_key_weak(_GROUP_KEY, -1), be_nested_str_weak(GroupKey_X20v1_X2E0) }, { be_const_key_weak(local_session_id, 76), be_const_var(3) }, { be_const_key_weak(i2rkey, 17), be_const_var(22) }, { be_const_key_weak(__future_local_session_id, -1), be_const_var(11) }, { be_const_key_weak(_PASE, -1), be_const_int(1) }, - { be_const_key_weak(get_fabric_index, -1), be_const_closure(Matter_Session_get_fabric_index_closure) }, + { be_const_key_weak(get_fabric_index, -1), be_const_closure(class_Matter_Session_get_fabric_index_closure) }, { be_const_key_weak(_port, -1), be_const_var(18) }, - { be_const_key_weak(get_r2i, -1), be_const_closure(Matter_Session_get_r2i_closure) }, - { be_const_key_weak(get_pk, -1), be_const_closure(Matter_Session_get_pk_closure) }, + { be_const_key_weak(get_r2i, -1), be_const_closure(class_Matter_Session_get_r2i_closure) }, + { be_const_key_weak(get_pk, -1), be_const_closure(class_Matter_Session_get_pk_closure) }, { be_const_key_weak(__responder_pub, -1), be_const_var(31) }, - { be_const_key_weak(fromjson, 0), be_const_static_closure(Matter_Session_fromjson_closure) }, + { be_const_key_weak(fromjson, 0), be_const_static_closure(class_Matter_Session_fromjson_closure) }, })), be_str_weak(Matter_Session) ); -/*******************************************************************/ - -void be_load_Matter_Session_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Session); - be_setglobal(vm, "Matter_Session"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session_Store.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session_Store.h index d9f78535c..6b86aa097 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session_Store.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Session_Store.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Session_Store; /******************************************************************** ** Solidified function: remove_session ********************************************************************/ -be_local_closure(Matter_Session_Store_remove_session, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_remove_session, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Session_Store_remove_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -54,7 +55,8 @@ be_local_closure(Matter_Session_Store_remove_session, /* name */ /******************************************************************** ** Solidified function: gen_local_session_id ********************************************************************/ -be_local_closure(Matter_Session_Store_gen_local_session_id, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_gen_local_session_id, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -62,7 +64,7 @@ be_local_closure(Matter_Session_Store_gen_local_session_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -103,7 +105,8 @@ be_local_closure(Matter_Session_Store_gen_local_session_id, /* name */ /******************************************************************** ** Solidified function: load_fabrics ********************************************************************/ -be_local_closure(Matter_Session_Store_load_fabrics, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_load_fabrics, /* name */ be_nested_proto( 16, /* nstack */ 1, /* argc */ @@ -111,7 +114,7 @@ be_local_closure(Matter_Session_Store_load_fabrics, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -271,7 +274,8 @@ be_local_closure(Matter_Session_Store_load_fabrics, /* name */ /******************************************************************** ** Solidified function: find_children_fabrics ********************************************************************/ -be_local_closure(Matter_Session_Store_find_children_fabrics, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_find_children_fabrics, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -279,7 +283,7 @@ be_local_closure(Matter_Session_Store_find_children_fabrics, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -291,7 +295,7 @@ be_local_closure(Matter_Session_Store_find_children_fabrics, /* name */ be_local_const_upval(1, 3), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(active_fabrics), @@ -336,6 +340,7 @@ be_local_closure(Matter_Session_Store_find_children_fabrics, /* name */ 0x80000000, // 001D RET 0 }) ), + &be_class_Matter_Session_Store, }), 0, /* has constants */ NULL, /* no const */ @@ -366,7 +371,8 @@ be_local_closure(Matter_Session_Store_find_children_fabrics, /* name */ /******************************************************************** ** Solidified function: sessions_active ********************************************************************/ -be_local_closure(Matter_Session_Store_sessions_active, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_sessions_active, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -374,7 +380,7 @@ be_local_closure(Matter_Session_Store_sessions_active, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), @@ -418,7 +424,8 @@ be_local_closure(Matter_Session_Store_sessions_active, /* name */ /******************************************************************** ** Solidified function: find_fabric_by_index ********************************************************************/ -be_local_closure(Matter_Session_Store_find_fabric_by_index, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_find_fabric_by_index, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -426,7 +433,7 @@ be_local_closure(Matter_Session_Store_find_fabric_by_index, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(active_fabrics), @@ -464,7 +471,8 @@ be_local_closure(Matter_Session_Store_find_fabric_by_index, /* name */ /******************************************************************** ** Solidified function: active_fabrics ********************************************************************/ -be_local_closure(Matter_Session_Store_active_fabrics, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_active_fabrics, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -472,7 +480,7 @@ be_local_closure(Matter_Session_Store_active_fabrics, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(remove_expired), @@ -497,7 +505,8 @@ be_local_closure(Matter_Session_Store_active_fabrics, /* name */ /******************************************************************** ** Solidified function: create_fabric ********************************************************************/ -be_local_closure(Matter_Session_Store_create_fabric, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_create_fabric, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -505,7 +514,7 @@ be_local_closure(Matter_Session_Store_create_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -528,7 +537,8 @@ be_local_closure(Matter_Session_Store_create_fabric, /* name */ /******************************************************************** ** Solidified function: count_active_fabrics ********************************************************************/ -be_local_closure(Matter_Session_Store_count_active_fabrics, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_count_active_fabrics, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -536,7 +546,7 @@ be_local_closure(Matter_Session_Store_count_active_fabrics, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(remove_expired), @@ -569,7 +579,8 @@ be_local_closure(Matter_Session_Store_count_active_fabrics, /* name */ /******************************************************************** ** Solidified function: find_session_by_resumption_id ********************************************************************/ -be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_find_session_by_resumption_id, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -577,7 +588,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_const_int(0), @@ -640,7 +651,8 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name * /******************************************************************** ** Solidified function: add_session ********************************************************************/ -be_local_closure(Matter_Session_Store_add_session, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_add_session, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -648,7 +660,7 @@ be_local_closure(Matter_Session_Store_add_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(set_expire_in_seconds), @@ -678,7 +690,8 @@ be_local_closure(Matter_Session_Store_add_session, /* name */ /******************************************************************** ** Solidified function: find_session_source_id_unsecure ********************************************************************/ -be_local_closure(Matter_Session_Store_find_session_source_id_unsecure, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_find_session_source_id_unsecure, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -686,7 +699,7 @@ be_local_closure(Matter_Session_Store_find_session_source_id_unsecure, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(get_session_by_source_node_id), @@ -735,7 +748,8 @@ be_local_closure(Matter_Session_Store_find_session_source_id_unsecure, /* name /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_Session_Store_every_second, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_every_second, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -743,7 +757,7 @@ be_local_closure(Matter_Session_Store_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(remove_expired), @@ -763,7 +777,8 @@ be_local_closure(Matter_Session_Store_every_second, /* name */ /******************************************************************** ** Solidified function: get_session_by_local_session_id ********************************************************************/ -be_local_closure(Matter_Session_Store_get_session_by_local_session_id, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_get_session_by_local_session_id, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -771,7 +786,7 @@ be_local_closure(Matter_Session_Store_get_session_by_local_session_id, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -814,7 +829,8 @@ be_local_closure(Matter_Session_Store_get_session_by_local_session_id, /* name /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Session_Store_init, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_init, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -822,7 +838,7 @@ be_local_closure(Matter_Session_Store_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -853,7 +869,8 @@ be_local_closure(Matter_Session_Store_init, /* name */ /******************************************************************** ** Solidified function: remove_expired ********************************************************************/ -be_local_closure(Matter_Session_Store_remove_expired, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_remove_expired, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -861,7 +878,7 @@ be_local_closure(Matter_Session_Store_remove_expired, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -887,7 +904,8 @@ be_local_closure(Matter_Session_Store_remove_expired, /* name */ /******************************************************************** ** Solidified function: remove_redundant_fabric ********************************************************************/ -be_local_closure(Matter_Session_Store_remove_redundant_fabric, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_remove_redundant_fabric, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -895,7 +913,7 @@ be_local_closure(Matter_Session_Store_remove_redundant_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), @@ -943,7 +961,8 @@ be_local_closure(Matter_Session_Store_remove_redundant_fabric, /* name */ /******************************************************************** ** Solidified function: add_fabric ********************************************************************/ -be_local_closure(Matter_Session_Store_add_fabric, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_add_fabric, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -951,7 +970,7 @@ be_local_closure(Matter_Session_Store_add_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -997,7 +1016,8 @@ be_local_closure(Matter_Session_Store_add_fabric, /* name */ /******************************************************************** ** Solidified function: get_session_by_source_node_id ********************************************************************/ -be_local_closure(Matter_Session_Store_get_session_by_source_node_id, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_get_session_by_source_node_id, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -1005,7 +1025,7 @@ be_local_closure(Matter_Session_Store_get_session_by_source_node_id, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -1048,7 +1068,8 @@ be_local_closure(Matter_Session_Store_get_session_by_source_node_id, /* name * /******************************************************************** ** Solidified function: next_fabric_idx ********************************************************************/ -be_local_closure(Matter_Session_Store_next_fabric_idx, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_next_fabric_idx, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1056,7 +1077,7 @@ be_local_closure(Matter_Session_Store_next_fabric_idx, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(remove_expired), @@ -1103,7 +1124,8 @@ be_local_closure(Matter_Session_Store_next_fabric_idx, /* name */ /******************************************************************** ** Solidified function: save_fabrics ********************************************************************/ -be_local_closure(Matter_Session_Store_save_fabrics, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_save_fabrics, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -1111,7 +1133,7 @@ be_local_closure(Matter_Session_Store_save_fabrics, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[29]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -1257,7 +1279,8 @@ be_local_closure(Matter_Session_Store_save_fabrics, /* name */ /******************************************************************** ** Solidified function: create_session ********************************************************************/ -be_local_closure(Matter_Session_Store_create_session, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_create_session, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -1265,7 +1288,7 @@ be_local_closure(Matter_Session_Store_create_session, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(get_session_by_local_session_id), @@ -1308,7 +1331,8 @@ be_local_closure(Matter_Session_Store_create_session, /* name */ /******************************************************************** ** Solidified function: remove_fabric ********************************************************************/ -be_local_closure(Matter_Session_Store_remove_fabric, /* name */ +extern const bclass be_class_Matter_Session_Store; +be_local_closure(class_Matter_Session_Store_remove_fabric, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1316,7 +1340,7 @@ be_local_closure(Matter_Session_Store_remove_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Session_Store, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -1379,42 +1403,35 @@ be_local_class(Matter_Session_Store, be_nested_map(28, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(sessions, -1), be_const_var(1) }, - { be_const_key_weak(remove_fabric, -1), be_const_closure(Matter_Session_Store_remove_fabric_closure) }, - { be_const_key_weak(remove_session, -1), be_const_closure(Matter_Session_Store_remove_session_closure) }, - { be_const_key_weak(active_fabrics, -1), be_const_closure(Matter_Session_Store_active_fabrics_closure) }, - { be_const_key_weak(load_fabrics, 18), be_const_closure(Matter_Session_Store_load_fabrics_closure) }, + { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Session_Store_remove_fabric_closure) }, + { be_const_key_weak(remove_session, -1), be_const_closure(class_Matter_Session_Store_remove_session_closure) }, + { be_const_key_weak(active_fabrics, -1), be_const_closure(class_Matter_Session_Store_active_fabrics_closure) }, + { be_const_key_weak(load_fabrics, 18), be_const_closure(class_Matter_Session_Store_load_fabrics_closure) }, { be_const_key_weak(fabrics, -1), be_const_var(2) }, - { be_const_key_weak(save_fabrics, -1), be_const_closure(Matter_Session_Store_save_fabrics_closure) }, + { be_const_key_weak(save_fabrics, -1), be_const_closure(class_Matter_Session_Store_save_fabrics_closure) }, { be_const_key_weak(_FABRICS_TEMP, 22), be_nested_str_weak(_X2F_matter_fabrics_X2Etmp) }, - { be_const_key_weak(create_fabric, -1), be_const_closure(Matter_Session_Store_create_fabric_closure) }, - { be_const_key_weak(find_fabric_by_index, -1), be_const_closure(Matter_Session_Store_find_fabric_by_index_closure) }, - { be_const_key_weak(gen_local_session_id, 3), be_const_closure(Matter_Session_Store_gen_local_session_id_closure) }, - { be_const_key_weak(sessions_active, 8), be_const_closure(Matter_Session_Store_sessions_active_closure) }, + { be_const_key_weak(create_fabric, -1), be_const_closure(class_Matter_Session_Store_create_fabric_closure) }, + { be_const_key_weak(find_fabric_by_index, -1), be_const_closure(class_Matter_Session_Store_find_fabric_by_index_closure) }, + { be_const_key_weak(gen_local_session_id, 3), be_const_closure(class_Matter_Session_Store_gen_local_session_id_closure) }, + { be_const_key_weak(sessions_active, 8), be_const_closure(class_Matter_Session_Store_sessions_active_closure) }, { be_const_key_weak(_FABRICS, -1), be_nested_str_weak(_X2F_matter_fabrics_X2Ejson) }, - { be_const_key_weak(get_session_by_source_node_id, -1), be_const_closure(Matter_Session_Store_get_session_by_source_node_id_closure) }, - { be_const_key_weak(count_active_fabrics, 23), be_const_closure(Matter_Session_Store_count_active_fabrics_closure) }, - { be_const_key_weak(add_session, 13), be_const_closure(Matter_Session_Store_add_session_closure) }, - { be_const_key_weak(find_session_source_id_unsecure, -1), be_const_closure(Matter_Session_Store_find_session_source_id_unsecure_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_Session_Store_every_second_closure) }, - { be_const_key_weak(add_fabric, -1), be_const_closure(Matter_Session_Store_add_fabric_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Session_Store_init_closure) }, - { be_const_key_weak(remove_redundant_fabric, -1), be_const_closure(Matter_Session_Store_remove_redundant_fabric_closure) }, - { be_const_key_weak(get_session_by_local_session_id, 20), be_const_closure(Matter_Session_Store_get_session_by_local_session_id_closure) }, - { be_const_key_weak(remove_expired, -1), be_const_closure(Matter_Session_Store_remove_expired_closure) }, - { be_const_key_weak(find_session_by_resumption_id, -1), be_const_closure(Matter_Session_Store_find_session_by_resumption_id_closure) }, - { be_const_key_weak(next_fabric_idx, -1), be_const_closure(Matter_Session_Store_next_fabric_idx_closure) }, - { be_const_key_weak(find_children_fabrics, 6), be_const_closure(Matter_Session_Store_find_children_fabrics_closure) }, - { be_const_key_weak(create_session, -1), be_const_closure(Matter_Session_Store_create_session_closure) }, + { be_const_key_weak(get_session_by_source_node_id, -1), be_const_closure(class_Matter_Session_Store_get_session_by_source_node_id_closure) }, + { be_const_key_weak(count_active_fabrics, 23), be_const_closure(class_Matter_Session_Store_count_active_fabrics_closure) }, + { be_const_key_weak(add_session, 13), be_const_closure(class_Matter_Session_Store_add_session_closure) }, + { be_const_key_weak(find_session_source_id_unsecure, -1), be_const_closure(class_Matter_Session_Store_find_session_source_id_unsecure_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Session_Store_every_second_closure) }, + { be_const_key_weak(add_fabric, -1), be_const_closure(class_Matter_Session_Store_add_fabric_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Session_Store_init_closure) }, + { be_const_key_weak(remove_redundant_fabric, -1), be_const_closure(class_Matter_Session_Store_remove_redundant_fabric_closure) }, + { be_const_key_weak(get_session_by_local_session_id, 20), be_const_closure(class_Matter_Session_Store_get_session_by_local_session_id_closure) }, + { be_const_key_weak(remove_expired, -1), be_const_closure(class_Matter_Session_Store_remove_expired_closure) }, + { be_const_key_weak(find_session_by_resumption_id, -1), be_const_closure(class_Matter_Session_Store_find_session_by_resumption_id_closure) }, + { be_const_key_weak(next_fabric_idx, -1), be_const_closure(class_Matter_Session_Store_next_fabric_idx_closure) }, + { be_const_key_weak(find_children_fabrics, 6), be_const_closure(class_Matter_Session_Store_find_children_fabrics_closure) }, + { be_const_key_weak(create_session, -1), be_const_closure(class_Matter_Session_Store_create_session_closure) }, { be_const_key_weak(device, 1), be_const_var(0) }, })), be_str_weak(Matter_Session_Store) ); -/*******************************************************************/ - -void be_load_Matter_Session_Store_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Session_Store); - be_setglobal(vm, "Matter_Session_Store"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TCP_async.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TCP_async.h index aa854e2c7..405f2510e 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TCP_async.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TCP_async.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_TCP_async; /******************************************************************** ** Solidified function: read ********************************************************************/ -be_local_closure(Matter_TCP_async_read, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_read, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_TCP_async_read, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -44,7 +45,8 @@ be_local_closure(Matter_TCP_async_read, /* name */ /******************************************************************** ** Solidified function: begin ********************************************************************/ -be_local_closure(Matter_TCP_async_begin, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_begin, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -52,7 +54,7 @@ be_local_closure(Matter_TCP_async_begin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -154,7 +156,8 @@ be_local_closure(Matter_TCP_async_begin, /* name */ /******************************************************************** ** Solidified function: readbytes ********************************************************************/ -be_local_closure(Matter_TCP_async_readbytes, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_readbytes, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -162,7 +165,7 @@ be_local_closure(Matter_TCP_async_readbytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -189,7 +192,8 @@ be_local_closure(Matter_TCP_async_readbytes, /* name */ /******************************************************************** ** Solidified function: event_closed ********************************************************************/ -be_local_closure(Matter_TCP_async_event_closed, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_closed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -197,7 +201,7 @@ be_local_closure(Matter_TCP_async_event_closed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_closed), @@ -213,7 +217,8 @@ be_local_closure(Matter_TCP_async_event_closed, /* name */ /******************************************************************** ** Solidified function: available ********************************************************************/ -be_local_closure(Matter_TCP_async_available, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_available, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -221,7 +226,7 @@ be_local_closure(Matter_TCP_async_available, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -248,7 +253,8 @@ be_local_closure(Matter_TCP_async_available, /* name */ /******************************************************************** ** Solidified function: event_listening ********************************************************************/ -be_local_closure(Matter_TCP_async_event_listening, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_listening, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -256,7 +262,7 @@ be_local_closure(Matter_TCP_async_event_listening, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_listening), @@ -272,7 +278,8 @@ be_local_closure(Matter_TCP_async_event_listening, /* name */ /******************************************************************** ** Solidified function: get_timeout ********************************************************************/ -be_local_closure(Matter_TCP_async_get_timeout, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_get_timeout, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -280,7 +287,7 @@ be_local_closure(Matter_TCP_async_get_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(timeout), @@ -299,7 +306,8 @@ be_local_closure(Matter_TCP_async_get_timeout, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_TCP_async_init, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_init, /* name */ be_nested_proto( 7, /* nstack */ 5, /* argc */ @@ -307,7 +315,7 @@ be_local_closure(Matter_TCP_async_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -317,7 +325,7 @@ be_local_closure(Matter_TCP_async_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(loop), @@ -331,6 +339,7 @@ be_local_closure(Matter_TCP_async_init, /* name */ 0x80040000, // 0003 RET 1 R0 }) ), + &be_class_Matter_TCP_async, }), 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ @@ -379,7 +388,8 @@ be_local_closure(Matter_TCP_async_init, /* name */ /******************************************************************** ** Solidified function: every_50ms ********************************************************************/ -be_local_closure(Matter_TCP_async_every_50ms, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_every_50ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -387,7 +397,7 @@ be_local_closure(Matter_TCP_async_every_50ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(loop), @@ -407,7 +417,8 @@ be_local_closure(Matter_TCP_async_every_50ms, /* name */ /******************************************************************** ** Solidified function: event_timeout ********************************************************************/ -be_local_closure(Matter_TCP_async_event_timeout, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_timeout, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -415,7 +426,7 @@ be_local_closure(Matter_TCP_async_event_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_timeout), @@ -431,7 +442,8 @@ be_local_closure(Matter_TCP_async_event_timeout, /* name */ /******************************************************************** ** Solidified function: event_available ********************************************************************/ -be_local_closure(Matter_TCP_async_event_available, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_available, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -439,7 +451,7 @@ be_local_closure(Matter_TCP_async_event_available, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_available), @@ -455,7 +467,8 @@ be_local_closure(Matter_TCP_async_event_available, /* name */ /******************************************************************** ** Solidified function: write ********************************************************************/ -be_local_closure(Matter_TCP_async_write, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_write, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -463,7 +476,7 @@ be_local_closure(Matter_TCP_async_write, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -491,7 +504,8 @@ be_local_closure(Matter_TCP_async_write, /* name */ /******************************************************************** ** Solidified function: event_established ********************************************************************/ -be_local_closure(Matter_TCP_async_event_established, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_established, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -499,7 +513,7 @@ be_local_closure(Matter_TCP_async_event_established, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_established), @@ -515,7 +529,8 @@ be_local_closure(Matter_TCP_async_event_established, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_TCP_async_reset, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_reset, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -523,7 +538,7 @@ be_local_closure(Matter_TCP_async_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tcp), @@ -548,7 +563,8 @@ be_local_closure(Matter_TCP_async_reset, /* name */ /******************************************************************** ** Solidified function: loop ********************************************************************/ -be_local_closure(Matter_TCP_async_loop, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_loop, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -556,7 +572,7 @@ be_local_closure(Matter_TCP_async_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -679,7 +695,8 @@ be_local_closure(Matter_TCP_async_loop, /* name */ /******************************************************************** ** Solidified function: listening ********************************************************************/ -be_local_closure(Matter_TCP_async_listening, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_listening, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -687,7 +704,7 @@ be_local_closure(Matter_TCP_async_listening, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tcp_connected), @@ -714,7 +731,8 @@ be_local_closure(Matter_TCP_async_listening, /* name */ /******************************************************************** ** Solidified function: set_timeout ********************************************************************/ -be_local_closure(Matter_TCP_async_set_timeout, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_set_timeout, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -722,7 +740,7 @@ be_local_closure(Matter_TCP_async_set_timeout, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(TIMEOUT), @@ -746,7 +764,8 @@ be_local_closure(Matter_TCP_async_set_timeout, /* name */ /******************************************************************** ** Solidified function: event_dnsfailed ********************************************************************/ -be_local_closure(Matter_TCP_async_event_dnsfailed, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_dnsfailed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -754,7 +773,7 @@ be_local_closure(Matter_TCP_async_event_dnsfailed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_dnsfailed), @@ -770,7 +789,8 @@ be_local_closure(Matter_TCP_async_event_dnsfailed, /* name */ /******************************************************************** ** Solidified function: close ********************************************************************/ -be_local_closure(Matter_TCP_async_close, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_close, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -778,7 +798,7 @@ be_local_closure(Matter_TCP_async_close, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(tcp), @@ -825,7 +845,8 @@ be_local_closure(Matter_TCP_async_close, /* name */ /******************************************************************** ** Solidified function: event_refused ********************************************************************/ -be_local_closure(Matter_TCP_async_event_refused, /* name */ +extern const bclass be_class_Matter_TCP_async; +be_local_closure(class_Matter_TCP_async_event_refused, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -833,7 +854,7 @@ be_local_closure(Matter_TCP_async_event_refused, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TCP_async, 0, /* has constants */ NULL, /* no const */ be_str_weak(event_refused), @@ -854,44 +875,37 @@ be_local_class(Matter_TCP_async, NULL, be_nested_map(29, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(read, 13), be_const_closure(Matter_TCP_async_read_closure) }, + { be_const_key_weak(read, 13), be_const_closure(class_Matter_TCP_async_read_closure) }, { be_const_key_weak(addr, -1), be_const_var(0) }, - { be_const_key_weak(event_refused, -1), be_const_closure(Matter_TCP_async_event_refused_closure) }, - { be_const_key_weak(begin, -1), be_const_closure(Matter_TCP_async_begin_closure) }, - { be_const_key_weak(readbytes, -1), be_const_closure(Matter_TCP_async_readbytes_closure) }, - { be_const_key_weak(event_closed, 11), be_const_closure(Matter_TCP_async_event_closed_closure) }, - { be_const_key_weak(event_listening, -1), be_const_closure(Matter_TCP_async_event_listening_closure) }, + { be_const_key_weak(event_refused, -1), be_const_closure(class_Matter_TCP_async_event_refused_closure) }, + { be_const_key_weak(begin, -1), be_const_closure(class_Matter_TCP_async_begin_closure) }, + { be_const_key_weak(readbytes, -1), be_const_closure(class_Matter_TCP_async_readbytes_closure) }, + { be_const_key_weak(event_closed, 11), be_const_closure(class_Matter_TCP_async_event_closed_closure) }, + { be_const_key_weak(event_listening, -1), be_const_closure(class_Matter_TCP_async_event_listening_closure) }, { be_const_key_weak(tcp_connected, -1), be_const_var(5) }, - { be_const_key_weak(get_timeout, -1), be_const_closure(Matter_TCP_async_get_timeout_closure) }, + { be_const_key_weak(get_timeout, -1), be_const_closure(class_Matter_TCP_async_get_timeout_closure) }, { be_const_key_weak(timeout, 18), be_const_var(2) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_TCP_async_init_closure) }, - { be_const_key_weak(event_timeout, 6), be_const_closure(Matter_TCP_async_event_timeout_closure) }, - { be_const_key_weak(set_timeout, -1), be_const_closure(Matter_TCP_async_set_timeout_closure) }, - { be_const_key_weak(listening, 23), be_const_closure(Matter_TCP_async_listening_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TCP_async_init_closure) }, + { be_const_key_weak(event_timeout, 6), be_const_closure(class_Matter_TCP_async_event_timeout_closure) }, + { be_const_key_weak(set_timeout, -1), be_const_closure(class_Matter_TCP_async_set_timeout_closure) }, + { be_const_key_weak(listening, 23), be_const_closure(class_Matter_TCP_async_listening_closure) }, { be_const_key_weak(tcp, -1), be_const_var(3) }, - { be_const_key_weak(event_available, -1), be_const_closure(Matter_TCP_async_event_available_closure) }, - { be_const_key_weak(write, -1), be_const_closure(Matter_TCP_async_write_closure) }, - { be_const_key_weak(event_established, -1), be_const_closure(Matter_TCP_async_event_established_closure) }, + { be_const_key_weak(event_available, -1), be_const_closure(class_Matter_TCP_async_event_available_closure) }, + { be_const_key_weak(write, -1), be_const_closure(class_Matter_TCP_async_write_closure) }, + { be_const_key_weak(event_established, -1), be_const_closure(class_Matter_TCP_async_event_established_closure) }, { be_const_key_weak(TIMEOUT, 7), be_const_int(1000) }, { be_const_key_weak(time_start, 22), be_const_var(4) }, - { be_const_key_weak(reset, -1), be_const_closure(Matter_TCP_async_reset_closure) }, - { be_const_key_weak(loop, -1), be_const_closure(Matter_TCP_async_loop_closure) }, + { be_const_key_weak(reset, -1), be_const_closure(class_Matter_TCP_async_reset_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_Matter_TCP_async_loop_closure) }, { be_const_key_weak(status, -1), be_const_var(6) }, { be_const_key_weak(port, -1), be_const_var(1) }, - { be_const_key_weak(every_50ms, 12), be_const_closure(Matter_TCP_async_every_50ms_closure) }, + { be_const_key_weak(every_50ms, 12), be_const_closure(class_Matter_TCP_async_every_50ms_closure) }, { be_const_key_weak(fast_loop, -1), be_const_var(7) }, - { be_const_key_weak(event_dnsfailed, -1), be_const_closure(Matter_TCP_async_event_dnsfailed_closure) }, - { be_const_key_weak(close, -1), be_const_closure(Matter_TCP_async_close_closure) }, - { be_const_key_weak(available, 2), be_const_closure(Matter_TCP_async_available_closure) }, + { be_const_key_weak(event_dnsfailed, -1), be_const_closure(class_Matter_TCP_async_event_dnsfailed_closure) }, + { be_const_key_weak(close, -1), be_const_closure(class_Matter_TCP_async_close_closure) }, + { be_const_key_weak(available, 2), be_const_closure(class_Matter_TCP_async_available_closure) }, })), be_str_weak(Matter_TCP_async) ); -/*******************************************************************/ - -void be_load_Matter_TCP_async_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TCP_async); - be_setglobal(vm, "Matter_TCP_async"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TLV.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TLV.h index 64a9aabfd..7df38a55c 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TLV.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_TLV.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_TLV_item; /******************************************************************** ** Solidified function: to_TLV ********************************************************************/ -be_local_closure(Matter_TLV_item_to_TLV, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_to_TLV, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_TLV_item_to_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 0, /* has constants */ NULL, /* no const */ be_str_weak(to_TLV), @@ -33,7 +34,8 @@ be_local_closure(Matter_TLV_item_to_TLV, /* name */ /******************************************************************** ** Solidified function: set_parent ********************************************************************/ -be_local_closure(Matter_TLV_item_set_parent, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set_parent, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -41,7 +43,7 @@ be_local_closure(Matter_TLV_item_set_parent, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parent), @@ -60,7 +62,8 @@ be_local_closure(Matter_TLV_item_set_parent, /* name */ /******************************************************************** ** Solidified function: set_fulltag ********************************************************************/ -be_local_closure(Matter_TLV_item_set_fulltag, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set_fulltag, /* name */ be_nested_proto( 6, /* nstack */ 4, /* argc */ @@ -68,7 +71,7 @@ be_local_closure(Matter_TLV_item_set_fulltag, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tag_vendor), @@ -103,7 +106,8 @@ be_local_closure(Matter_TLV_item_set_fulltag, /* name */ /******************************************************************** ** Solidified function: set_contextspecific ********************************************************************/ -be_local_closure(Matter_TLV_item_set_contextspecific, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set_contextspecific, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -111,7 +115,7 @@ be_local_closure(Matter_TLV_item_set_contextspecific, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(set_fulltag), @@ -136,7 +140,8 @@ be_local_closure(Matter_TLV_item_set_contextspecific, /* name */ /******************************************************************** ** Solidified function: sort ********************************************************************/ -be_local_closure(Matter_TLV_item_sort, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_sort, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -144,7 +149,7 @@ be_local_closure(Matter_TLV_item_sort, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_TLV_item), @@ -198,7 +203,8 @@ be_local_closure(Matter_TLV_item_sort, /* name */ /******************************************************************** ** Solidified function: to_str_val ********************************************************************/ -be_local_closure(Matter_TLV_item_to_str_val, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_to_str_val, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -206,7 +212,7 @@ be_local_closure(Matter_TLV_item_to_str_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -336,7 +342,8 @@ be_local_closure(Matter_TLV_item_to_str_val, /* name */ /******************************************************************** ** Solidified function: encode_len ********************************************************************/ -be_local_closure(Matter_TLV_item_encode_len, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_encode_len, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -344,7 +351,7 @@ be_local_closure(Matter_TLV_item_encode_len, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[32]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -650,7 +657,8 @@ be_local_closure(Matter_TLV_item_encode_len, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Matter_TLV_item_reset, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_reset, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -658,7 +666,7 @@ be_local_closure(Matter_TLV_item_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(parent), @@ -692,7 +700,8 @@ be_local_closure(Matter_TLV_item_reset, /* name */ /******************************************************************** ** Solidified function: create_TLV ********************************************************************/ -be_local_closure(Matter_TLV_item_create_TLV, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_create_TLV, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -700,7 +709,7 @@ be_local_closure(Matter_TLV_item_create_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_TLV_item), @@ -732,7 +741,8 @@ be_local_closure(Matter_TLV_item_create_TLV, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_TLV_item_parse, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_parse, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -740,7 +750,7 @@ be_local_closure(Matter_TLV_item_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ /* K0 */ be_nested_str_weak(typ), @@ -884,7 +894,8 @@ be_local_closure(Matter_TLV_item_parse, /* name */ /******************************************************************** ** Solidified function: _encode_tag_len ********************************************************************/ -be_local_closure(Matter_TLV_item__encode_tag_len, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item__encode_tag_len, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -892,7 +903,7 @@ be_local_closure(Matter_TLV_item__encode_tag_len, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(tag_number), @@ -970,7 +981,8 @@ be_local_closure(Matter_TLV_item__encode_tag_len, /* name */ /******************************************************************** ** Solidified function: set ********************************************************************/ -be_local_closure(Matter_TLV_item_set, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set, /* name */ be_nested_proto( 5, /* nstack */ 3, /* argc */ @@ -978,7 +990,7 @@ be_local_closure(Matter_TLV_item_set, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(reset), @@ -1009,7 +1021,8 @@ be_local_closure(Matter_TLV_item_set, /* name */ /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_TLV_item_tlv2raw, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_tlv2raw, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -1017,7 +1030,7 @@ be_local_closure(Matter_TLV_item_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[42]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -1443,7 +1456,8 @@ be_local_closure(Matter_TLV_item_tlv2raw, /* name */ /******************************************************************** ** Solidified function: set_anonymoustag ********************************************************************/ -be_local_closure(Matter_TLV_item_set_anonymoustag, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set_anonymoustag, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1451,7 +1465,7 @@ be_local_closure(Matter_TLV_item_set_anonymoustag, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_fulltag), @@ -1471,7 +1485,8 @@ be_local_closure(Matter_TLV_item_set_anonymoustag, /* name */ /******************************************************************** ** Solidified function: _cmp_gt ********************************************************************/ -be_local_closure(Matter_TLV_item__cmp_gt, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item__cmp_gt, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -1479,7 +1494,7 @@ be_local_closure(Matter_TLV_item__cmp_gt, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(tag_vendor), @@ -1573,7 +1588,8 @@ be_local_closure(Matter_TLV_item__cmp_gt, /* name */ /******************************************************************** ** Solidified function: _encode_tag ********************************************************************/ -be_local_closure(Matter_TLV_item__encode_tag, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item__encode_tag, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -1581,7 +1597,7 @@ be_local_closure(Matter_TLV_item__encode_tag, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(tag_number), @@ -1739,7 +1755,8 @@ be_local_closure(Matter_TLV_item__encode_tag, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_TLV_item_tostring, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_tostring, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1747,7 +1764,7 @@ be_local_closure(Matter_TLV_item_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[34]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -1964,7 +1981,8 @@ be_local_closure(Matter_TLV_item_tostring, /* name */ /******************************************************************** ** Solidified function: set_commonprofile ********************************************************************/ -be_local_closure(Matter_TLV_item_set_commonprofile, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_set_commonprofile, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1972,7 +1990,7 @@ be_local_closure(Matter_TLV_item_set_commonprofile, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_fulltag), @@ -1995,7 +2013,8 @@ be_local_closure(Matter_TLV_item_set_commonprofile, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_TLV_item_init, /* name */ +extern const bclass be_class_Matter_TLV_item; +be_local_closure(class_Matter_TLV_item_init, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -2003,7 +2022,7 @@ be_local_closure(Matter_TLV_item_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_item, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(parent), @@ -2028,53 +2047,47 @@ be_local_class(Matter_TLV_item, be_nested_map(31, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(is_array, 17), be_const_bool(0) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_TLV_item_init_closure) }, - { be_const_key_weak(set_parent, -1), be_const_closure(Matter_TLV_item_set_parent_closure) }, - { be_const_key_weak(set_fulltag, -1), be_const_closure(Matter_TLV_item_set_fulltag_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_item_init_closure) }, + { be_const_key_weak(set_parent, -1), be_const_closure(class_Matter_TLV_item_set_parent_closure) }, + { be_const_key_weak(set_fulltag, -1), be_const_closure(class_Matter_TLV_item_set_fulltag_closure) }, { be_const_key_weak(typ, -1), be_const_var(6) }, - { be_const_key_weak(parse, 30), be_const_closure(Matter_TLV_item_parse_closure) }, + { be_const_key_weak(parse, 30), be_const_closure(class_Matter_TLV_item_parse_closure) }, { be_const_key_weak(parent, 22), be_const_var(0) }, - { be_const_key_weak(to_str_val, -1), be_const_closure(Matter_TLV_item_to_str_val_closure) }, - { be_const_key_weak(encode_len, 4), be_const_closure(Matter_TLV_item_encode_len_closure) }, + { be_const_key_weak(to_str_val, -1), be_const_closure(class_Matter_TLV_item_to_str_val_closure) }, + { be_const_key_weak(encode_len, 4), be_const_closure(class_Matter_TLV_item_encode_len_closure) }, { be_const_key_weak(TLV, 20), be_const_class(be_class_Matter_TLV) }, - { be_const_key_weak(reset, 0), be_const_closure(Matter_TLV_item_reset_closure) }, + { be_const_key_weak(reset, 0), be_const_closure(class_Matter_TLV_item_reset_closure) }, { be_const_key_weak(tag_profile, -1), be_const_var(3) }, - { be_const_key_weak(create_TLV, -1), be_const_static_closure(Matter_TLV_item_create_TLV_closure) }, + { be_const_key_weak(create_TLV, -1), be_const_static_closure(class_Matter_TLV_item_create_TLV_closure) }, { be_const_key_weak(tag_sub, -1), be_const_var(5) }, { be_const_key_weak(tag_vendor, -1), be_const_var(2) }, - { be_const_key_weak(tostring, -1), be_const_closure(Matter_TLV_item_tostring_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_TLV_item_tostring_closure) }, { be_const_key_weak(val, 5), be_const_var(7) }, - { be_const_key_weak(_encode_tag, -1), be_const_closure(Matter_TLV_item__encode_tag_closure) }, - { be_const_key_weak(_cmp_gt, -1), be_const_closure(Matter_TLV_item__cmp_gt_closure) }, - { be_const_key_weak(_encode_tag_len, 25), be_const_closure(Matter_TLV_item__encode_tag_len_closure) }, + { be_const_key_weak(_encode_tag, -1), be_const_closure(class_Matter_TLV_item__encode_tag_closure) }, + { be_const_key_weak(_cmp_gt, -1), be_const_closure(class_Matter_TLV_item__cmp_gt_closure) }, + { be_const_key_weak(_encode_tag_len, 25), be_const_closure(class_Matter_TLV_item__encode_tag_len_closure) }, { be_const_key_weak(is_struct, -1), be_const_bool(0) }, - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_TLV_item_tlv2raw_closure) }, - { be_const_key_weak(sort, -1), be_const_static_closure(Matter_TLV_item_sort_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_TLV_item_tlv2raw_closure) }, + { be_const_key_weak(sort, -1), be_const_static_closure(class_Matter_TLV_item_sort_closure) }, { be_const_key_weak(is_list, -1), be_const_bool(0) }, - { be_const_key_weak(to_TLV, 18), be_const_closure(Matter_TLV_item_to_TLV_closure) }, - { be_const_key_weak(set, -1), be_const_closure(Matter_TLV_item_set_closure) }, - { be_const_key_weak(set_anonymoustag, 15), be_const_closure(Matter_TLV_item_set_anonymoustag_closure) }, - { be_const_key_weak(set_commonprofile, -1), be_const_closure(Matter_TLV_item_set_commonprofile_closure) }, + { be_const_key_weak(to_TLV, 18), be_const_closure(class_Matter_TLV_item_to_TLV_closure) }, + { be_const_key_weak(set, -1), be_const_closure(class_Matter_TLV_item_set_closure) }, + { be_const_key_weak(set_anonymoustag, 15), be_const_closure(class_Matter_TLV_item_set_anonymoustag_closure) }, + { be_const_key_weak(set_commonprofile, -1), be_const_closure(class_Matter_TLV_item_set_commonprofile_closure) }, { be_const_key_weak(tag_number, -1), be_const_var(4) }, { be_const_key_weak(next_idx, 1), be_const_var(1) }, - { be_const_key_weak(set_contextspecific, -1), be_const_closure(Matter_TLV_item_set_contextspecific_closure) }, + { be_const_key_weak(set_contextspecific, -1), be_const_closure(class_Matter_TLV_item_set_contextspecific_closure) }, })), be_str_weak(Matter_TLV_item) ); -/*******************************************************************/ - -void be_load_Matter_TLV_item_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TLV_item); - be_setglobal(vm, "Matter_TLV_item"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_TLV_list; /******************************************************************** ** Solidified function: findsubval ********************************************************************/ -be_local_closure(Matter_TLV_list_findsubval, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_findsubval, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -2082,7 +2095,7 @@ be_local_closure(Matter_TLV_list_findsubval, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(findsub), @@ -2109,7 +2122,8 @@ be_local_closure(Matter_TLV_list_findsubval, /* name */ /******************************************************************** ** Solidified function: tlv2raw ********************************************************************/ -be_local_closure(Matter_TLV_list_tlv2raw, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_tlv2raw, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -2117,7 +2131,7 @@ be_local_closure(Matter_TLV_list_tlv2raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(_encode_tag), @@ -2188,7 +2202,8 @@ be_local_closure(Matter_TLV_list_tlv2raw, /* name */ /******************************************************************** ** Solidified function: to_str_val ********************************************************************/ -be_local_closure(Matter_TLV_list_to_str_val, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_to_str_val, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2196,7 +2211,7 @@ be_local_closure(Matter_TLV_list_to_str_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(tostring), @@ -2217,7 +2232,8 @@ be_local_closure(Matter_TLV_list_to_str_val, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_TLV_list_tostring, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_tostring, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -2225,7 +2241,7 @@ be_local_closure(Matter_TLV_list_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tostring_inner), @@ -2251,7 +2267,8 @@ be_local_closure(Matter_TLV_list_tostring, /* name */ /******************************************************************** ** Solidified function: size ********************************************************************/ -be_local_closure(Matter_TLV_list_size, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_size, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2259,7 +2276,7 @@ be_local_closure(Matter_TLV_list_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2280,7 +2297,8 @@ be_local_closure(Matter_TLV_list_size, /* name */ /******************************************************************** ** Solidified function: setitem ********************************************************************/ -be_local_closure(Matter_TLV_list_setitem, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_setitem, /* name */ be_nested_proto( 4, /* nstack */ 3, /* argc */ @@ -2288,7 +2306,7 @@ be_local_closure(Matter_TLV_list_setitem, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2308,7 +2326,8 @@ be_local_closure(Matter_TLV_list_setitem, /* name */ /******************************************************************** ** Solidified function: add_struct ********************************************************************/ -be_local_closure(Matter_TLV_list_add_struct, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_add_struct, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2316,7 +2335,7 @@ be_local_closure(Matter_TLV_list_add_struct, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -2347,7 +2366,8 @@ be_local_closure(Matter_TLV_list_add_struct, /* name */ /******************************************************************** ** Solidified function: add_list ********************************************************************/ -be_local_closure(Matter_TLV_list_add_list, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_add_list, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2355,7 +2375,7 @@ be_local_closure(Matter_TLV_list_add_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -2386,7 +2406,8 @@ be_local_closure(Matter_TLV_list_add_list, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_TLV_list_parse, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_parse, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -2394,7 +2415,7 @@ be_local_closure(Matter_TLV_list_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -2437,7 +2458,8 @@ be_local_closure(Matter_TLV_list_parse, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_TLV_list_init, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2445,7 +2467,7 @@ be_local_closure(Matter_TLV_list_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -2479,7 +2501,8 @@ be_local_closure(Matter_TLV_list_init, /* name */ /******************************************************************** ** Solidified function: item ********************************************************************/ -be_local_closure(Matter_TLV_list_item, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_item, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -2487,7 +2510,7 @@ be_local_closure(Matter_TLV_list_item, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2507,7 +2530,8 @@ be_local_closure(Matter_TLV_list_item, /* name */ /******************************************************************** ** Solidified function: getsubval ********************************************************************/ -be_local_closure(Matter_TLV_list_getsubval, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_getsubval, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2515,7 +2539,7 @@ be_local_closure(Matter_TLV_list_getsubval, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(getsub), @@ -2538,7 +2562,8 @@ be_local_closure(Matter_TLV_list_getsubval, /* name */ /******************************************************************** ** Solidified function: getsub ********************************************************************/ -be_local_closure(Matter_TLV_list_getsub, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_getsub, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2546,7 +2571,7 @@ be_local_closure(Matter_TLV_list_getsub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(findsub), @@ -2573,7 +2598,8 @@ be_local_closure(Matter_TLV_list_getsub, /* name */ /******************************************************************** ** Solidified function: add_obj ********************************************************************/ -be_local_closure(Matter_TLV_list_add_obj, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_add_obj, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -2581,7 +2607,7 @@ be_local_closure(Matter_TLV_list_add_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2622,7 +2648,8 @@ be_local_closure(Matter_TLV_list_add_obj, /* name */ /******************************************************************** ** Solidified function: add_TLV ********************************************************************/ -be_local_closure(Matter_TLV_list_add_TLV, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_add_TLV, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -2630,7 +2657,7 @@ be_local_closure(Matter_TLV_list_add_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2674,7 +2701,8 @@ be_local_closure(Matter_TLV_list_add_TLV, /* name */ /******************************************************************** ** Solidified function: add_array ********************************************************************/ -be_local_closure(Matter_TLV_list_add_array, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_add_array, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2682,7 +2710,7 @@ be_local_closure(Matter_TLV_list_add_array, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -2713,7 +2741,8 @@ be_local_closure(Matter_TLV_list_add_array, /* name */ /******************************************************************** ** Solidified function: findsub ********************************************************************/ -be_local_closure(Matter_TLV_list_findsub, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_findsub, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -2721,7 +2750,7 @@ be_local_closure(Matter_TLV_list_findsub, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2756,7 +2785,8 @@ be_local_closure(Matter_TLV_list_findsub, /* name */ /******************************************************************** ** Solidified function: tostring_inner ********************************************************************/ -be_local_closure(Matter_TLV_list_tostring_inner, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_tostring_inner, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -2764,7 +2794,7 @@ be_local_closure(Matter_TLV_list_tostring_inner, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -2883,7 +2913,8 @@ be_local_closure(Matter_TLV_list_tostring_inner, /* name */ /******************************************************************** ** Solidified function: push ********************************************************************/ -be_local_closure(Matter_TLV_list_push, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_push, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2891,7 +2922,7 @@ be_local_closure(Matter_TLV_list_push, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(val), @@ -2914,7 +2945,8 @@ be_local_closure(Matter_TLV_list_push, /* name */ /******************************************************************** ** Solidified function: findsubtyp ********************************************************************/ -be_local_closure(Matter_TLV_list_findsubtyp, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_findsubtyp, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2922,7 +2954,7 @@ be_local_closure(Matter_TLV_list_findsubtyp, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(findsub), @@ -2950,7 +2982,8 @@ be_local_closure(Matter_TLV_list_findsubtyp, /* name */ /******************************************************************** ** Solidified function: encode_len ********************************************************************/ -be_local_closure(Matter_TLV_list_encode_len, /* name */ +extern const bclass be_class_Matter_TLV_list; +be_local_closure(class_Matter_TLV_list_encode_len, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -2958,7 +2991,7 @@ be_local_closure(Matter_TLV_list_encode_len, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_list, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_encode_tag_len), @@ -3002,45 +3035,39 @@ be_local_class(Matter_TLV_list, &be_class_Matter_TLV_item, be_nested_map(22, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(encode_len, 7), be_const_closure(Matter_TLV_list_encode_len_closure) }, - { be_const_key_weak(tlv2raw, -1), be_const_closure(Matter_TLV_list_tlv2raw_closure) }, - { be_const_key_weak(to_str_val, 14), be_const_closure(Matter_TLV_list_to_str_val_closure) }, - { be_const_key_weak(findsubval, 5), be_const_closure(Matter_TLV_list_findsubval_closure) }, - { be_const_key_weak(size, -1), be_const_closure(Matter_TLV_list_size_closure) }, - { be_const_key_weak(findsubtyp, 21), be_const_closure(Matter_TLV_list_findsubtyp_closure) }, - { be_const_key_weak(add_struct, 19), be_const_closure(Matter_TLV_list_add_struct_closure) }, - { be_const_key_weak(push, -1), be_const_closure(Matter_TLV_list_push_closure) }, - { be_const_key_weak(parse, -1), be_const_closure(Matter_TLV_list_parse_closure) }, - { be_const_key_weak(init, 0), be_const_closure(Matter_TLV_list_init_closure) }, - { be_const_key_weak(item, -1), be_const_closure(Matter_TLV_list_item_closure) }, - { be_const_key_weak(tostring_inner, -1), be_const_closure(Matter_TLV_list_tostring_inner_closure) }, - { be_const_key_weak(getsubval, 20), be_const_closure(Matter_TLV_list_getsubval_closure) }, - { be_const_key_weak(getsub, -1), be_const_closure(Matter_TLV_list_getsub_closure) }, - { be_const_key_weak(findsub, -1), be_const_closure(Matter_TLV_list_findsub_closure) }, - { be_const_key_weak(add_list, 17), be_const_closure(Matter_TLV_list_add_list_closure) }, - { be_const_key_weak(add_array, -1), be_const_closure(Matter_TLV_list_add_array_closure) }, - { be_const_key_weak(add_TLV, -1), be_const_closure(Matter_TLV_list_add_TLV_closure) }, - { be_const_key_weak(setitem, 11), be_const_closure(Matter_TLV_list_setitem_closure) }, - { be_const_key_weak(add_obj, -1), be_const_closure(Matter_TLV_list_add_obj_closure) }, + { be_const_key_weak(encode_len, 7), be_const_closure(class_Matter_TLV_list_encode_len_closure) }, + { be_const_key_weak(tlv2raw, -1), be_const_closure(class_Matter_TLV_list_tlv2raw_closure) }, + { be_const_key_weak(to_str_val, 14), be_const_closure(class_Matter_TLV_list_to_str_val_closure) }, + { be_const_key_weak(findsubval, 5), be_const_closure(class_Matter_TLV_list_findsubval_closure) }, + { be_const_key_weak(size, -1), be_const_closure(class_Matter_TLV_list_size_closure) }, + { be_const_key_weak(findsubtyp, 21), be_const_closure(class_Matter_TLV_list_findsubtyp_closure) }, + { be_const_key_weak(add_struct, 19), be_const_closure(class_Matter_TLV_list_add_struct_closure) }, + { be_const_key_weak(push, -1), be_const_closure(class_Matter_TLV_list_push_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_Matter_TLV_list_parse_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_Matter_TLV_list_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_Matter_TLV_list_item_closure) }, + { be_const_key_weak(tostring_inner, -1), be_const_closure(class_Matter_TLV_list_tostring_inner_closure) }, + { be_const_key_weak(getsubval, 20), be_const_closure(class_Matter_TLV_list_getsubval_closure) }, + { be_const_key_weak(getsub, -1), be_const_closure(class_Matter_TLV_list_getsub_closure) }, + { be_const_key_weak(findsub, -1), be_const_closure(class_Matter_TLV_list_findsub_closure) }, + { be_const_key_weak(add_list, 17), be_const_closure(class_Matter_TLV_list_add_list_closure) }, + { be_const_key_weak(add_array, -1), be_const_closure(class_Matter_TLV_list_add_array_closure) }, + { be_const_key_weak(add_TLV, -1), be_const_closure(class_Matter_TLV_list_add_TLV_closure) }, + { be_const_key_weak(setitem, 11), be_const_closure(class_Matter_TLV_list_setitem_closure) }, + { be_const_key_weak(add_obj, -1), be_const_closure(class_Matter_TLV_list_add_obj_closure) }, { be_const_key_weak(is_list, -1), be_const_bool(1) }, - { be_const_key_weak(tostring, -1), be_const_closure(Matter_TLV_list_tostring_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_TLV_list_tostring_closure) }, })), be_str_weak(Matter_TLV_list) ); -/*******************************************************************/ - -void be_load_Matter_TLV_list_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TLV_list); - be_setglobal(vm, "Matter_TLV_list"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_TLV_struct; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_TLV_struct_tostring, /* name */ +extern const bclass be_class_Matter_TLV_struct; +be_local_closure(class_Matter_TLV_struct_tostring, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -3048,7 +3075,7 @@ be_local_closure(Matter_TLV_struct_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_struct, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tostring_inner), @@ -3074,7 +3101,8 @@ be_local_closure(Matter_TLV_struct_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_TLV_struct_init, /* name */ +extern const bclass be_class_Matter_TLV_struct; +be_local_closure(class_Matter_TLV_struct_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3082,7 +3110,7 @@ be_local_closure(Matter_TLV_struct_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_struct, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -3122,27 +3150,21 @@ be_local_class(Matter_TLV_struct, &be_class_Matter_TLV_list, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(Matter_TLV_struct_init_closure) }, - { be_const_key_weak(tostring, -1), be_const_closure(Matter_TLV_struct_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_struct_init_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_Matter_TLV_struct_tostring_closure) }, { be_const_key_weak(is_list, -1), be_const_bool(0) }, { be_const_key_weak(is_struct, 0), be_const_bool(1) }, })), be_str_weak(Matter_TLV_struct) ); -/*******************************************************************/ - -void be_load_Matter_TLV_struct_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TLV_struct); - be_setglobal(vm, "Matter_TLV_struct"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_TLV_array; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Matter_TLV_array_tostring, /* name */ +extern const bclass be_class_Matter_TLV_array; +be_local_closure(class_Matter_TLV_array_tostring, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -3150,7 +3172,7 @@ be_local_closure(Matter_TLV_array_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_array, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(tostring_inner), @@ -3176,7 +3198,8 @@ be_local_closure(Matter_TLV_array_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_TLV_array_init, /* name */ +extern const bclass be_class_Matter_TLV_array; +be_local_closure(class_Matter_TLV_array_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3184,7 +3207,7 @@ be_local_closure(Matter_TLV_array_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_array, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -3218,7 +3241,8 @@ be_local_closure(Matter_TLV_array_init, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_TLV_array_parse, /* name */ +extern const bclass be_class_Matter_TLV_array; +be_local_closure(class_Matter_TLV_array_parse, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -3226,7 +3250,7 @@ be_local_closure(Matter_TLV_array_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV_array, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(TLV), @@ -3287,28 +3311,22 @@ be_local_class(Matter_TLV_array, &be_class_Matter_TLV_list, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(tostring, 1), be_const_closure(Matter_TLV_array_tostring_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_TLV_array_init_closure) }, - { be_const_key_weak(parse, 3), be_const_closure(Matter_TLV_array_parse_closure) }, + { be_const_key_weak(tostring, 1), be_const_closure(class_Matter_TLV_array_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_TLV_array_init_closure) }, + { be_const_key_weak(parse, 3), be_const_closure(class_Matter_TLV_array_parse_closure) }, { be_const_key_weak(is_list, -1), be_const_bool(0) }, { be_const_key_weak(is_array, -1), be_const_bool(1) }, })), be_str_weak(Matter_TLV_array) ); -/*******************************************************************/ - -void be_load_Matter_TLV_array_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TLV_array); - be_setglobal(vm, "Matter_TLV_array"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_TLV; /******************************************************************** ** Solidified function: create_TLV ********************************************************************/ -be_local_closure(Matter_TLV_create_TLV, /* name */ +extern const bclass be_class_Matter_TLV; +be_local_closure(class_Matter_TLV_create_TLV, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3316,7 +3334,7 @@ be_local_closure(Matter_TLV_create_TLV, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_TLV), @@ -3342,7 +3360,8 @@ be_local_closure(Matter_TLV_create_TLV, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Matter_TLV_parse, /* name */ +extern const bclass be_class_Matter_TLV; +be_local_closure(class_Matter_TLV_parse, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -3350,7 +3369,7 @@ be_local_closure(Matter_TLV_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_TLV, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_TLV), @@ -3511,7 +3530,7 @@ be_local_class(Matter_TLV, be_nested_map(35, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(BFALSE, -1), be_const_int(8) }, - { be_const_key_weak(create_TLV, -1), be_const_static_closure(Matter_TLV_create_TLV_closure) }, + { be_const_key_weak(create_TLV, -1), be_const_static_closure(class_Matter_TLV_create_TLV_closure) }, { be_const_key_weak(Matter_TLV_list, -1), be_const_class(be_class_Matter_TLV_list) }, { be_const_key_weak(I4, 33), be_const_int(2) }, { be_const_key_weak(U2, -1), be_const_int(5) }, @@ -3522,7 +3541,7 @@ be_local_class(Matter_TLV, { be_const_key_weak(Matter_TLV_struct, 2), be_const_class(be_class_Matter_TLV_struct) }, { be_const_key_weak(BOOL, -1), be_const_int(8) }, { be_const_key_weak(RAW, -1), be_const_int(255) }, - { be_const_key_weak(parse, -1), be_const_static_closure(Matter_TLV_parse_closure) }, + { be_const_key_weak(parse, -1), be_const_static_closure(class_Matter_TLV_parse_closure) }, { be_const_key_weak(U8, -1), be_const_int(7) }, { be_const_key_weak(LIST, -1), be_const_int(23) }, { be_const_key_weak(I2, 27), be_const_int(1) }, @@ -3604,12 +3623,5 @@ be_local_class(Matter_TLV, })), be_str_weak(Matter_TLV) ); -/*******************************************************************/ - -void be_load_Matter_TLV_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_TLV); - be_setglobal(vm, "Matter_TLV"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h index 0dd231c3a..180150805 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UDPServer.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_UDPPacket_sent; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_UDPPacket_sent_init, /* name */ +extern const bclass be_class_Matter_UDPPacket_sent; +be_local_closure(class_Matter_UDPPacket_sent_init, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_UDPPacket_sent_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPPacket_sent, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(raw), @@ -103,26 +104,20 @@ be_local_class(Matter_UDPPacket_sent, { be_const_key_weak(addr, -1), be_const_var(1) }, { be_const_key_weak(port, 0), be_const_var(2) }, { be_const_key_weak(raw, -1), be_const_var(0) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_UDPPacket_sent_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPPacket_sent_init_closure) }, { be_const_key_weak(exchange_id, -1), be_const_var(4) }, { be_const_key_weak(msg_id, -1), be_const_var(3) }, })), be_str_weak(Matter_UDPPacket_sent) ); -/*******************************************************************/ - -void be_load_Matter_UDPPacket_sent_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_UDPPacket_sent); - be_setglobal(vm, "Matter_UDPPacket_sent"); - be_pop(vm, 1); -} extern const bclass be_class_Matter_UDPServer; /******************************************************************** ** Solidified function: every_50ms ********************************************************************/ -be_local_closure(Matter_UDPServer_every_50ms, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_every_50ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -130,7 +125,7 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(loop), @@ -150,7 +145,8 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */ /******************************************************************** ** Solidified function: send_UDP ********************************************************************/ -be_local_closure(Matter_UDPServer_send_UDP, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_send_UDP, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -158,7 +154,7 @@ be_local_closure(Matter_UDPServer_send_UDP, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -194,7 +190,8 @@ be_local_closure(Matter_UDPServer_send_UDP, /* name */ /******************************************************************** ** Solidified function: received_ack ********************************************************************/ -be_local_closure(Matter_UDPServer_received_ack, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_received_ack, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -202,7 +199,7 @@ be_local_closure(Matter_UDPServer_received_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(ack_message_counter), @@ -270,7 +267,8 @@ be_local_closure(Matter_UDPServer_received_ack, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Matter_UDPServer_start, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_start, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -278,7 +276,7 @@ be_local_closure(Matter_UDPServer_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(listening), @@ -327,7 +325,8 @@ be_local_closure(Matter_UDPServer_start, /* name */ /******************************************************************** ** Solidified function: send ********************************************************************/ -be_local_closure(Matter_UDPServer_send, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_send, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -335,7 +334,7 @@ be_local_closure(Matter_UDPServer_send, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(udp_socket), @@ -411,7 +410,8 @@ be_local_closure(Matter_UDPServer_send, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(Matter_UDPServer_stop, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_stop, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -419,7 +419,7 @@ be_local_closure(Matter_UDPServer_stop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(listening), @@ -453,7 +453,8 @@ be_local_closure(Matter_UDPServer_stop, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_UDPServer_init, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_init, /* name */ be_nested_proto( 5, /* nstack */ 4, /* argc */ @@ -461,7 +462,7 @@ be_local_closure(Matter_UDPServer_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -471,7 +472,7 @@ be_local_closure(Matter_UDPServer_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(loop), @@ -485,6 +486,7 @@ be_local_closure(Matter_UDPServer_init, /* name */ 0x80000000, // 0003 RET 0 }) ), + &be_class_Matter_UDPServer, }), 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ @@ -528,7 +530,8 @@ be_local_closure(Matter_UDPServer_init, /* name */ /******************************************************************** ** Solidified function: _resend_packets ********************************************************************/ -be_local_closure(Matter_UDPServer__resend_packets, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer__resend_packets, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -536,7 +539,7 @@ be_local_closure(Matter_UDPServer__resend_packets, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_const_int(0), @@ -632,7 +635,8 @@ be_local_closure(Matter_UDPServer__resend_packets, /* name */ /******************************************************************** ** Solidified function: _backoff_time ********************************************************************/ -be_local_closure(Matter_UDPServer__backoff_time, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer__backoff_time, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -640,7 +644,7 @@ be_local_closure(Matter_UDPServer__backoff_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -648,7 +652,7 @@ be_local_closure(Matter_UDPServer__backoff_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(1), @@ -666,6 +670,7 @@ be_local_closure(Matter_UDPServer__backoff_time, /* name */ 0x80040400, // 0006 RET 1 R2 }) ), + &be_class_Matter_UDPServer, }), 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ @@ -719,7 +724,8 @@ be_local_closure(Matter_UDPServer__backoff_time, /* name */ /******************************************************************** ** Solidified function: loop ********************************************************************/ -be_local_closure(Matter_UDPServer_loop, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_loop, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -727,7 +733,7 @@ be_local_closure(Matter_UDPServer_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -826,7 +832,8 @@ be_local_closure(Matter_UDPServer_loop, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_UDPServer_every_second, /* name */ +extern const bclass be_class_Matter_UDPServer; +be_local_closure(class_Matter_UDPServer_every_second, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -834,7 +841,7 @@ be_local_closure(Matter_UDPServer_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UDPServer, 0, /* has constants */ NULL, /* no const */ be_str_weak(every_second), @@ -855,20 +862,20 @@ be_local_class(Matter_UDPServer, NULL, be_nested_map(22, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(every_50ms, -1), be_const_closure(Matter_UDPServer_every_50ms_closure) }, - { be_const_key_weak(send_UDP, -1), be_const_closure(Matter_UDPServer_send_UDP_closure) }, - { be_const_key_weak(received_ack, -1), be_const_closure(Matter_UDPServer_received_ack_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_UDPServer_every_second_closure) }, - { be_const_key_weak(stop, 18), be_const_closure(Matter_UDPServer_stop_closure) }, - { be_const_key_weak(start, 4), be_const_closure(Matter_UDPServer_start_closure) }, + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_UDPServer_every_50ms_closure) }, + { be_const_key_weak(send_UDP, -1), be_const_closure(class_Matter_UDPServer_send_UDP_closure) }, + { be_const_key_weak(received_ack, -1), be_const_closure(class_Matter_UDPServer_received_ack_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_UDPServer_every_second_closure) }, + { be_const_key_weak(stop, 18), be_const_closure(class_Matter_UDPServer_stop_closure) }, + { be_const_key_weak(start, 4), be_const_closure(class_Matter_UDPServer_start_closure) }, { be_const_key_weak(listening, -1), be_const_var(3) }, - { be_const_key_weak(send, -1), be_const_closure(Matter_UDPServer_send_closure) }, - { be_const_key_weak(loop, -1), be_const_closure(Matter_UDPServer_loop_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_UDPServer_init_closure) }, + { be_const_key_weak(send, -1), be_const_closure(class_Matter_UDPServer_send_closure) }, + { be_const_key_weak(loop, -1), be_const_closure(class_Matter_UDPServer_loop_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UDPServer_init_closure) }, { be_const_key_weak(udp_socket, 6), be_const_var(4) }, { be_const_key_weak(packet, -1), be_const_var(8) }, - { be_const_key_weak(_backoff_time, -1), be_const_static_closure(Matter_UDPServer__backoff_time_closure) }, - { be_const_key_weak(_resend_packets, -1), be_const_closure(Matter_UDPServer__resend_packets_closure) }, + { be_const_key_weak(_backoff_time, -1), be_const_static_closure(class_Matter_UDPServer__backoff_time_closure) }, + { be_const_key_weak(_resend_packets, -1), be_const_closure(class_Matter_UDPServer__resend_packets_closure) }, { be_const_key_weak(addr, -1), be_const_var(0) }, { be_const_key_weak(dispatch_cb, 8), be_const_var(5) }, { be_const_key_weak(port, 12), be_const_var(1) }, @@ -880,12 +887,5 @@ be_local_class(Matter_UDPServer, })), be_str_weak(Matter_UDPServer) ); -/*******************************************************************/ - -void be_load_Matter_UDPServer_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_UDPServer); - be_setglobal(vm, "Matter_UDPServer"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h index 937cabb55..8bae5ab68 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_UI.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_UI; /******************************************************************** ** Solidified function: equal_map ********************************************************************/ -be_local_closure(Matter_UI_equal_map, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_equal_map, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_UI_equal_map, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_UI), @@ -90,7 +91,8 @@ be_local_closure(Matter_UI_equal_map, /* name */ /******************************************************************** ** Solidified function: page_part_mgr_adv ********************************************************************/ -be_local_closure(Matter_UI_page_part_mgr_adv, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_page_part_mgr_adv, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -98,7 +100,7 @@ be_local_closure(Matter_UI_page_part_mgr_adv, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -147,7 +149,8 @@ be_local_closure(Matter_UI_page_part_mgr_adv, /* name */ /******************************************************************** ** Solidified function: page_part_mgr ********************************************************************/ -be_local_closure(Matter_UI_page_part_mgr, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_page_part_mgr, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -155,7 +158,7 @@ be_local_closure(Matter_UI_page_part_mgr, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -215,7 +218,8 @@ be_local_closure(Matter_UI_page_part_mgr, /* name */ /******************************************************************** ** Solidified function: plugin_name ********************************************************************/ -be_local_closure(Matter_UI_plugin_name, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_plugin_name, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -223,7 +227,7 @@ be_local_closure(Matter_UI_plugin_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -250,7 +254,8 @@ be_local_closure(Matter_UI_plugin_name, /* name */ /******************************************************************** ** Solidified function: matter_enabled ********************************************************************/ -be_local_closure(Matter_UI_matter_enabled, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_matter_enabled, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -258,7 +263,7 @@ be_local_closure(Matter_UI_matter_enabled, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -286,7 +291,8 @@ be_local_closure(Matter_UI_matter_enabled, /* name */ /******************************************************************** ** Solidified function: generate_config_from_status ********************************************************************/ -be_local_closure(Matter_UI_generate_config_from_status, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_generate_config_from_status, /* name */ be_nested_proto( 13, /* nstack */ 3, /* argc */ @@ -294,7 +300,7 @@ be_local_closure(Matter_UI_generate_config_from_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_const_int(0), @@ -423,7 +429,8 @@ be_local_closure(Matter_UI_generate_config_from_status, /* name */ /******************************************************************** ** Solidified function: web_sensor ********************************************************************/ -be_local_closure(Matter_UI_web_sensor, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_web_sensor, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -431,7 +438,7 @@ be_local_closure(Matter_UI_web_sensor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -513,7 +520,8 @@ be_local_closure(Matter_UI_web_sensor, /* name */ /******************************************************************** ** Solidified function: page_part_mgr_add ********************************************************************/ -be_local_closure(Matter_UI_page_part_mgr_add, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_page_part_mgr_add, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -521,7 +529,7 @@ be_local_closure(Matter_UI_page_part_mgr_add, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -575,7 +583,8 @@ be_local_closure(Matter_UI_page_part_mgr_add, /* name */ /******************************************************************** ** Solidified function: show_plugins_configuration ********************************************************************/ -be_local_closure(Matter_UI_show_plugins_configuration, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_plugins_configuration, /* name */ be_nested_proto( 29, /* nstack */ 1, /* argc */ @@ -583,7 +592,7 @@ be_local_closure(Matter_UI_show_plugins_configuration, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[63]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1023,7 +1032,8 @@ be_local_closure(Matter_UI_show_plugins_configuration, /* name */ /******************************************************************** ** Solidified function: show_commissioning_info ********************************************************************/ -be_local_closure(Matter_UI_show_commissioning_info, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_commissioning_info, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -1031,7 +1041,7 @@ be_local_closure(Matter_UI_show_commissioning_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1122,7 +1132,8 @@ be_local_closure(Matter_UI_show_commissioning_info, /* name */ /******************************************************************** ** Solidified function: show_remote_autoconf ********************************************************************/ -be_local_closure(Matter_UI_show_remote_autoconf, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_remote_autoconf, /* name */ be_nested_proto( 27, /* nstack */ 2, /* argc */ @@ -1130,7 +1141,7 @@ be_local_closure(Matter_UI_show_remote_autoconf, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[47]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1423,7 +1434,8 @@ be_local_closure(Matter_UI_show_remote_autoconf, /* name */ /******************************************************************** ** Solidified function: show_fabric_info ********************************************************************/ -be_local_closure(Matter_UI_show_fabric_info, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_fabric_info, /* name */ be_nested_proto( 14, /* nstack */ 1, /* argc */ @@ -1431,7 +1443,7 @@ be_local_closure(Matter_UI_show_fabric_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[28]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1575,7 +1587,8 @@ be_local_closure(Matter_UI_show_fabric_info, /* name */ /******************************************************************** ** Solidified function: web_get_arg ********************************************************************/ -be_local_closure(Matter_UI_web_get_arg, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_web_get_arg, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1583,7 +1596,7 @@ be_local_closure(Matter_UI_web_get_arg, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1623,7 +1636,8 @@ be_local_closure(Matter_UI_web_get_arg, /* name */ /******************************************************************** ** Solidified function: plugin_option ********************************************************************/ -be_local_closure(Matter_UI_plugin_option, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_plugin_option, /* name */ be_nested_proto( 16, /* nstack */ 3, /* argc */ @@ -1631,7 +1645,7 @@ be_local_closure(Matter_UI_plugin_option, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1720,7 +1734,8 @@ be_local_closure(Matter_UI_plugin_option, /* name */ /******************************************************************** ** Solidified function: web_add_config_button ********************************************************************/ -be_local_closure(Matter_UI_web_add_config_button, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_web_add_config_button, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1728,7 +1743,7 @@ be_local_closure(Matter_UI_web_add_config_button, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -1762,7 +1777,8 @@ be_local_closure(Matter_UI_web_add_config_button, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_UI_init, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1770,7 +1786,7 @@ be_local_closure(Matter_UI_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -1795,7 +1811,8 @@ be_local_closure(Matter_UI_init, /* name */ /******************************************************************** ** Solidified function: show_bridge_status ********************************************************************/ -be_local_closure(Matter_UI_show_bridge_status, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_bridge_status, /* name */ be_nested_proto( 15, /* nstack */ 1, /* argc */ @@ -1803,7 +1820,7 @@ be_local_closure(Matter_UI_show_bridge_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(device), @@ -1968,7 +1985,8 @@ be_local_closure(Matter_UI_show_bridge_status, /* name */ /******************************************************************** ** Solidified function: web_add_handler ********************************************************************/ -be_local_closure(Matter_UI_web_add_handler, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_web_add_handler, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1976,7 +1994,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 4]) { + ( &(const struct bproto*[ 5]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -1986,7 +2004,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(page_part_mgr), @@ -2009,7 +2027,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(page_part_ctl), @@ -2032,7 +2050,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(page_part_mgr_adv), @@ -2055,7 +2073,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(page_part_mgr_add), @@ -2069,6 +2087,7 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ 0x80040000, // 0003 RET 1 R0 }) ), + &be_class_Matter_UI, }), 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ @@ -2115,7 +2134,8 @@ be_local_closure(Matter_UI_web_add_handler, /* name */ /******************************************************************** ** Solidified function: show_passcode_form ********************************************************************/ -be_local_closure(Matter_UI_show_passcode_form, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_passcode_form, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2123,7 +2143,7 @@ be_local_closure(Matter_UI_show_passcode_form, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -2194,7 +2214,8 @@ be_local_closure(Matter_UI_show_passcode_form, /* name */ /******************************************************************** ** Solidified function: page_part_ctl ********************************************************************/ -be_local_closure(Matter_UI_page_part_ctl, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_page_part_ctl, /* name */ be_nested_proto( 24, /* nstack */ 1, /* argc */ @@ -2202,7 +2223,7 @@ be_local_closure(Matter_UI_page_part_ctl, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[101]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -2994,7 +3015,8 @@ be_local_closure(Matter_UI_page_part_ctl, /* name */ /******************************************************************** ** Solidified function: show_qrcode ********************************************************************/ -be_local_closure(Matter_UI_show_qrcode, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_qrcode, /* name */ be_nested_proto( 18, /* nstack */ 2, /* argc */ @@ -3002,7 +3024,7 @@ be_local_closure(Matter_UI_show_qrcode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -3160,7 +3182,8 @@ be_local_closure(Matter_UI_show_qrcode, /* name */ /******************************************************************** ** Solidified function: show_enable ********************************************************************/ -be_local_closure(Matter_UI_show_enable, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_enable, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -3168,7 +3191,7 @@ be_local_closure(Matter_UI_show_enable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -3256,7 +3279,8 @@ be_local_closure(Matter_UI_show_enable, /* name */ /******************************************************************** ** Solidified function: show_plugins_hints_js ********************************************************************/ -be_local_closure(Matter_UI_show_plugins_hints_js, /* name */ +extern const bclass be_class_Matter_UI; +be_local_closure(class_Matter_UI_show_plugins_hints_js, /* name */ be_nested_proto( 16, /* nstack */ 2, /* argc */ @@ -3264,7 +3288,7 @@ be_local_closure(Matter_UI_show_plugins_hints_js, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_UI, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(webserver), @@ -3381,41 +3405,34 @@ be_local_class(Matter_UI, NULL, be_nested_map(26, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(equal_map, -1), be_const_static_closure(Matter_UI_equal_map_closure) }, - { be_const_key_weak(page_part_mgr_adv, -1), be_const_closure(Matter_UI_page_part_mgr_adv_closure) }, + { be_const_key_weak(equal_map, -1), be_const_static_closure(class_Matter_UI_equal_map_closure) }, + { be_const_key_weak(page_part_mgr_adv, -1), be_const_closure(class_Matter_UI_page_part_mgr_adv_closure) }, { be_const_key_weak(_CLASSES_TYPES2, -1), be_nested_str_weak(_X7Chttp_relay_X7Chttp_light0_X7Chttp_light1_X7Chttp_light2_X7Chttp_light3_X7Chttp_temperature_X7Chttp_pressure_X7Chttp_illuminance_X7Chttp_humidity_X7Chttp_occupancy_X7Chttp_contact_X7Chttp_flow_X7Chttp_waterleak) }, - { be_const_key_weak(page_part_mgr, 25), be_const_closure(Matter_UI_page_part_mgr_closure) }, - { be_const_key_weak(show_plugins_hints_js, -1), be_const_closure(Matter_UI_show_plugins_hints_js_closure) }, - { be_const_key_weak(show_enable, -1), be_const_closure(Matter_UI_show_enable_closure) }, - { be_const_key_weak(matter_enabled, 24), be_const_closure(Matter_UI_matter_enabled_closure) }, - { be_const_key_weak(generate_config_from_status, -1), be_const_closure(Matter_UI_generate_config_from_status_closure) }, - { be_const_key_weak(show_qrcode, 21), be_const_closure(Matter_UI_show_qrcode_closure) }, - { be_const_key_weak(page_part_mgr_add, -1), be_const_closure(Matter_UI_page_part_mgr_add_closure) }, - { be_const_key_weak(show_plugins_configuration, -1), be_const_closure(Matter_UI_show_plugins_configuration_closure) }, - { be_const_key_weak(show_commissioning_info, -1), be_const_closure(Matter_UI_show_commissioning_info_closure) }, - { be_const_key_weak(page_part_ctl, 18), be_const_closure(Matter_UI_page_part_ctl_closure) }, - { be_const_key_weak(show_fabric_info, -1), be_const_closure(Matter_UI_show_fabric_info_closure) }, + { be_const_key_weak(page_part_mgr, 25), be_const_closure(class_Matter_UI_page_part_mgr_closure) }, + { be_const_key_weak(show_plugins_hints_js, -1), be_const_closure(class_Matter_UI_show_plugins_hints_js_closure) }, + { be_const_key_weak(show_enable, -1), be_const_closure(class_Matter_UI_show_enable_closure) }, + { be_const_key_weak(matter_enabled, 24), be_const_closure(class_Matter_UI_matter_enabled_closure) }, + { be_const_key_weak(generate_config_from_status, -1), be_const_closure(class_Matter_UI_generate_config_from_status_closure) }, + { be_const_key_weak(show_qrcode, 21), be_const_closure(class_Matter_UI_show_qrcode_closure) }, + { be_const_key_weak(page_part_mgr_add, -1), be_const_closure(class_Matter_UI_page_part_mgr_add_closure) }, + { be_const_key_weak(show_plugins_configuration, -1), be_const_closure(class_Matter_UI_show_plugins_configuration_closure) }, + { be_const_key_weak(show_commissioning_info, -1), be_const_closure(class_Matter_UI_show_commissioning_info_closure) }, + { be_const_key_weak(page_part_ctl, 18), be_const_closure(class_Matter_UI_page_part_ctl_closure) }, + { be_const_key_weak(show_fabric_info, -1), be_const_closure(class_Matter_UI_show_fabric_info_closure) }, { be_const_key_weak(_CLASSES_TYPES, 4), be_nested_str_long(_X7Crelay_X7Clight0_X7Clight1_X7Clight2_X7Clight3_X7Cshutter_X7Cshutter_X2Btilt_X7Ctemperature_X7Cpressure_X7Cilluminance_X7Chumidity_X7Coccupancy_X7Conoff_X7Ccontact_X7Cflow_X7Cwaterleak_X7C_X2Dvirtual_X7Cv_relay_X7Cv_light0_X7Cv_light1_X7Cv_light2_X7Cv_light3_X7Cv_temp_X7Cv_pressure_X7Cv_illuminance_X7Cv_humidity_X7Cv_occupancy_X7Cv_contact_X7Cv_flow_X7Cv_waterleak) }, - { be_const_key_weak(web_get_arg, -1), be_const_closure(Matter_UI_web_get_arg_closure) }, - { be_const_key_weak(plugin_option, 5), be_const_closure(Matter_UI_plugin_option_closure) }, - { be_const_key_weak(web_add_config_button, -1), be_const_closure(Matter_UI_web_add_config_button_closure) }, - { be_const_key_weak(show_passcode_form, -1), be_const_closure(Matter_UI_show_passcode_form_closure) }, - { be_const_key_weak(show_remote_autoconf, 8), be_const_closure(Matter_UI_show_remote_autoconf_closure) }, - { be_const_key_weak(web_add_handler, -1), be_const_closure(Matter_UI_web_add_handler_closure) }, - { be_const_key_weak(show_bridge_status, 23), be_const_closure(Matter_UI_show_bridge_status_closure) }, - { be_const_key_weak(plugin_name, 12), be_const_closure(Matter_UI_plugin_name_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_UI_init_closure) }, - { be_const_key_weak(web_sensor, -1), be_const_closure(Matter_UI_web_sensor_closure) }, + { be_const_key_weak(web_get_arg, -1), be_const_closure(class_Matter_UI_web_get_arg_closure) }, + { be_const_key_weak(plugin_option, 5), be_const_closure(class_Matter_UI_plugin_option_closure) }, + { be_const_key_weak(web_add_config_button, -1), be_const_closure(class_Matter_UI_web_add_config_button_closure) }, + { be_const_key_weak(show_passcode_form, -1), be_const_closure(class_Matter_UI_show_passcode_form_closure) }, + { be_const_key_weak(show_remote_autoconf, 8), be_const_closure(class_Matter_UI_show_remote_autoconf_closure) }, + { be_const_key_weak(web_add_handler, -1), be_const_closure(class_Matter_UI_web_add_handler_closure) }, + { be_const_key_weak(show_bridge_status, 23), be_const_closure(class_Matter_UI_show_bridge_status_closure) }, + { be_const_key_weak(plugin_name, 12), be_const_closure(class_Matter_UI_plugin_name_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_UI_init_closure) }, + { be_const_key_weak(web_sensor, -1), be_const_closure(class_Matter_UI_web_sensor_closure) }, { be_const_key_weak(device, -1), be_const_var(0) }, })), be_str_weak(Matter_UI) ); -/*******************************************************************/ - -void be_load_Matter_UI_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_UI); - be_setglobal(vm, "Matter_UI"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h index affd16da3..3a49183ff 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_zz_Device.h @@ -9,7 +9,8 @@ extern const bclass be_class_Matter_Device; /******************************************************************** ** Solidified function: is_commissioning_open ********************************************************************/ -be_local_closure(Matter_Device_is_commissioning_open, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_is_commissioning_open, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Matter_Device_is_commissioning_open, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(commissioning_open), @@ -38,7 +39,8 @@ be_local_closure(Matter_Device_is_commissioning_open, /* name */ /******************************************************************** ** Solidified function: MtrInfo_one ********************************************************************/ -be_local_closure(Matter_Device_MtrInfo_one, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_MtrInfo_one, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -46,7 +48,7 @@ be_local_closure(Matter_Device_MtrInfo_one, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(find_plugin_by_endpoint), @@ -88,7 +90,8 @@ be_local_closure(Matter_Device_MtrInfo_one, /* name */ /******************************************************************** ** Solidified function: event_fabrics_saved ********************************************************************/ -be_local_closure(Matter_Device_event_fabrics_saved, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_event_fabrics_saved, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -96,7 +99,7 @@ be_local_closure(Matter_Device_event_fabrics_saved, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -129,7 +132,8 @@ be_local_closure(Matter_Device_event_fabrics_saved, /* name */ /******************************************************************** ** Solidified function: start_commissioning_complete ********************************************************************/ -be_local_closure(Matter_Device_start_commissioning_complete, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_commissioning_complete, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -137,7 +141,7 @@ be_local_closure(Matter_Device_start_commissioning_complete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(get_fabric), @@ -188,7 +192,8 @@ be_local_closure(Matter_Device_start_commissioning_complete, /* name */ /******************************************************************** ** Solidified function: bridge_remove_endpoint ********************************************************************/ -be_local_closure(Matter_Device_bridge_remove_endpoint, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_bridge_remove_endpoint, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -196,7 +201,7 @@ be_local_closure(Matter_Device_bridge_remove_endpoint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -288,7 +293,8 @@ be_local_closure(Matter_Device_bridge_remove_endpoint, /* name */ /******************************************************************** ** Solidified function: mdns_remove_PASE ********************************************************************/ -be_local_closure(Matter_Device_mdns_remove_PASE, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_remove_PASE, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -296,7 +302,7 @@ be_local_closure(Matter_Device_mdns_remove_PASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ /* K0 */ be_nested_str_weak(mdns), @@ -414,7 +420,8 @@ be_local_closure(Matter_Device_mdns_remove_PASE, /* name */ /******************************************************************** ** Solidified function: _mdns_announce_hostname ********************************************************************/ -be_local_closure(Matter_Device__mdns_announce_hostname, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__mdns_announce_hostname, /* name */ be_nested_proto( 14, /* nstack */ 2, /* argc */ @@ -422,7 +429,7 @@ be_local_closure(Matter_Device__mdns_announce_hostname, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(mdns), @@ -613,7 +620,8 @@ be_local_closure(Matter_Device__mdns_announce_hostname, /* name */ /******************************************************************** ** Solidified function: conf_to_log ********************************************************************/ -be_local_closure(Matter_Device_conf_to_log, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_conf_to_log, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -621,7 +629,7 @@ be_local_closure(Matter_Device_conf_to_log, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Device), @@ -667,7 +675,8 @@ be_local_closure(Matter_Device_conf_to_log, /* name */ /******************************************************************** ** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Device_invoke_request, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_invoke_request, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -675,7 +684,7 @@ be_local_closure(Matter_Device_invoke_request, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_const_int(0), @@ -723,7 +732,8 @@ be_local_closure(Matter_Device_invoke_request, /* name */ /******************************************************************** ** Solidified function: MtrInfo ********************************************************************/ -be_local_closure(Matter_Device_MtrInfo, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_MtrInfo, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -731,7 +741,7 @@ be_local_closure(Matter_Device_MtrInfo, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(), @@ -796,7 +806,8 @@ be_local_closure(Matter_Device_MtrInfo, /* name */ /******************************************************************** ** Solidified function: get_plugin_class_displayname ********************************************************************/ -be_local_closure(Matter_Device_get_plugin_class_displayname, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_get_plugin_class_displayname, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -804,7 +815,7 @@ be_local_closure(Matter_Device_get_plugin_class_displayname, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_classes), @@ -833,7 +844,8 @@ be_local_closure(Matter_Device_get_plugin_class_displayname, /* name */ /******************************************************************** ** Solidified function: bridge_add_endpoint ********************************************************************/ -be_local_closure(Matter_Device_bridge_add_endpoint, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_bridge_add_endpoint, /* name */ be_nested_proto( 17, /* nstack */ 3, /* argc */ @@ -841,7 +853,7 @@ be_local_closure(Matter_Device_bridge_add_endpoint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_classes), @@ -948,7 +960,8 @@ be_local_closure(Matter_Device_bridge_add_endpoint, /* name */ /******************************************************************** ** Solidified function: register_http_remote ********************************************************************/ -be_local_closure(Matter_Device_register_http_remote, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_register_http_remote, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -956,7 +969,7 @@ be_local_closure(Matter_Device_register_http_remote, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(http_remotes), @@ -1022,7 +1035,8 @@ be_local_closure(Matter_Device_register_http_remote, /* name */ /******************************************************************** ** Solidified function: add_read_sensors_schedule ********************************************************************/ -be_local_closure(Matter_Device_add_read_sensors_schedule, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_add_read_sensors_schedule, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1030,7 +1044,7 @@ be_local_closure(Matter_Device_add_read_sensors_schedule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(probe_sensor_time), @@ -1064,7 +1078,8 @@ be_local_closure(Matter_Device_add_read_sensors_schedule, /* name */ /******************************************************************** ** Solidified function: msg_received ********************************************************************/ -be_local_closure(Matter_Device_msg_received, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_msg_received, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -1072,7 +1087,7 @@ be_local_closure(Matter_Device_msg_received, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(message_handler), @@ -1097,7 +1112,8 @@ be_local_closure(Matter_Device_msg_received, /* name */ /******************************************************************** ** Solidified function: compute_qrcode_content ********************************************************************/ -be_local_closure(Matter_Device_compute_qrcode_content, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_compute_qrcode_content, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1105,7 +1121,7 @@ be_local_closure(Matter_Device_compute_qrcode_content, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(resize), @@ -1173,7 +1189,8 @@ be_local_closure(Matter_Device_compute_qrcode_content, /* name */ /******************************************************************** ** Solidified function: autoconf_device_map ********************************************************************/ -be_local_closure(Matter_Device_autoconf_device_map, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_autoconf_device_map, /* name */ be_nested_proto( 20, /* nstack */ 1, /* argc */ @@ -1181,7 +1198,7 @@ be_local_closure(Matter_Device_autoconf_device_map, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[38]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -1434,7 +1451,8 @@ be_local_closure(Matter_Device_autoconf_device_map, /* name */ /******************************************************************** ** Solidified function: mdns_announce_op_discovery_all_fabrics ********************************************************************/ -be_local_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1442,7 +1460,7 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -1486,7 +1504,8 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name /******************************************************************** ** Solidified function: process_attribute_expansion ********************************************************************/ -be_local_closure(Matter_Device_process_attribute_expansion, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_process_attribute_expansion, /* name */ be_nested_proto( 16, /* nstack */ 3, /* argc */ @@ -1494,7 +1513,7 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(endpoint), @@ -1599,7 +1618,8 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */ /******************************************************************** ** Solidified function: register_commands ********************************************************************/ -be_local_closure(Matter_Device_register_commands, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_register_commands, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1607,7 +1627,7 @@ be_local_closure(Matter_Device_register_commands, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 3]) { + ( &(const struct bproto*[ 4]) { be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -1617,7 +1637,7 @@ be_local_closure(Matter_Device_register_commands, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(MtrJoin), @@ -1644,7 +1664,7 @@ be_local_closure(Matter_Device_register_commands, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(MtrUpdate), @@ -1671,7 +1691,7 @@ be_local_closure(Matter_Device_register_commands, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(MtrInfo), @@ -1689,6 +1709,7 @@ be_local_closure(Matter_Device_register_commands, /* name */ 0x80040800, // 0007 RET 1 R4 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ @@ -1727,7 +1748,8 @@ be_local_closure(Matter_Device_register_commands, /* name */ /******************************************************************** ** Solidified function: update_remotes_info ********************************************************************/ -be_local_closure(Matter_Device_update_remotes_info, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_update_remotes_info, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1735,7 +1757,7 @@ be_local_closure(Matter_Device_update_remotes_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(http_remotes), @@ -1790,7 +1812,8 @@ be_local_closure(Matter_Device_update_remotes_info, /* name */ /******************************************************************** ** Solidified function: _compute_pbkdf ********************************************************************/ -be_local_closure(Matter_Device__compute_pbkdf, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__compute_pbkdf, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -1798,7 +1821,7 @@ be_local_closure(Matter_Device__compute_pbkdf, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -1864,7 +1887,8 @@ be_local_closure(Matter_Device__compute_pbkdf, /* name */ /******************************************************************** ** Solidified function: find_plugin_by_friendly_name ********************************************************************/ -be_local_closure(Matter_Device_find_plugin_by_friendly_name, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_find_plugin_by_friendly_name, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1872,7 +1896,7 @@ be_local_closure(Matter_Device_find_plugin_by_friendly_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -1927,7 +1951,8 @@ be_local_closure(Matter_Device_find_plugin_by_friendly_name, /* name */ /******************************************************************** ** Solidified function: clean_remotes ********************************************************************/ -be_local_closure(Matter_Device_clean_remotes, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_clean_remotes, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -1935,7 +1960,7 @@ be_local_closure(Matter_Device_clean_remotes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -2050,7 +2075,8 @@ be_local_closure(Matter_Device_clean_remotes, /* name */ /******************************************************************** ** Solidified function: compute_manual_pairing_code ********************************************************************/ -be_local_closure(Matter_Device_compute_manual_pairing_code, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_compute_manual_pairing_code, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -2058,7 +2084,7 @@ be_local_closure(Matter_Device_compute_manual_pairing_code, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(root_discriminator), @@ -2110,7 +2136,8 @@ be_local_closure(Matter_Device_compute_manual_pairing_code, /* name */ /******************************************************************** ** Solidified function: autoconf_device ********************************************************************/ -be_local_closure(Matter_Device_autoconf_device, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_autoconf_device, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -2118,7 +2145,7 @@ be_local_closure(Matter_Device_autoconf_device, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -2190,7 +2217,8 @@ be_local_closure(Matter_Device_autoconf_device, /* name */ /******************************************************************** ** Solidified function: attribute_updated ********************************************************************/ -be_local_closure(Matter_Device_attribute_updated, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_attribute_updated, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -2198,7 +2226,7 @@ be_local_closure(Matter_Device_attribute_updated, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(matter), @@ -2241,7 +2269,8 @@ be_local_closure(Matter_Device_attribute_updated, /* name */ /******************************************************************** ** Solidified function: save_before_restart ********************************************************************/ -be_local_closure(Matter_Device_save_before_restart, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_save_before_restart, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2249,7 +2278,7 @@ be_local_closure(Matter_Device_save_before_restart, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(stop_basic_commissioning), @@ -2272,7 +2301,8 @@ be_local_closure(Matter_Device_save_before_restart, /* name */ /******************************************************************** ** Solidified function: is_root_commissioning_open ********************************************************************/ -be_local_closure(Matter_Device_is_root_commissioning_open, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_is_root_commissioning_open, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2280,7 +2310,7 @@ be_local_closure(Matter_Device_is_root_commissioning_open, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(commissioning_open), @@ -2309,7 +2339,8 @@ be_local_closure(Matter_Device_is_root_commissioning_open, /* name */ /******************************************************************** ** Solidified function: start_commissioning_complete_deferred ********************************************************************/ -be_local_closure(Matter_Device_start_commissioning_complete_deferred, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_commissioning_complete_deferred, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2317,7 +2348,7 @@ be_local_closure(Matter_Device_start_commissioning_complete_deferred, /* name 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -2328,7 +2359,7 @@ be_local_closure(Matter_Device_start_commissioning_complete_deferred, /* name be_local_const_upval(1, 1), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(start_commissioning_complete), @@ -2343,6 +2374,7 @@ be_local_closure(Matter_Device_start_commissioning_complete_deferred, /* name 0x80040000, // 0004 RET 1 R0 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ @@ -2369,7 +2401,8 @@ be_local_closure(Matter_Device_start_commissioning_complete_deferred, /* name /******************************************************************** ** Solidified function: adjust_next_ep ********************************************************************/ -be_local_closure(Matter_Device_adjust_next_ep, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_adjust_next_ep, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -2377,7 +2410,7 @@ be_local_closure(Matter_Device_adjust_next_ep, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_config), @@ -2419,7 +2452,8 @@ be_local_closure(Matter_Device_adjust_next_ep, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(Matter_Device_start, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2427,7 +2461,7 @@ be_local_closure(Matter_Device_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(started), @@ -2461,7 +2495,8 @@ be_local_closure(Matter_Device_start, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(Matter_Device_every_second, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_every_second, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2469,7 +2504,7 @@ be_local_closure(Matter_Device_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -2509,7 +2544,8 @@ be_local_closure(Matter_Device_every_second, /* name */ /******************************************************************** ** Solidified function: remove_fabric ********************************************************************/ -be_local_closure(Matter_Device_remove_fabric, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_remove_fabric, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -2517,7 +2553,7 @@ be_local_closure(Matter_Device_remove_fabric, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -2582,7 +2618,8 @@ be_local_closure(Matter_Device_remove_fabric, /* name */ /******************************************************************** ** Solidified function: sort_distinct ********************************************************************/ -be_local_closure(Matter_Device_sort_distinct, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_sort_distinct, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -2590,7 +2627,7 @@ be_local_closure(Matter_Device_sort_distinct, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Device), @@ -2664,7 +2701,8 @@ be_local_closure(Matter_Device_sort_distinct, /* name */ /******************************************************************** ** Solidified function: _init_basic_commissioning ********************************************************************/ -be_local_closure(Matter_Device__init_basic_commissioning, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__init_basic_commissioning, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2672,7 +2710,7 @@ be_local_closure(Matter_Device__init_basic_commissioning, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -2700,7 +2738,8 @@ be_local_closure(Matter_Device__init_basic_commissioning, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(Matter_Device_stop, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_stop, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2708,7 +2747,7 @@ be_local_closure(Matter_Device_stop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -2738,7 +2777,8 @@ be_local_closure(Matter_Device_stop, /* name */ /******************************************************************** ** Solidified function: _trigger_read_sensors ********************************************************************/ -be_local_closure(Matter_Device__trigger_read_sensors, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__trigger_read_sensors, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2746,7 +2786,7 @@ be_local_closure(Matter_Device__trigger_read_sensors, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -2825,7 +2865,8 @@ be_local_closure(Matter_Device__trigger_read_sensors, /* name */ /******************************************************************** ** Solidified function: _instantiate_plugins_from_config ********************************************************************/ -be_local_closure(Matter_Device__instantiate_plugins_from_config, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__instantiate_plugins_from_config, /* name */ be_nested_proto( 18, /* nstack */ 2, /* argc */ @@ -2833,7 +2874,7 @@ be_local_closure(Matter_Device__instantiate_plugins_from_config, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[31]) { /* constants */ /* K0 */ be_nested_str_weak(k2l_num), @@ -3034,7 +3075,8 @@ be_local_closure(Matter_Device__instantiate_plugins_from_config, /* name */ /******************************************************************** ** Solidified function: mdns_announce_op_discovery ********************************************************************/ -be_local_closure(Matter_Device_mdns_announce_op_discovery, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_announce_op_discovery, /* name */ be_nested_proto( 14, /* nstack */ 2, /* argc */ @@ -3042,7 +3084,7 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(mdns), @@ -3206,7 +3248,8 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery, /* name */ /******************************************************************** ** Solidified function: k2l ********************************************************************/ -be_local_closure(Matter_Device_k2l, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_k2l, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -3214,7 +3257,7 @@ be_local_closure(Matter_Device_k2l, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Device), @@ -3286,7 +3329,8 @@ be_local_closure(Matter_Device_k2l, /* name */ /******************************************************************** ** Solidified function: get_plugin_class_arg ********************************************************************/ -be_local_closure(Matter_Device_get_plugin_class_arg, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_get_plugin_class_arg, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3294,7 +3338,7 @@ be_local_closure(Matter_Device_get_plugin_class_arg, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_classes), @@ -3323,7 +3367,8 @@ be_local_closure(Matter_Device_get_plugin_class_arg, /* name */ /******************************************************************** ** Solidified function: stop_basic_commissioning ********************************************************************/ -be_local_closure(Matter_Device_stop_basic_commissioning, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_stop_basic_commissioning, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -3331,7 +3376,7 @@ be_local_closure(Matter_Device_stop_basic_commissioning, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(is_root_commissioning_open), @@ -3385,7 +3430,8 @@ be_local_closure(Matter_Device_stop_basic_commissioning, /* name */ /******************************************************************** ** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_Device_every_250ms, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_every_250ms, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -3393,7 +3439,7 @@ be_local_closure(Matter_Device_every_250ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(message_handler), @@ -3433,7 +3479,8 @@ be_local_closure(Matter_Device_every_250ms, /* name */ /******************************************************************** ** Solidified function: _start_udp ********************************************************************/ -be_local_closure(Matter_Device__start_udp, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device__start_udp, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3441,7 +3488,7 @@ be_local_closure(Matter_Device__start_udp, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -3451,7 +3498,7 @@ be_local_closure(Matter_Device__start_udp, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(msg_received), @@ -3468,6 +3515,7 @@ be_local_closure(Matter_Device__start_udp, /* name */ 0x80040600, // 0006 RET 1 R3 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ @@ -3521,7 +3569,8 @@ be_local_closure(Matter_Device__start_udp, /* name */ /******************************************************************** ** Solidified function: k2l_num ********************************************************************/ -be_local_closure(Matter_Device_k2l_num, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_k2l_num, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -3529,7 +3578,7 @@ be_local_closure(Matter_Device_k2l_num, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Device), @@ -3603,7 +3652,8 @@ be_local_closure(Matter_Device_k2l_num, /* name */ /******************************************************************** ** Solidified function: get_active_endpoints ********************************************************************/ -be_local_closure(Matter_Device_get_active_endpoints, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_get_active_endpoints, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -3611,7 +3661,7 @@ be_local_closure(Matter_Device_get_active_endpoints, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(plugins), @@ -3661,7 +3711,8 @@ be_local_closure(Matter_Device_get_active_endpoints, /* name */ /******************************************************************** ** Solidified function: check_config_ep ********************************************************************/ -be_local_closure(Matter_Device_check_config_ep, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_check_config_ep, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -3669,7 +3720,7 @@ be_local_closure(Matter_Device_check_config_ep, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_config), @@ -3779,7 +3830,8 @@ be_local_closure(Matter_Device_check_config_ep, /* name */ /******************************************************************** ** Solidified function: msg_send ********************************************************************/ -be_local_closure(Matter_Device_msg_send, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_msg_send, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3787,7 +3839,7 @@ be_local_closure(Matter_Device_msg_send, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(udp_server), @@ -3810,7 +3862,8 @@ be_local_closure(Matter_Device_msg_send, /* name */ /******************************************************************** ** Solidified function: autoconf_sensors_list ********************************************************************/ -be_local_closure(Matter_Device_autoconf_sensors_list, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_autoconf_sensors_list, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -3818,7 +3871,7 @@ be_local_closure(Matter_Device_autoconf_sensors_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(k2l), @@ -3971,7 +4024,8 @@ be_local_closure(Matter_Device_autoconf_sensors_list, /* name */ /******************************************************************** ** Solidified function: find_plugin_by_endpoint ********************************************************************/ -be_local_closure(Matter_Device_find_plugin_by_endpoint, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_find_plugin_by_endpoint, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -3979,7 +4033,7 @@ be_local_closure(Matter_Device_find_plugin_by_endpoint, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -4016,7 +4070,8 @@ be_local_closure(Matter_Device_find_plugin_by_endpoint, /* name */ /******************************************************************** ** Solidified function: start_root_basic_commissioning ********************************************************************/ -be_local_closure(Matter_Device_start_root_basic_commissioning, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_root_basic_commissioning, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -4024,7 +4079,7 @@ be_local_closure(Matter_Device_start_root_basic_commissioning, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(PASE_TIMEOUT), @@ -4098,7 +4153,8 @@ be_local_closure(Matter_Device_start_root_basic_commissioning, /* name */ /******************************************************************** ** Solidified function: process_attribute_read_solo ********************************************************************/ -be_local_closure(Matter_Device_process_attribute_read_solo, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_process_attribute_read_solo, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -4106,7 +4162,7 @@ be_local_closure(Matter_Device_process_attribute_read_solo, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(endpoint), @@ -4178,7 +4234,8 @@ be_local_closure(Matter_Device_process_attribute_read_solo, /* name */ /******************************************************************** ** Solidified function: start_operational_discovery ********************************************************************/ -be_local_closure(Matter_Device_start_operational_discovery, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_operational_discovery, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4186,7 +4243,7 @@ be_local_closure(Matter_Device_start_operational_discovery, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -4220,7 +4277,8 @@ be_local_closure(Matter_Device_start_operational_discovery, /* name */ /******************************************************************** ** Solidified function: load_param ********************************************************************/ -be_local_closure(Matter_Device_load_param, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_load_param, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -4228,7 +4286,7 @@ be_local_closure(Matter_Device_load_param, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[36]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -4410,7 +4468,8 @@ be_local_closure(Matter_Device_load_param, /* name */ /******************************************************************** ** Solidified function: MtrUpdate ********************************************************************/ -be_local_closure(Matter_Device_MtrUpdate, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_MtrUpdate, /* name */ be_nested_proto( 18, /* nstack */ 5, /* argc */ @@ -4418,7 +4477,7 @@ be_local_closure(Matter_Device_MtrUpdate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -4585,7 +4644,8 @@ be_local_closure(Matter_Device_MtrUpdate, /* name */ /******************************************************************** ** Solidified function: start_basic_commissioning ********************************************************************/ -be_local_closure(Matter_Device_start_basic_commissioning, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_basic_commissioning, /* name */ be_nested_proto( 13, /* nstack */ 8, /* argc */ @@ -4593,7 +4653,7 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 4, /* nstack */ 0, /* argc */ @@ -4603,7 +4663,7 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(mdns_announce_PASE), @@ -4634,7 +4694,7 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(mdns_announce_PASE), @@ -4656,6 +4716,7 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */ 0x80000000, // 0008 RET 0 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ @@ -4728,7 +4789,8 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */ /******************************************************************** ** Solidified function: received_ack ********************************************************************/ -be_local_closure(Matter_Device_received_ack, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_received_ack, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -4736,7 +4798,7 @@ be_local_closure(Matter_Device_received_ack, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(udp_server), @@ -4759,7 +4821,8 @@ be_local_closure(Matter_Device_received_ack, /* name */ /******************************************************************** ** Solidified function: mdns_remove_op_discovery ********************************************************************/ -be_local_closure(Matter_Device_mdns_remove_op_discovery, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_remove_op_discovery, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -4767,7 +4830,7 @@ be_local_closure(Matter_Device_mdns_remove_op_discovery, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ /* K0 */ be_nested_str_weak(mdns), @@ -4886,7 +4949,8 @@ be_local_closure(Matter_Device_mdns_remove_op_discovery, /* name */ /******************************************************************** ** Solidified function: read_sensors_scheduler ********************************************************************/ -be_local_closure(Matter_Device_read_sensors_scheduler, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_read_sensors_scheduler, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -4894,7 +4958,7 @@ be_local_closure(Matter_Device_read_sensors_scheduler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(probe_sensor_time), @@ -4938,7 +5002,8 @@ be_local_closure(Matter_Device_read_sensors_scheduler, /* name */ /******************************************************************** ** Solidified function: start_operational_discovery_deferred ********************************************************************/ -be_local_closure(Matter_Device_start_operational_discovery_deferred, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_operational_discovery_deferred, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -4946,7 +5011,7 @@ be_local_closure(Matter_Device_start_operational_discovery_deferred, /* name * 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -4957,7 +5022,7 @@ be_local_closure(Matter_Device_start_operational_discovery_deferred, /* name * be_local_const_upval(1, 1), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(start_operational_discovery), @@ -4972,6 +5037,7 @@ be_local_closure(Matter_Device_start_operational_discovery_deferred, /* name * 0x80040000, // 0004 RET 1 R0 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ @@ -4998,7 +5064,8 @@ be_local_closure(Matter_Device_start_operational_discovery_deferred, /* name * /******************************************************************** ** Solidified function: generate_random_passcode ********************************************************************/ -be_local_closure(Matter_Device_generate_random_passcode, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_generate_random_passcode, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -5006,7 +5073,7 @@ be_local_closure(Matter_Device_generate_random_passcode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -5065,7 +5132,8 @@ be_local_closure(Matter_Device_generate_random_passcode, /* name */ /******************************************************************** ** Solidified function: MtrJoin ********************************************************************/ -be_local_closure(Matter_Device_MtrJoin, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_MtrJoin, /* name */ be_nested_proto( 8, /* nstack */ 5, /* argc */ @@ -5073,7 +5141,7 @@ be_local_closure(Matter_Device_MtrJoin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(start_root_basic_commissioning), @@ -5106,7 +5174,8 @@ be_local_closure(Matter_Device_MtrJoin, /* name */ /******************************************************************** ** Solidified function: save_param ********************************************************************/ -be_local_closure(Matter_Device_save_param, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_save_param, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -5114,7 +5183,7 @@ be_local_closure(Matter_Device_save_param, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -5242,7 +5311,8 @@ be_local_closure(Matter_Device_save_param, /* name */ /******************************************************************** ** Solidified function: mdns_remove_op_discovery_all_fabrics ********************************************************************/ -be_local_closure(Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -5250,7 +5320,7 @@ be_local_closure(Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name * 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(sessions), @@ -5294,7 +5364,8 @@ be_local_closure(Matter_Device_mdns_remove_op_discovery_all_fabrics, /* name * /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Device_init, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_init, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -5302,7 +5373,7 @@ be_local_closure(Matter_Device_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 4, /* nstack */ 0, /* argc */ @@ -5312,7 +5383,7 @@ be_local_closure(Matter_Device_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(start), @@ -5344,7 +5415,7 @@ be_local_closure(Matter_Device_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(start), @@ -5367,6 +5438,7 @@ be_local_closure(Matter_Device_init, /* name */ 0x80000000, // 0008 RET 0 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[44]) { /* constants */ @@ -5534,7 +5606,8 @@ be_local_closure(Matter_Device_init, /* name */ /******************************************************************** ** Solidified function: start_mdns_announce_hostnames ********************************************************************/ -be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_start_mdns_announce_hostnames, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -5542,7 +5615,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 4, /* nstack */ 0, /* argc */ @@ -5552,7 +5625,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_mdns_announce_hostname), @@ -5585,7 +5658,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_mdns_announce_hostname), @@ -5609,6 +5682,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ 0x80000000, // 0009 RET 0 }) ), + &be_class_Matter_Device, }), 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ @@ -5666,7 +5740,8 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */ /******************************************************************** ** Solidified function: signal_endpoints_changed ********************************************************************/ -be_local_closure(Matter_Device_signal_endpoints_changed, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_signal_endpoints_changed, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -5674,7 +5749,7 @@ be_local_closure(Matter_Device_signal_endpoints_changed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_updated), @@ -5709,7 +5784,8 @@ be_local_closure(Matter_Device_signal_endpoints_changed, /* name */ /******************************************************************** ** Solidified function: mdns_announce_PASE ********************************************************************/ -be_local_closure(Matter_Device_mdns_announce_PASE, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_mdns_announce_PASE, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -5717,7 +5793,7 @@ be_local_closure(Matter_Device_mdns_announce_PASE, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[41]) { /* constants */ /* K0 */ be_nested_str_weak(mdns), @@ -6010,7 +6086,8 @@ be_local_closure(Matter_Device_mdns_announce_PASE, /* name */ /******************************************************************** ** Solidified function: get_plugin_remote_info ********************************************************************/ -be_local_closure(Matter_Device_get_plugin_remote_info, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_get_plugin_remote_info, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -6018,7 +6095,7 @@ be_local_closure(Matter_Device_get_plugin_remote_info, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(plugins_config_remotes), @@ -6043,7 +6120,8 @@ be_local_closure(Matter_Device_get_plugin_remote_info, /* name */ /******************************************************************** ** Solidified function: every_50ms ********************************************************************/ -be_local_closure(Matter_Device_every_50ms, /* name */ +extern const bclass be_class_Matter_Device; +be_local_closure(class_Matter_Device_every_50ms, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -6051,7 +6129,7 @@ be_local_closure(Matter_Device_every_50ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Matter_Device, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tick), @@ -6080,80 +6158,80 @@ be_local_class(Matter_Device, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(udp_server, -1), be_const_var(5) }, { be_const_key_weak(next_ep, 108), be_const_var(31) }, - { be_const_key_weak(is_commissioning_open, -1), be_const_closure(Matter_Device_is_commissioning_open_closure) }, - { be_const_key_weak(MtrInfo_one, -1), be_const_closure(Matter_Device_MtrInfo_one_closure) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Device_invoke_request_closure) }, - { be_const_key_weak(start_commissioning_complete, 4), be_const_closure(Matter_Device_start_commissioning_complete_closure) }, - { be_const_key_weak(bridge_remove_endpoint, 23), be_const_closure(Matter_Device_bridge_remove_endpoint_closure) }, - { be_const_key_weak(get_plugin_remote_info, -1), be_const_closure(Matter_Device_get_plugin_remote_info_closure) }, + { be_const_key_weak(is_commissioning_open, -1), be_const_closure(class_Matter_Device_is_commissioning_open_closure) }, + { be_const_key_weak(MtrInfo_one, -1), be_const_closure(class_Matter_Device_MtrInfo_one_closure) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(class_Matter_Device_invoke_request_closure) }, + { be_const_key_weak(start_commissioning_complete, 4), be_const_closure(class_Matter_Device_start_commissioning_complete_closure) }, + { be_const_key_weak(bridge_remove_endpoint, 23), be_const_closure(class_Matter_Device_bridge_remove_endpoint_closure) }, + { be_const_key_weak(get_plugin_remote_info, -1), be_const_closure(class_Matter_Device_get_plugin_remote_info_closure) }, { be_const_key_weak(probe_sensor_time, 43), be_const_var(36) }, { be_const_key_weak(vendorid, -1), be_const_var(22) }, { be_const_key_weak(UDP_PORT, -1), be_const_int(5540) }, { be_const_key_weak(commissioning_instance_eth, -1), be_const_var(19) }, - { be_const_key_weak(MtrInfo, 17), be_const_closure(Matter_Device_MtrInfo_closure) }, - { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(Matter_Device_mdns_announce_PASE_closure) }, + { be_const_key_weak(MtrInfo, 17), be_const_closure(class_Matter_Device_MtrInfo_closure) }, + { be_const_key_weak(mdns_announce_PASE, -1), be_const_closure(class_Matter_Device_mdns_announce_PASE_closure) }, { be_const_key_weak(productid, 44), be_const_var(23) }, - { be_const_key_weak(bridge_add_endpoint, 20), be_const_closure(Matter_Device_bridge_add_endpoint_closure) }, - { be_const_key_weak(register_http_remote, -1), be_const_closure(Matter_Device_register_http_remote_closure) }, - { be_const_key_weak(signal_endpoints_changed, -1), be_const_closure(Matter_Device_signal_endpoints_changed_closure) }, + { be_const_key_weak(bridge_add_endpoint, 20), be_const_closure(class_Matter_Device_bridge_add_endpoint_closure) }, + { be_const_key_weak(register_http_remote, -1), be_const_closure(class_Matter_Device_register_http_remote_closure) }, + { be_const_key_weak(signal_endpoints_changed, -1), be_const_closure(class_Matter_Device_signal_endpoints_changed_closure) }, { be_const_key_weak(disable_bridge_mode, -1), be_const_var(30) }, - { be_const_key_weak(get_plugin_class_displayname, 89), be_const_closure(Matter_Device_get_plugin_class_displayname_closure) }, - { be_const_key_weak(start_mdns_announce_hostnames, 69), be_const_closure(Matter_Device_start_mdns_announce_hostnames_closure) }, + { be_const_key_weak(get_plugin_class_displayname, 89), be_const_closure(class_Matter_Device_get_plugin_class_displayname_closure) }, + { be_const_key_weak(start_mdns_announce_hostnames, 69), be_const_closure(class_Matter_Device_start_mdns_announce_hostnames_closure) }, { be_const_key_weak(commissioning_instance_wifi, 114), be_const_var(18) }, - { be_const_key_weak(autoconf_device_map, -1), be_const_closure(Matter_Device_autoconf_device_map_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Device_init_closure) }, - { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 8), be_const_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(autoconf_device_map, -1), be_const_closure(class_Matter_Device_autoconf_device_map_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_Matter_Device_init_closure) }, + { be_const_key_weak(mdns_announce_op_discovery_all_fabrics, 8), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_all_fabrics_closure) }, { be_const_key_weak(sessions, 98), be_const_var(8) }, - { be_const_key_weak(_mdns_announce_hostname, 55), be_const_closure(Matter_Device__mdns_announce_hostname_closure) }, + { be_const_key_weak(_mdns_announce_hostname, 55), be_const_closure(class_Matter_Device__mdns_announce_hostname_closure) }, { be_const_key_weak(commissioning_discriminator, -1), be_const_var(13) }, - { be_const_key_weak(register_commands, 100), be_const_closure(Matter_Device_register_commands_closure) }, - { be_const_key_weak(start, 109), be_const_closure(Matter_Device_start_closure) }, - { be_const_key_weak(_compute_pbkdf, -1), be_const_closure(Matter_Device__compute_pbkdf_closure) }, - { be_const_key_weak(find_plugin_by_friendly_name, 95), be_const_closure(Matter_Device_find_plugin_by_friendly_name_closure) }, - { be_const_key_weak(save_param, -1), be_const_closure(Matter_Device_save_param_closure) }, - { be_const_key_weak(clean_remotes, -1), be_const_closure(Matter_Device_clean_remotes_closure) }, - { be_const_key_weak(MtrJoin, 58), be_const_closure(Matter_Device_MtrJoin_closure) }, - { be_const_key_weak(autoconf_device, -1), be_const_closure(Matter_Device_autoconf_device_closure) }, + { be_const_key_weak(register_commands, 100), be_const_closure(class_Matter_Device_register_commands_closure) }, + { be_const_key_weak(start, 109), be_const_closure(class_Matter_Device_start_closure) }, + { be_const_key_weak(_compute_pbkdf, -1), be_const_closure(class_Matter_Device__compute_pbkdf_closure) }, + { be_const_key_weak(find_plugin_by_friendly_name, 95), be_const_closure(class_Matter_Device_find_plugin_by_friendly_name_closure) }, + { be_const_key_weak(save_param, -1), be_const_closure(class_Matter_Device_save_param_closure) }, + { be_const_key_weak(clean_remotes, -1), be_const_closure(class_Matter_Device_clean_remotes_closure) }, + { be_const_key_weak(MtrJoin, 58), be_const_closure(class_Matter_Device_MtrJoin_closure) }, + { be_const_key_weak(autoconf_device, -1), be_const_closure(class_Matter_Device_autoconf_device_closure) }, { be_const_key_weak(hostname_wifi, 68), be_const_var(20) }, - { be_const_key_weak(_trigger_read_sensors, -1), be_const_closure(Matter_Device__trigger_read_sensors_closure) }, + { be_const_key_weak(_trigger_read_sensors, -1), be_const_closure(class_Matter_Device__trigger_read_sensors_closure) }, { be_const_key_weak(root_passcode, 63), be_const_var(28) }, - { be_const_key_weak(save_before_restart, -1), be_const_closure(Matter_Device_save_before_restart_closure) }, - { be_const_key_weak(generate_random_passcode, 64), be_const_closure(Matter_Device_generate_random_passcode_closure) }, - { be_const_key_weak(is_root_commissioning_open, 90), be_const_closure(Matter_Device_is_root_commissioning_open_closure) }, - { be_const_key_weak(start_commissioning_complete_deferred, -1), be_const_closure(Matter_Device_start_commissioning_complete_deferred_closure) }, + { be_const_key_weak(save_before_restart, -1), be_const_closure(class_Matter_Device_save_before_restart_closure) }, + { be_const_key_weak(generate_random_passcode, 64), be_const_closure(class_Matter_Device_generate_random_passcode_closure) }, + { be_const_key_weak(is_root_commissioning_open, 90), be_const_closure(class_Matter_Device_is_root_commissioning_open_closure) }, + { be_const_key_weak(start_commissioning_complete_deferred, -1), be_const_closure(class_Matter_Device_start_commissioning_complete_deferred_closure) }, { be_const_key_weak(root_iterations, -1), be_const_var(32) }, - { be_const_key_weak(start_operational_discovery_deferred, -1), be_const_closure(Matter_Device_start_operational_discovery_deferred_closure) }, + { be_const_key_weak(start_operational_discovery_deferred, -1), be_const_closure(class_Matter_Device_start_operational_discovery_deferred_closure) }, { be_const_key_weak(probe_sensor_timestamp, -1), be_const_var(37) }, { be_const_key_weak(ipv4only, 34), be_const_var(29) }, - { be_const_key_weak(mdns_remove_PASE, 29), be_const_closure(Matter_Device_mdns_remove_PASE_closure) }, + { be_const_key_weak(mdns_remove_PASE, 29), be_const_closure(class_Matter_Device_mdns_remove_PASE_closure) }, { be_const_key_weak(plugins_config_remotes, 103), be_const_var(4) }, - { be_const_key_weak(remove_fabric, -1), be_const_closure(Matter_Device_remove_fabric_closure) }, - { be_const_key_weak(sort_distinct, -1), be_const_static_closure(Matter_Device_sort_distinct_closure) }, + { be_const_key_weak(remove_fabric, -1), be_const_closure(class_Matter_Device_remove_fabric_closure) }, + { be_const_key_weak(sort_distinct, -1), be_const_static_closure(class_Matter_Device_sort_distinct_closure) }, { be_const_key_weak(commissioning_iterations, -1), be_const_var(12) }, { be_const_key_weak(plugins_config, 40), be_const_var(3) }, - { be_const_key_weak(_init_basic_commissioning, 37), be_const_closure(Matter_Device__init_basic_commissioning_closure) }, + { be_const_key_weak(_init_basic_commissioning, 37), be_const_closure(class_Matter_Device__init_basic_commissioning_closure) }, { be_const_key_weak(plugins_persist, -1), be_const_var(2) }, { be_const_key_weak(hostname_eth, -1), be_const_var(21) }, - { be_const_key_weak(mdns_remove_op_discovery, 77), be_const_closure(Matter_Device_mdns_remove_op_discovery_closure) }, - { be_const_key_weak(received_ack, 76), be_const_closure(Matter_Device_received_ack_closure) }, + { be_const_key_weak(mdns_remove_op_discovery, 77), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_closure) }, + { be_const_key_weak(received_ack, 76), be_const_closure(class_Matter_Device_received_ack_closure) }, { be_const_key_weak(PASE_TIMEOUT, 27), be_const_int(600) }, - { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(Matter_Device__instantiate_plugins_from_config_closure) }, + { be_const_key_weak(_instantiate_plugins_from_config, -1), be_const_closure(class_Matter_Device__instantiate_plugins_from_config_closure) }, { be_const_key_weak(mdns_pase_eth, -1), be_const_var(24) }, { be_const_key_weak(mdns_pase_wifi, -1), be_const_var(25) }, { be_const_key_weak(commissioning_salt, -1), be_const_var(14) }, - { be_const_key_weak(start_basic_commissioning, 94), be_const_closure(Matter_Device_start_basic_commissioning_closure) }, + { be_const_key_weak(start_basic_commissioning, 94), be_const_closure(class_Matter_Device_start_basic_commissioning_closure) }, { be_const_key_weak(commissioning_L, -1), be_const_var(16) }, { be_const_key_weak(message_handler, 36), be_const_var(7) }, - { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(Matter_Device_get_plugin_class_arg_closure) }, - { be_const_key_weak(process_attribute_expansion, 54), be_const_closure(Matter_Device_process_attribute_expansion_closure) }, - { be_const_key_weak(k2l, -1), be_const_static_closure(Matter_Device_k2l_closure) }, - { be_const_key_weak(compute_manual_pairing_code, -1), be_const_closure(Matter_Device_compute_manual_pairing_code_closure) }, + { be_const_key_weak(get_plugin_class_arg, -1), be_const_closure(class_Matter_Device_get_plugin_class_arg_closure) }, + { be_const_key_weak(process_attribute_expansion, 54), be_const_closure(class_Matter_Device_process_attribute_expansion_closure) }, + { be_const_key_weak(k2l, -1), be_const_static_closure(class_Matter_Device_k2l_closure) }, + { be_const_key_weak(compute_manual_pairing_code, -1), be_const_closure(class_Matter_Device_compute_manual_pairing_code_closure) }, { be_const_key_weak(root_discriminator, 93), be_const_var(27) }, - { be_const_key_weak(_start_udp, -1), be_const_closure(Matter_Device__start_udp_closure) }, - { be_const_key_weak(k2l_num, -1), be_const_static_closure(Matter_Device_k2l_num_closure) }, + { be_const_key_weak(_start_udp, -1), be_const_closure(class_Matter_Device__start_udp_closure) }, + { be_const_key_weak(k2l_num, -1), be_const_static_closure(class_Matter_Device_k2l_num_closure) }, { be_const_key_weak(commissioning_open, -1), be_const_var(11) }, - { be_const_key_weak(add_read_sensors_schedule, 91), be_const_closure(Matter_Device_add_read_sensors_schedule_closure) }, - { be_const_key_weak(check_config_ep, -1), be_const_closure(Matter_Device_check_config_ep_closure) }, + { be_const_key_weak(add_read_sensors_schedule, 91), be_const_closure(class_Matter_Device_add_read_sensors_schedule_closure) }, + { be_const_key_weak(check_config_ep, -1), be_const_closure(class_Matter_Device_check_config_ep_closure) }, { be_const_key_weak(PASSCODE_INVALID, 107), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { @@ -6171,40 +6249,40 @@ be_local_class(Matter_Device, be_const_int(87654321), })) ) } )) }, { be_const_key_weak(started, -1), be_const_var(0) }, - { be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(Matter_Device_autoconf_sensors_list_closure) }, - { be_const_key_weak(find_plugin_by_endpoint, -1), be_const_closure(Matter_Device_find_plugin_by_endpoint_closure) }, - { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(Matter_Device_start_root_basic_commissioning_closure) }, + { be_const_key_weak(autoconf_sensors_list, -1), be_const_closure(class_Matter_Device_autoconf_sensors_list_closure) }, + { be_const_key_weak(find_plugin_by_endpoint, -1), be_const_closure(class_Matter_Device_find_plugin_by_endpoint_closure) }, + { be_const_key_weak(start_root_basic_commissioning, -1), be_const_closure(class_Matter_Device_start_root_basic_commissioning_closure) }, { be_const_key_weak(plugins, -1), be_const_var(1) }, - { be_const_key_weak(event_fabrics_saved, 88), be_const_closure(Matter_Device_event_fabrics_saved_closure) }, + { be_const_key_weak(event_fabrics_saved, 88), be_const_closure(class_Matter_Device_event_fabrics_saved_closure) }, { be_const_key_weak(commissioning_w0, 73), be_const_var(15) }, - { be_const_key_weak(compute_qrcode_content, 57), be_const_closure(Matter_Device_compute_qrcode_content_closure) }, - { be_const_key_weak(conf_to_log, 56), be_const_static_closure(Matter_Device_conf_to_log_closure) }, - { be_const_key_weak(start_operational_discovery, -1), be_const_closure(Matter_Device_start_operational_discovery_closure) }, - { be_const_key_weak(load_param, -1), be_const_closure(Matter_Device_load_param_closure) }, - { be_const_key_weak(process_attribute_read_solo, -1), be_const_closure(Matter_Device_process_attribute_read_solo_closure) }, - { be_const_key_weak(msg_received, -1), be_const_closure(Matter_Device_msg_received_closure) }, + { be_const_key_weak(compute_qrcode_content, 57), be_const_closure(class_Matter_Device_compute_qrcode_content_closure) }, + { be_const_key_weak(conf_to_log, 56), be_const_static_closure(class_Matter_Device_conf_to_log_closure) }, + { be_const_key_weak(start_operational_discovery, -1), be_const_closure(class_Matter_Device_start_operational_discovery_closure) }, + { be_const_key_weak(load_param, -1), be_const_closure(class_Matter_Device_load_param_closure) }, + { be_const_key_weak(process_attribute_read_solo, -1), be_const_closure(class_Matter_Device_process_attribute_read_solo_closure) }, + { be_const_key_weak(msg_received, -1), be_const_closure(class_Matter_Device_msg_received_closure) }, { be_const_key_weak(root_w0, -1), be_const_var(34) }, - { be_const_key_weak(get_active_endpoints, -1), be_const_closure(Matter_Device_get_active_endpoints_closure) }, + { be_const_key_weak(get_active_endpoints, -1), be_const_closure(class_Matter_Device_get_active_endpoints_closure) }, { be_const_key_weak(FILENAME, -1), be_nested_str_weak(_matter_device_X2Ejson) }, { be_const_key_weak(PBKDF_ITERATIONS, -1), be_const_int(1000) }, - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Device_every_250ms_closure) }, - { be_const_key_weak(attribute_updated, -1), be_const_closure(Matter_Device_attribute_updated_closure) }, - { be_const_key_weak(read_sensors_scheduler, -1), be_const_closure(Matter_Device_read_sensors_scheduler_closure) }, - { be_const_key_weak(MtrUpdate, 45), be_const_closure(Matter_Device_MtrUpdate_closure) }, - { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(Matter_Device_mdns_announce_op_discovery_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(class_Matter_Device_every_250ms_closure) }, + { be_const_key_weak(attribute_updated, -1), be_const_closure(class_Matter_Device_attribute_updated_closure) }, + { be_const_key_weak(read_sensors_scheduler, -1), be_const_closure(class_Matter_Device_read_sensors_scheduler_closure) }, + { be_const_key_weak(MtrUpdate, 45), be_const_closure(class_Matter_Device_MtrUpdate_closure) }, + { be_const_key_weak(mdns_announce_op_discovery, -1), be_const_closure(class_Matter_Device_mdns_announce_op_discovery_closure) }, { be_const_key_weak(http_remotes, -1), be_const_var(26) }, { be_const_key_weak(VENDOR_ID, -1), be_const_int(65521) }, { be_const_key_weak(root_salt, -1), be_const_var(33) }, { be_const_key_weak(PRODUCT_ID, -1), be_const_int(32768) }, - { be_const_key_weak(every_second, -1), be_const_closure(Matter_Device_every_second_closure) }, - { be_const_key_weak(update_remotes_info, 32), be_const_closure(Matter_Device_update_remotes_info_closure) }, - { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, -1), be_const_closure(Matter_Device_mdns_remove_op_discovery_all_fabrics_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_Matter_Device_every_second_closure) }, + { be_const_key_weak(update_remotes_info, 32), be_const_closure(class_Matter_Device_update_remotes_info_closure) }, + { be_const_key_weak(mdns_remove_op_discovery_all_fabrics, -1), be_const_closure(class_Matter_Device_mdns_remove_op_discovery_all_fabrics_closure) }, { be_const_key_weak(profiler, -1), be_const_var(6) }, { be_const_key_weak(root_L, 102), be_const_var(35) }, - { be_const_key_weak(adjust_next_ep, -1), be_const_closure(Matter_Device_adjust_next_ep_closure) }, + { be_const_key_weak(adjust_next_ep, -1), be_const_closure(class_Matter_Device_adjust_next_ep_closure) }, { be_const_key_weak(ui, -1), be_const_var(9) }, - { be_const_key_weak(stop, 14), be_const_closure(Matter_Device_stop_closure) }, - { be_const_key_weak(stop_basic_commissioning, 13), be_const_closure(Matter_Device_stop_basic_commissioning_closure) }, + { be_const_key_weak(stop, 14), be_const_closure(class_Matter_Device_stop_closure) }, + { be_const_key_weak(stop_basic_commissioning, 13), be_const_closure(class_Matter_Device_stop_basic_commissioning_closure) }, { be_const_key_weak(plugins_classes, 10), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(44, ( (struct bmapnode*) &(const bmapnode[]) { @@ -6255,17 +6333,10 @@ be_local_class(Matter_Device, })) ) } )) }, { be_const_key_weak(tick, 9), be_const_var(10) }, { be_const_key_weak(commissioning_admin_fabric, -1), be_const_var(17) }, - { be_const_key_weak(msg_send, 7), be_const_closure(Matter_Device_msg_send_closure) }, - { be_const_key_weak(every_50ms, -1), be_const_closure(Matter_Device_every_50ms_closure) }, + { be_const_key_weak(msg_send, 7), be_const_closure(class_Matter_Device_msg_send_closure) }, + { be_const_key_weak(every_50ms, -1), be_const_closure(class_Matter_Device_every_50ms_closure) }, })), be_str_weak(Matter_Device) ); -/*******************************************************************/ - -void be_load_Matter_Device_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Matter_Device); - be_setglobal(vm, "Matter_Device"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/solidify_all.be b/lib/libesp32/berry_tasmota/solidify_all.be index 1a5ffe678..c15d0c4fa 100755 --- a/lib/libesp32/berry_tasmota/solidify_all.be +++ b/lib/libesp32/berry_tasmota/solidify_all.be @@ -80,6 +80,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32/berry_tasmota/src/be_energylib.c b/lib/libesp32/berry_tasmota/src/be_energylib.c index 984af678b..b21259058 100644 --- a/lib/libesp32/berry_tasmota/src/be_energylib.c +++ b/lib/libesp32/berry_tasmota/src/be_energylib.c @@ -10,7 +10,7 @@ #ifdef USE_ENERGY_SENSOR extern struct ENERGY Energy; -extern int energy_update_total(bvm *vm); +extern int module_energy_update_total(bvm *vm); #include "solidify/solidified_energy.h" #include "be_fixed_energy.h" @@ -18,15 +18,15 @@ extern int energy_update_total(bvm *vm); /* @const_object_info_begin module energy (scope: global) { - init, closure(energy_init_closure) + init, closure(module_energy_init_closure) _ptr, comptr(&Energy) - _deref, closure(energy__deref_closure) + _deref, closure(module_energy__deref_closure) - read, closure(energy_read_closure) - member, closure(energy_member_closure) - setmember, closure(energy_setmember_closure) + read, closure(module_energy_read_closure) + member, closure(module_energy_member_closure) + setmember, closure(module_energy_setmember_closure) - update_total, func(energy_update_total) + update_total, func(module_energy_update_total) } @const_object_info_end */ diff --git a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c index 3ca0b4bf7..951a6eb24 100644 --- a/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_lv_tasmota_lib.c @@ -22,13 +22,13 @@ extern int lv0_load_freetype_font(bvm *vm); /* @const_object_info_begin module lv_tasmota (scope: global, strings: weak) { - init, closure(lv_tasmota_init_closure) + init, closure(module_lv_tasmota_init_closure) _constants, func(lv0_constants_as_hash) start, func(lv0_start) - splash, closure(lv_tasmota_splash_closure) - splash_init, closure(lv_tasmota_splash_init_closure) - splash_remove, closure(lv_tasmota_splash_remove_closure) + splash, closure(module_lv_tasmota_splash_closure) + splash_init, closure(module_lv_tasmota_splash_init_closure) + splash_remove, closure(module_lv_tasmota_splash_remove_closure) font_montserrat, func(lv0_load_montserrat_font) montserrat_font, func(lv0_load_montserrat_font) diff --git a/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c b/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c index 5ab61d2bd..f2c7a20ea 100644 --- a/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_tasmota_lib.c @@ -102,7 +102,7 @@ class be_class_tasmota (scope: global, name: Tasmota) { _global_addr, comptr(&TasmotaGlobal) _settings_ptr, comptr(&Settings) - init, closure(Tasmota_init_closure) + init, closure(class_Tasmota_init_closure) get_free_heap, func(l_getFreeHeap) arch, func(l_arch) @@ -155,51 +155,51 @@ class be_class_tasmota (scope: global, name: Tasmota) { i2c_enabled, func(l_i2cenabled) version, ctype_func(be_Tasmota_version) - fast_loop, closure(Tasmota_fast_loop_closure) - add_fast_loop, closure(Tasmota_add_fast_loop_closure) - remove_fast_loop, closure(Tasmota_remove_fast_loop_closure) - cmd, closure(Tasmota_cmd_closure) + fast_loop, closure(class_Tasmota_fast_loop_closure) + add_fast_loop, closure(class_Tasmota_add_fast_loop_closure) + remove_fast_loop, closure(class_Tasmota_remove_fast_loop_closure) + cmd, closure(class_Tasmota_cmd_closure) _find_op, func(tasm_find_op) // new C version for finding a rule operator _apply_str_op, func(tasm_apply_str_op) - find_key_i, closure(Tasmota_find_key_i_closure) - find_list_i, closure(Tasmota_find_list_i_closure) - find_op, closure(Tasmota_find_op_closure) - add_rule, closure(Tasmota_add_rule_closure) - remove_rule, closure(Tasmota_remove_rule_closure) - try_rule, closure(Tasmota_try_rule_closure) - exec_rules, closure(Tasmota_exec_rules_closure) - exec_tele, closure(Tasmota_exec_tele_closure) - set_timer, closure(Tasmota_set_timer_closure) - run_deferred, closure(Tasmota_run_deferred_closure) - remove_timer, closure(Tasmota_remove_timer_closure) - add_cmd, closure(Tasmota_add_cmd_closure) - remove_cmd, closure(Tasmota_remove_cmd_closure) - exec_cmd, closure(Tasmota_exec_cmd_closure) - gc, closure(Tasmota_gc_closure) - event, closure(Tasmota_event_closure) - add_driver, closure(Tasmota_add_driver_closure) - remove_driver, closure(Tasmota_remove_driver_closure) - load, closure(Tasmota_load_closure) - compile, closure(Tasmota_compile_closure) - wire_scan, closure(Tasmota_wire_scan_closure) - time_str, closure(Tasmota_time_str_closure) - urlfetch, closure(Tasmota_urlfetch_closure) - urlfetch_cmd, closure(Tasmota_urlfetch_cmd_closure) + find_key_i, closure(class_Tasmota_find_key_i_closure) + find_list_i, closure(class_Tasmota_find_list_i_closure) + find_op, closure(class_Tasmota_find_op_closure) + add_rule, closure(class_Tasmota_add_rule_closure) + remove_rule, closure(class_Tasmota_remove_rule_closure) + try_rule, closure(class_Tasmota_try_rule_closure) + exec_rules, closure(class_Tasmota_exec_rules_closure) + exec_tele, closure(class_Tasmota_exec_tele_closure) + set_timer, closure(class_Tasmota_set_timer_closure) + run_deferred, closure(class_Tasmota_run_deferred_closure) + remove_timer, closure(class_Tasmota_remove_timer_closure) + add_cmd, closure(class_Tasmota_add_cmd_closure) + remove_cmd, closure(class_Tasmota_remove_cmd_closure) + exec_cmd, closure(class_Tasmota_exec_cmd_closure) + gc, closure(class_Tasmota_gc_closure) + event, closure(class_Tasmota_event_closure) + add_driver, closure(class_Tasmota_add_driver_closure) + remove_driver, closure(class_Tasmota_remove_driver_closure) + load, closure(class_Tasmota_load_closure) + compile, closure(class_Tasmota_compile_closure) + wire_scan, closure(class_Tasmota_wire_scan_closure) + time_str, closure(class_Tasmota_time_str_closure) + urlfetch, closure(class_Tasmota_urlfetch_closure) + urlfetch_cmd, closure(class_Tasmota_urlfetch_cmd_closure) urlbecload, static_ctype_func(BerryBECLoader) - add_cron, closure(Tasmota_add_cron_closure) - run_cron, closure(Tasmota_run_cron_closure) - next_cron, closure(Tasmota_next_cron_closure) - remove_cron, closure(Tasmota_remove_cron_closure) + add_cron, closure(class_Tasmota_add_cron_closure) + run_cron, closure(class_Tasmota_run_cron_closure) + next_cron, closure(class_Tasmota_next_cron_closure) + remove_cron, closure(class_Tasmota_remove_cron_closure) - check_not_method, closure(Tasmota_check_not_method_closure) + check_not_method, closure(class_Tasmota_check_not_method_closure) - hs2rgb, closure(Tasmota_hs2rgb_closure) + hs2rgb, closure(class_Tasmota_hs2rgb_closure) - gen_cb, closure(Tasmota_gen_cb_closure) + gen_cb, closure(class_Tasmota_gen_cb_closure) - get_light, closure(Tasmota_get_light_closure) - set_light, closure(Tasmota_set_light_closure) + get_light, closure(class_Tasmota_get_light_closure) + set_light, closure(class_Tasmota_set_light_closure) Rule_Matcher, class(be_class_Rule_Matcher) } diff --git a/lib/libesp32/berry_tasmota/src/be_wire_lib.c b/lib/libesp32/berry_tasmota/src/be_wire_lib.c index 5ae1344e6..158570cb7 100644 --- a/lib/libesp32/berry_tasmota/src/be_wire_lib.c +++ b/lib/libesp32/berry_tasmota/src/be_wire_lib.c @@ -46,8 +46,8 @@ class be_class_Wire (scope: global, name: Wire) { detect, func(b_wire_detect) enabled, func(b_wire_enabled) - read_bytes, closure(Wire_read_bytes_closure) - write_bytes, closure(Wire_write_bytes_closure) + read_bytes, closure(class_Wire_read_bytes_closure) + write_bytes, closure(class_Wire_write_bytes_closure) } @const_object_info_end */ diff --git a/lib/libesp32/berry_tasmota/src/be_zigbee.c b/lib/libesp32/berry_tasmota/src/be_zigbee.c index 9e10229b8..22c67301a 100644 --- a/lib/libesp32/berry_tasmota/src/be_zigbee.c +++ b/lib/libesp32/berry_tasmota/src/be_zigbee.c @@ -98,7 +98,7 @@ class be_class_zb_device (scope: global, name: zb_device, strings: weak) { member, func(zd_member) - tostring, closure(zb_device_tostring_closure) + tostring, closure(class_zb_device_tostring_closure) } @const_object_info_end */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_Wire.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_Wire.h index 4c5579d85..36aa24169 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_Wire.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_Wire.h @@ -7,7 +7,8 @@ /******************************************************************** ** Solidified function: read_bytes ********************************************************************/ -be_local_closure(Wire_read_bytes, /* name */ +extern const bclass be_class_Wire; +be_local_closure(class_Wire_read_bytes, /* name */ be_nested_proto( 8, /* nstack */ 4, /* argc */ @@ -15,7 +16,7 @@ be_local_closure(Wire_read_bytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Wire, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(_begin_transmission), @@ -61,7 +62,8 @@ be_local_closure(Wire_read_bytes, /* name */ /******************************************************************** ** Solidified function: write_bytes ********************************************************************/ -be_local_closure(Wire_write_bytes, /* name */ +extern const bclass be_class_Wire; +be_local_closure(class_Wire_write_bytes, /* name */ be_nested_proto( 7, /* nstack */ 4, /* argc */ @@ -69,7 +71,7 @@ be_local_closure(Wire_write_bytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Wire, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_begin_transmission), diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_autoconf_module.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_autoconf_module.h index c37329631..a814e12c7 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_autoconf_module.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_autoconf_module.h @@ -9,7 +9,8 @@ extern const bclass be_class_Autoconf; /******************************************************************** ** Solidified function: page_autoconf_ctl ********************************************************************/ -be_local_closure(Autoconf_page_autoconf_ctl, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_page_autoconf_ctl, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Autoconf_page_autoconf_ctl, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[39]) { /* constants */ /* K0 */ be_nested_str(webserver), @@ -188,7 +189,8 @@ be_local_closure(Autoconf_page_autoconf_ctl, /* name */ /******************************************************************** ** Solidified function: autoexec ********************************************************************/ -be_local_closure(Autoconf_autoexec, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_autoexec, /* name */ be_nested_proto( 13, /* nstack */ 1, /* argc */ @@ -196,7 +198,7 @@ be_local_closure(Autoconf_autoexec, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ /* K0 */ be_nested_str(_archive), @@ -389,7 +391,8 @@ be_local_closure(Autoconf_autoexec, /* name */ /******************************************************************** ** Solidified function: run_bat ********************************************************************/ -be_local_closure(Autoconf_run_bat, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_run_bat, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -397,7 +400,7 @@ be_local_closure(Autoconf_run_bat, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str(r), @@ -492,7 +495,8 @@ be_local_closure(Autoconf_run_bat, /* name */ /******************************************************************** ** Solidified function: page_autoconf_mgr ********************************************************************/ -be_local_closure(Autoconf_page_autoconf_mgr, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_page_autoconf_mgr, /* name */ be_nested_proto( 18, /* nstack */ 1, /* argc */ @@ -500,7 +504,7 @@ be_local_closure(Autoconf_page_autoconf_mgr, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[38]) { /* constants */ /* K0 */ be_nested_str(webserver), @@ -678,7 +682,8 @@ be_local_closure(Autoconf_page_autoconf_mgr, /* name */ /******************************************************************** ** Solidified function: get_current_module_name ********************************************************************/ -be_local_closure(Autoconf_get_current_module_name, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_get_current_module_name, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -686,7 +691,7 @@ be_local_closure(Autoconf_get_current_module_name, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_archive), @@ -709,7 +714,8 @@ be_local_closure(Autoconf_get_current_module_name, /* name */ /******************************************************************** ** Solidified function: delete_all_configs ********************************************************************/ -be_local_closure(Autoconf_delete_all_configs, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_delete_all_configs, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -717,7 +723,7 @@ be_local_closure(Autoconf_delete_all_configs, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(path), @@ -767,7 +773,8 @@ be_local_closure(Autoconf_delete_all_configs, /* name */ /******************************************************************** ** Solidified function: set_first_time ********************************************************************/ -be_local_closure(Autoconf_set_first_time, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_set_first_time, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -775,7 +782,7 @@ be_local_closure(Autoconf_set_first_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_X2F_X2Eautoconf), @@ -801,7 +808,8 @@ be_local_closure(Autoconf_set_first_time, /* name */ /******************************************************************** ** Solidified function: load_templates ********************************************************************/ -be_local_closure(Autoconf_load_templates, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_load_templates, /* name */ be_nested_proto( 13, /* nstack */ 1, /* argc */ @@ -809,7 +817,7 @@ be_local_closure(Autoconf_load_templates, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str(json), @@ -929,7 +937,8 @@ be_local_closure(Autoconf_load_templates, /* name */ /******************************************************************** ** Solidified function: web_add_config_button ********************************************************************/ -be_local_closure(Autoconf_web_add_config_button, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_web_add_config_button, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -937,7 +946,7 @@ be_local_closure(Autoconf_web_add_config_button, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(webserver), @@ -961,7 +970,8 @@ be_local_closure(Autoconf_web_add_config_button, /* name */ /******************************************************************** ** Solidified function: is_first_time ********************************************************************/ -be_local_closure(Autoconf_is_first_time, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_is_first_time, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -969,7 +979,7 @@ be_local_closure(Autoconf_is_first_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(path), @@ -996,7 +1006,8 @@ be_local_closure(Autoconf_is_first_time, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Autoconf_init, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_init, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -1004,7 +1015,7 @@ be_local_closure(Autoconf_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str(path), @@ -1090,7 +1101,8 @@ be_local_closure(Autoconf_init, /* name */ /******************************************************************** ** Solidified function: preinit ********************************************************************/ -be_local_closure(Autoconf_preinit, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_preinit, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1098,7 +1110,7 @@ be_local_closure(Autoconf_preinit, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str(_archive), @@ -1150,7 +1162,8 @@ be_local_closure(Autoconf_preinit, /* name */ /******************************************************************** ** Solidified function: reset ********************************************************************/ -be_local_closure(Autoconf_reset, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_reset, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -1158,7 +1171,7 @@ be_local_closure(Autoconf_reset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(path), @@ -1221,7 +1234,8 @@ be_local_closure(Autoconf_reset, /* name */ /******************************************************************** ** Solidified function: web_add_handler ********************************************************************/ -be_local_closure(Autoconf_web_add_handler, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_web_add_handler, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1229,7 +1243,7 @@ be_local_closure(Autoconf_web_add_handler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -1239,7 +1253,7 @@ be_local_closure(Autoconf_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(page_autoconf_mgr), @@ -1262,7 +1276,7 @@ be_local_closure(Autoconf_web_add_handler, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(page_autoconf_ctl), @@ -1276,6 +1290,7 @@ be_local_closure(Autoconf_web_add_handler, /* name */ 0x80040000, // 0003 RET 1 R0 }) ), + &be_class_Autoconf, }), 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ @@ -1310,7 +1325,8 @@ be_local_closure(Autoconf_web_add_handler, /* name */ /******************************************************************** ** Solidified function: clear_first_time ********************************************************************/ -be_local_closure(Autoconf_clear_first_time, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_clear_first_time, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1318,7 +1334,7 @@ be_local_closure(Autoconf_clear_first_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(path), @@ -1342,7 +1358,8 @@ be_local_closure(Autoconf_clear_first_time, /* name */ /******************************************************************** ** Solidified function: get_current_module_path ********************************************************************/ -be_local_closure(Autoconf_get_current_module_path, /* name */ +extern const bclass be_class_Autoconf; +be_local_closure(class_Autoconf_get_current_module_path, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1350,7 +1367,7 @@ be_local_closure(Autoconf_get_current_module_path, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Autoconf, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(_archive), @@ -1374,24 +1391,24 @@ be_local_class(Autoconf, NULL, be_nested_map(18, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(page_autoconf_ctl, -1), be_const_closure(Autoconf_page_autoconf_ctl_closure) }, - { be_const_key(autoexec, -1), be_const_closure(Autoconf_autoexec_closure) }, - { be_const_key(run_bat, 17), be_const_closure(Autoconf_run_bat_closure) }, - { be_const_key(page_autoconf_mgr, -1), be_const_closure(Autoconf_page_autoconf_mgr_closure) }, - { be_const_key(get_current_module_path, 13), be_const_closure(Autoconf_get_current_module_path_closure) }, - { be_const_key(preinit, -1), be_const_closure(Autoconf_preinit_closure) }, - { be_const_key(clear_first_time, -1), be_const_closure(Autoconf_clear_first_time_closure) }, - { be_const_key(load_templates, -1), be_const_closure(Autoconf_load_templates_closure) }, + { be_const_key(page_autoconf_ctl, -1), be_const_closure(class_Autoconf_page_autoconf_ctl_closure) }, + { be_const_key(autoexec, -1), be_const_closure(class_Autoconf_autoexec_closure) }, + { be_const_key(run_bat, 17), be_const_closure(class_Autoconf_run_bat_closure) }, + { be_const_key(page_autoconf_mgr, -1), be_const_closure(class_Autoconf_page_autoconf_mgr_closure) }, + { be_const_key(get_current_module_path, 13), be_const_closure(class_Autoconf_get_current_module_path_closure) }, + { be_const_key(preinit, -1), be_const_closure(class_Autoconf_preinit_closure) }, + { be_const_key(clear_first_time, -1), be_const_closure(class_Autoconf_clear_first_time_closure) }, + { be_const_key(load_templates, -1), be_const_closure(class_Autoconf_load_templates_closure) }, { be_const_key(_archive, -1), be_const_var(0) }, - { be_const_key(web_add_config_button, -1), be_const_closure(Autoconf_web_add_config_button_closure) }, - { be_const_key(is_first_time, -1), be_const_closure(Autoconf_is_first_time_closure) }, - { be_const_key(web_add_handler, -1), be_const_closure(Autoconf_web_add_handler_closure) }, - { be_const_key(delete_all_configs, 4), be_const_closure(Autoconf_delete_all_configs_closure) }, - { be_const_key(reset, 5), be_const_closure(Autoconf_reset_closure) }, - { be_const_key(get_current_module_name, 11), be_const_closure(Autoconf_get_current_module_name_closure) }, - { be_const_key(init, 6), be_const_closure(Autoconf_init_closure) }, + { be_const_key(web_add_config_button, -1), be_const_closure(class_Autoconf_web_add_config_button_closure) }, + { be_const_key(is_first_time, -1), be_const_closure(class_Autoconf_is_first_time_closure) }, + { be_const_key(web_add_handler, -1), be_const_closure(class_Autoconf_web_add_handler_closure) }, + { be_const_key(delete_all_configs, 4), be_const_closure(class_Autoconf_delete_all_configs_closure) }, + { be_const_key(reset, 5), be_const_closure(class_Autoconf_reset_closure) }, + { be_const_key(get_current_module_name, 11), be_const_closure(class_Autoconf_get_current_module_name_closure) }, + { be_const_key(init, 6), be_const_closure(class_Autoconf_init_closure) }, { be_const_key(_error, -1), be_const_var(1) }, - { be_const_key(set_first_time, -1), be_const_closure(Autoconf_set_first_time_closure) }, + { be_const_key(set_first_time, -1), be_const_closure(class_Autoconf_set_first_time_closure) }, })), (bstring*) &be_const_str_Autoconf ); @@ -1399,7 +1416,7 @@ be_local_class(Autoconf, /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(autoconf__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1407,7 +1424,7 @@ be_local_closure(autoconf__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_Autoconf), @@ -1433,7 +1450,7 @@ be_local_module(autoconf, "autoconf", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(autoconf__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(autoconf); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_pbkdf2_hmac_sha256.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_pbkdf2_hmac_sha256.h index 365a97a07..5a3d208c4 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_pbkdf2_hmac_sha256.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_pbkdf2_hmac_sha256.h @@ -15,7 +15,7 @@ be_local_closure(_f, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -23,7 +23,7 @@ be_local_closure(_f, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(size), @@ -54,6 +54,7 @@ be_local_closure(_f, /* name */ 0x80000000, // 0012 RET 0 }) ), + NULL, }), 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ @@ -125,7 +126,7 @@ be_local_closure(PBKDF2_HMAC_SHA256, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(string), diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_spake2p_matter.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_spake2p_matter.h index ea49d8ed8..b4c27d263 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_spake2p_matter.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_crypto_spake2p_matter.h @@ -9,7 +9,8 @@ extern const bclass be_class_SPAKE2P_Matter; /******************************************************************** ** Solidified function: compute_pB ********************************************************************/ -be_local_closure(SPAKE2P_Matter_compute_pB, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_compute_pB, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(SPAKE2P_Matter_compute_pB, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -68,7 +69,8 @@ extern const bclass be_class_SPAKE_Hasher; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(SPAKE_Hasher_init, /* name */ +extern const bclass be_class_SPAKE_Hasher; +be_local_closure(class_SPAKE_Hasher_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -76,7 +78,7 @@ be_local_closure(SPAKE_Hasher_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE_Hasher, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -100,7 +102,8 @@ be_local_closure(SPAKE_Hasher_init, /* name */ /******************************************************************** ** Solidified function: add_item ********************************************************************/ -be_local_closure(SPAKE_Hasher_add_item, /* name */ +extern const bclass be_class_SPAKE_Hasher; +be_local_closure(class_SPAKE_Hasher_add_item, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -108,7 +111,7 @@ be_local_closure(SPAKE_Hasher_add_item, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE_Hasher, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(size), @@ -150,7 +153,8 @@ be_local_closure(SPAKE_Hasher_add_item, /* name */ /******************************************************************** ** Solidified function: out ********************************************************************/ -be_local_closure(SPAKE_Hasher_out, /* name */ +extern const bclass be_class_SPAKE_Hasher; +be_local_closure(class_SPAKE_Hasher_out, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -158,7 +162,7 @@ be_local_closure(SPAKE_Hasher_out, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE_Hasher, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(hash), @@ -185,10 +189,10 @@ be_local_class(SPAKE_Hasher, NULL, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(out, -1), be_const_closure(SPAKE_Hasher_out_closure) }, + { be_const_key_weak(out, -1), be_const_closure(class_SPAKE_Hasher_out_closure) }, { be_const_key_weak(hash, -1), be_const_var(0) }, - { be_const_key_weak(add_item, -1), be_const_closure(SPAKE_Hasher_add_item_closure) }, - { be_const_key_weak(init, 0), be_const_closure(SPAKE_Hasher_init_closure) }, + { be_const_key_weak(add_item, -1), be_const_closure(class_SPAKE_Hasher_add_item_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_SPAKE_Hasher_init_closure) }, })), be_str_weak(SPAKE_Hasher) ); @@ -196,7 +200,8 @@ be_local_class(SPAKE_Hasher, /******************************************************************** ** Solidified function: compute_TT_hash ********************************************************************/ -be_local_closure(SPAKE2P_Matter_compute_TT_hash, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_compute_TT_hash, /* name */ be_nested_proto( 14, /* nstack */ 2, /* argc */ @@ -204,7 +209,7 @@ be_local_closure(SPAKE2P_Matter_compute_TT_hash, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[29]) { /* constants */ /* K0 */ be_const_class(be_class_SPAKE_Hasher), @@ -364,7 +369,8 @@ be_local_closure(SPAKE2P_Matter_compute_TT_hash, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(SPAKE2P_Matter_init, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_init, /* name */ be_nested_proto( 7, /* nstack */ 4, /* argc */ @@ -372,7 +378,7 @@ be_local_closure(SPAKE2P_Matter_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(M), @@ -412,7 +418,8 @@ be_local_closure(SPAKE2P_Matter_init, /* name */ /******************************************************************** ** Solidified function: compute_pA ********************************************************************/ -be_local_closure(SPAKE2P_Matter_compute_pA, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_compute_pA, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -420,7 +427,7 @@ be_local_closure(SPAKE2P_Matter_compute_pA, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -469,7 +476,8 @@ be_local_closure(SPAKE2P_Matter_compute_pA, /* name */ /******************************************************************** ** Solidified function: set_context ********************************************************************/ -be_local_closure(SPAKE2P_Matter_set_context, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_set_context, /* name */ be_nested_proto( 5, /* nstack */ 4, /* argc */ @@ -477,7 +485,7 @@ be_local_closure(SPAKE2P_Matter_set_context, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(Context), @@ -512,7 +520,8 @@ be_local_closure(SPAKE2P_Matter_set_context, /* name */ /******************************************************************** ** Solidified function: compute_ZV_verifier ********************************************************************/ -be_local_closure(SPAKE2P_Matter_compute_ZV_verifier, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_compute_ZV_verifier, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -520,7 +529,7 @@ be_local_closure(SPAKE2P_Matter_compute_ZV_verifier, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -575,7 +584,8 @@ be_local_closure(SPAKE2P_Matter_compute_ZV_verifier, /* name */ /******************************************************************** ** Solidified function: compute_ZV_prover ********************************************************************/ -be_local_closure(SPAKE2P_Matter_compute_ZV_prover, /* name */ +extern const bclass be_class_SPAKE2P_Matter; +be_local_closure(class_SPAKE2P_Matter_compute_ZV_prover, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -583,7 +593,7 @@ be_local_closure(SPAKE2P_Matter_compute_ZV_prover, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_SPAKE2P_Matter, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(crypto), @@ -643,11 +653,11 @@ be_local_class(SPAKE2P_Matter, NULL, be_nested_map(32, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(compute_ZV_prover, 21), be_const_closure(SPAKE2P_Matter_compute_ZV_prover_closure) }, + { be_const_key_weak(compute_ZV_prover, 21), be_const_closure(class_SPAKE2P_Matter_compute_ZV_prover_closure) }, { be_const_key_weak(cA, -1), be_const_var(14) }, { be_const_key_weak(CRYPTO_W_SIZE_BYTES, -1), be_const_int(40) }, { be_const_key_weak(Kmain, 14), be_const_var(9) }, - { be_const_key_weak(compute_pB, -1), be_const_closure(SPAKE2P_Matter_compute_pB_closure) }, + { be_const_key_weak(compute_pB, -1), be_const_closure(class_SPAKE2P_Matter_compute_pB_closure) }, { be_const_key_weak(B, 31), be_const_var(17) }, { be_const_key_weak(K_shared, -1), be_const_var(12) }, { be_const_key_weak(x, -1), be_const_var(7) }, @@ -658,14 +668,14 @@ be_local_class(SPAKE2P_Matter, { be_const_key_weak(A, -1), be_const_var(16) }, { be_const_key_weak(Z, 4), be_const_var(5) }, { be_const_key_weak(spake_M_hex, -1), be_nested_str_weak(04886e2f97ace46e55ba9dd7242579f2993b64e16ef3dcab95afd497333d8fa12f5ff355163e43ce224e0b0e65ff02ac8e5c7be09419c785e0ca547d55a12e2d20) }, - { be_const_key_weak(compute_ZV_verifier, -1), be_const_closure(SPAKE2P_Matter_compute_ZV_verifier_closure) }, - { be_const_key_weak(compute_TT_hash, 0), be_const_closure(SPAKE2P_Matter_compute_TT_hash_closure) }, + { be_const_key_weak(compute_ZV_verifier, -1), be_const_closure(class_SPAKE2P_Matter_compute_ZV_verifier_closure) }, + { be_const_key_weak(compute_TT_hash, 0), be_const_closure(class_SPAKE2P_Matter_compute_TT_hash_closure) }, { be_const_key_weak(N, -1), be_const_var(20) }, { be_const_key_weak(w0, -1), be_const_var(0) }, - { be_const_key_weak(init, -1), be_const_closure(SPAKE2P_Matter_init_closure) }, - { be_const_key_weak(compute_pA, 25), be_const_closure(SPAKE2P_Matter_compute_pA_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_SPAKE2P_Matter_init_closure) }, + { be_const_key_weak(compute_pA, 25), be_const_closure(class_SPAKE2P_Matter_compute_pA_closure) }, { be_const_key_weak(cB, -1), be_const_var(15) }, - { be_const_key_weak(set_context, -1), be_const_closure(SPAKE2P_Matter_set_context_closure) }, + { be_const_key_weak(set_context, -1), be_const_closure(class_SPAKE2P_Matter_set_context_closure) }, { be_const_key_weak(pB, 22), be_const_var(4) }, { be_const_key_weak(M, -1), be_const_var(19) }, { be_const_key_weak(y, -1), be_const_var(8) }, @@ -678,12 +688,5 @@ be_local_class(SPAKE2P_Matter, })), be_str_weak(SPAKE2P_Matter) ); -/*******************************************************************/ - -void be_load_SPAKE2P_Matter_class(bvm *vm) { - be_pushntvclass(vm, &be_class_SPAKE2P_Matter); - be_setglobal(vm, "SPAKE2P_Matter"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_driver_class.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_driver_class.h index d67d02248..3572e477e 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_driver_class.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_driver_class.h @@ -9,7 +9,8 @@ extern const bclass be_class_Driver; /******************************************************************** ** Solidified function: add_cmd ********************************************************************/ -be_local_closure(Driver_add_cmd, /* name */ +extern const bclass be_class_Driver; +be_local_closure(class_Driver_add_cmd, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Driver_add_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -28,7 +29,7 @@ be_local_closure(Driver_add_cmd, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str__X3Clambda_X3E, @@ -44,6 +45,7 @@ be_local_closure(Driver_add_cmd, /* name */ 0x80040800, // 0007 RET 1 R4 }) ), + &be_class_Driver, }), 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ @@ -78,7 +80,7 @@ be_local_class(Driver, { be_const_key(web_add_main_button, -1), be_const_var(4) }, { be_const_key(web_add_handler, 10), be_const_var(2) }, { be_const_key(save_before_restart, 5), be_const_var(8) }, - { be_const_key(add_cmd, -1), be_const_closure(Driver_add_cmd_closure) }, + { be_const_key(add_cmd, -1), be_const_closure(class_Driver_add_cmd_closure) }, { be_const_key(web_add_button, -1), be_const_var(3) }, { be_const_key(web_add_management_button, -1), be_const_var(5) }, { be_const_key(display, -1), be_const_var(13) }, @@ -92,12 +94,5 @@ be_local_class(Driver, })), (bstring*) &be_const_str_Driver ); -/*******************************************************************/ - -void be_load_Driver_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Driver); - be_setglobal(vm, "Driver"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_dyn.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_dyn.h index ee7c762ca..be718732c 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_dyn.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_dyn.h @@ -9,7 +9,8 @@ extern const bclass be_class_dyn; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(dyn_tostring, /* name */ +extern const bclass be_class_dyn; +be_local_closure(class_dyn_tostring, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(dyn_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_dyn, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_attr), @@ -39,7 +40,8 @@ be_local_closure(dyn_tostring, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(dyn_member, /* name */ +extern const bclass be_class_dyn; +be_local_closure(class_dyn_member, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -47,7 +49,7 @@ be_local_closure(dyn_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_dyn, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_attr), @@ -78,7 +80,8 @@ be_local_closure(dyn_member, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(dyn_setmember, /* name */ +extern const bclass be_class_dyn; +be_local_closure(class_dyn_setmember, /* name */ be_nested_proto( 4, /* nstack */ 3, /* argc */ @@ -86,7 +89,7 @@ be_local_closure(dyn_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_dyn, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(_attr), @@ -106,7 +109,8 @@ be_local_closure(dyn_setmember, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(dyn_init, /* name */ +extern const bclass be_class_dyn; +be_local_closure(class_dyn_init, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -114,7 +118,7 @@ be_local_closure(dyn_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_dyn, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(_attr), @@ -140,20 +144,13 @@ be_local_class(dyn, NULL, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(tostring, 2), be_const_closure(dyn_tostring_closure) }, - { be_const_key(member, 3), be_const_closure(dyn_member_closure) }, - { be_const_key(init, 4), be_const_closure(dyn_init_closure) }, - { be_const_key(setmember, -1), be_const_closure(dyn_setmember_closure) }, + { be_const_key(tostring, 2), be_const_closure(class_dyn_tostring_closure) }, + { be_const_key(member, 3), be_const_closure(class_dyn_member_closure) }, + { be_const_key(init, 4), be_const_closure(class_dyn_init_closure) }, + { be_const_key(setmember, -1), be_const_closure(class_dyn_setmember_closure) }, { be_const_key(_attr, -1), be_const_var(0) }, })), (bstring*) &be_const_str_dyn ); -/*******************************************************************/ - -void be_load_dyn_class(bvm *vm) { - be_pushntvclass(vm, &be_class_dyn); - be_setglobal(vm, "dyn"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_energy.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_energy.h index 08a6022cd..8fe87503b 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_energy.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_energy.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(energy_init, /* name */ +be_local_closure(module_energy_init, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(energy_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(global), @@ -37,7 +37,7 @@ be_local_closure(energy_init, /* name */ /******************************************************************** ** Solidified function: _deref ********************************************************************/ -be_local_closure(energy__deref, /* name */ +be_local_closure(module_energy__deref, /* name */ be_nested_proto( 7, /* nstack */ 0, /* argc */ @@ -45,7 +45,7 @@ be_local_closure(energy__deref, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(global), @@ -95,7 +95,7 @@ be_local_closure(energy__deref, /* name */ /******************************************************************** ** Solidified function: read ********************************************************************/ -be_local_closure(energy_read, /* name */ +be_local_closure(module_energy_read, /* name */ be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -103,7 +103,7 @@ be_local_closure(energy_read, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(energy), @@ -135,7 +135,7 @@ be_local_closure(energy_read, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(energy_member, /* name */ +be_local_closure(module_energy_member, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -143,7 +143,7 @@ be_local_closure(energy_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(energy), @@ -173,7 +173,7 @@ be_local_closure(energy_member, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(energy_setmember, /* name */ +be_local_closure(module_energy_setmember, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -181,7 +181,7 @@ be_local_closure(energy_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(energy), diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_hue_bridge.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_hue_bridge.h index 1b026afda..75166567d 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_hue_bridge.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_hue_bridge.h @@ -9,7 +9,8 @@ extern const bclass be_class_hue_bridge_monad; /******************************************************************** ** Solidified function: full_status ********************************************************************/ -be_local_closure(hue_bridge_monad_full_status, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_full_status, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(hue_bridge_monad_full_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(hue_ntv), @@ -58,7 +59,8 @@ be_local_closure(hue_bridge_monad_full_status, /* name */ /******************************************************************** ** Solidified function: hue_status ********************************************************************/ -be_local_closure(hue_bridge_monad_hue_status, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_hue_status, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -66,7 +68,7 @@ be_local_closure(hue_bridge_monad_hue_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(hue_ntv), @@ -100,7 +102,8 @@ be_local_closure(hue_bridge_monad_hue_status, /* name */ /******************************************************************** ** Solidified function: add_light ********************************************************************/ -be_local_closure(hue_bridge_monad_add_light, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_add_light, /* name */ be_nested_proto( 10, /* nstack */ 6, /* argc */ @@ -108,7 +111,7 @@ be_local_closure(hue_bridge_monad_add_light, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str(int), @@ -181,7 +184,8 @@ be_local_closure(hue_bridge_monad_add_light, /* name */ /******************************************************************** ** Solidified function: remove_light ********************************************************************/ -be_local_closure(hue_bridge_monad_remove_light, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_remove_light, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -189,7 +193,7 @@ be_local_closure(hue_bridge_monad_remove_light, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(lights), @@ -212,7 +216,8 @@ be_local_closure(hue_bridge_monad_remove_light, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(hue_bridge_monad_init, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_init, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -220,7 +225,7 @@ be_local_closure(hue_bridge_monad_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(lights), @@ -241,7 +246,8 @@ be_local_closure(hue_bridge_monad_init, /* name */ /******************************************************************** ** Solidified function: discover ********************************************************************/ -be_local_closure(hue_bridge_monad_discover, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_discover, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -249,7 +255,7 @@ be_local_closure(hue_bridge_monad_discover, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(hue_ntv), @@ -316,7 +322,8 @@ be_local_closure(hue_bridge_monad_discover, /* name */ /******************************************************************** ** Solidified function: light_to_id ********************************************************************/ -be_local_closure(hue_bridge_monad_light_to_id, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_light_to_id, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -324,7 +331,7 @@ be_local_closure(hue_bridge_monad_light_to_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(lights), @@ -364,7 +371,8 @@ be_local_closure(hue_bridge_monad_light_to_id, /* name */ /******************************************************************** ** Solidified function: cmd ********************************************************************/ -be_local_closure(hue_bridge_monad_cmd, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_cmd, /* name */ be_nested_proto( 18, /* nstack */ 3, /* argc */ @@ -372,7 +380,7 @@ be_local_closure(hue_bridge_monad_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[31]) { /* constants */ /* K0 */ be_nested_str(json), @@ -586,7 +594,8 @@ be_local_closure(hue_bridge_monad_cmd, /* name */ /******************************************************************** ** Solidified function: groups ********************************************************************/ -be_local_closure(hue_bridge_monad_groups, /* name */ +extern const bclass be_class_hue_bridge_monad; +be_local_closure(class_hue_bridge_monad_groups, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -594,7 +603,7 @@ be_local_closure(hue_bridge_monad_groups, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_hue_bridge_monad, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(lights), @@ -655,15 +664,15 @@ be_local_class(hue_bridge_monad, be_nested_map(10, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(lights, -1), be_const_var(0) }, - { be_const_key(groups, 6), be_const_closure(hue_bridge_monad_groups_closure) }, - { be_const_key(hue_status, -1), be_const_closure(hue_bridge_monad_hue_status_closure) }, - { be_const_key(add_light, -1), be_const_closure(hue_bridge_monad_add_light_closure) }, - { be_const_key(remove_light, 8), be_const_closure(hue_bridge_monad_remove_light_closure) }, - { be_const_key(init, -1), be_const_closure(hue_bridge_monad_init_closure) }, - { be_const_key(cmd, -1), be_const_closure(hue_bridge_monad_cmd_closure) }, - { be_const_key(light_to_id, -1), be_const_closure(hue_bridge_monad_light_to_id_closure) }, - { be_const_key(discover, -1), be_const_closure(hue_bridge_monad_discover_closure) }, - { be_const_key(full_status, 1), be_const_closure(hue_bridge_monad_full_status_closure) }, + { be_const_key(groups, 6), be_const_closure(class_hue_bridge_monad_groups_closure) }, + { be_const_key(hue_status, -1), be_const_closure(class_hue_bridge_monad_hue_status_closure) }, + { be_const_key(add_light, -1), be_const_closure(class_hue_bridge_monad_add_light_closure) }, + { be_const_key(remove_light, 8), be_const_closure(class_hue_bridge_monad_remove_light_closure) }, + { be_const_key(init, -1), be_const_closure(class_hue_bridge_monad_init_closure) }, + { be_const_key(cmd, -1), be_const_closure(class_hue_bridge_monad_cmd_closure) }, + { be_const_key(light_to_id, -1), be_const_closure(class_hue_bridge_monad_light_to_id_closure) }, + { be_const_key(discover, -1), be_const_closure(class_hue_bridge_monad_discover_closure) }, + { be_const_key(full_status, 1), be_const_closure(class_hue_bridge_monad_full_status_closure) }, })), (bstring*) &be_const_str_hue_bridge_monad ); @@ -671,7 +680,7 @@ be_local_class(hue_bridge_monad, /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(hue_bridge__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -679,7 +688,7 @@ be_local_closure(hue_bridge__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_hue_bridge_monad), @@ -705,7 +714,7 @@ be_local_module(hue_bridge, "hue_bridge", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(hue_bridge__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(hue_bridge); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp192.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp192.h index a3be29b1a..696a4aa77 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp192.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp192.h @@ -9,7 +9,8 @@ extern const bclass be_class_AXP192; /******************************************************************** ** Solidified function: set_dcdc_enable ********************************************************************/ -be_local_closure(AXP192_set_dcdc_enable, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_dcdc_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(AXP192_set_dcdc_enable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(1), @@ -60,7 +61,8 @@ be_local_closure(AXP192_set_dcdc_enable, /* name */ /******************************************************************** ** Solidified function: get_bat_power ********************************************************************/ -be_local_closure(AXP192_get_bat_power, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_bat_power, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -68,7 +70,7 @@ be_local_closure(AXP192_get_bat_power, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read24), @@ -91,7 +93,8 @@ be_local_closure(AXP192_get_bat_power, /* name */ /******************************************************************** ** Solidified function: get_bat_voltage ********************************************************************/ -be_local_closure(AXP192_get_bat_voltage, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_bat_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -99,7 +102,7 @@ be_local_closure(AXP192_get_bat_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -122,7 +125,8 @@ be_local_closure(AXP192_get_bat_voltage, /* name */ /******************************************************************** ** Solidified function: get_vbus_current ********************************************************************/ -be_local_closure(AXP192_get_vbus_current, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_vbus_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -130,7 +134,7 @@ be_local_closure(AXP192_get_vbus_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -153,7 +157,8 @@ be_local_closure(AXP192_get_vbus_current, /* name */ /******************************************************************** ** Solidified function: get_warning_level ********************************************************************/ -be_local_closure(AXP192_get_warning_level, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_warning_level, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -161,7 +166,7 @@ be_local_closure(AXP192_get_warning_level, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -184,7 +189,8 @@ be_local_closure(AXP192_get_warning_level, /* name */ /******************************************************************** ** Solidified function: set_ldo_enable ********************************************************************/ -be_local_closure(AXP192_set_ldo_enable, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_ldo_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -192,7 +198,7 @@ be_local_closure(AXP192_set_ldo_enable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(2), @@ -226,7 +232,8 @@ be_local_closure(AXP192_set_ldo_enable, /* name */ /******************************************************************** ** Solidified function: get_input_power_status ********************************************************************/ -be_local_closure(AXP192_get_input_power_status, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_input_power_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -234,7 +241,7 @@ be_local_closure(AXP192_get_input_power_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -262,7 +269,8 @@ be_local_closure(AXP192_get_input_power_status, /* name */ /******************************************************************** ** Solidified function: get_aps_voltage ********************************************************************/ -be_local_closure(AXP192_get_aps_voltage, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_aps_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -270,7 +278,7 @@ be_local_closure(AXP192_get_aps_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -293,7 +301,8 @@ be_local_closure(AXP192_get_aps_voltage, /* name */ /******************************************************************** ** Solidified function: set_exten ********************************************************************/ -be_local_closure(AXP192_set_exten, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_exten, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -301,7 +310,7 @@ be_local_closure(AXP192_set_exten, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(write_bit), @@ -324,7 +333,8 @@ be_local_closure(AXP192_set_exten, /* name */ /******************************************************************** ** Solidified function: battery_present ********************************************************************/ -be_local_closure(AXP192_battery_present, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_battery_present, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -332,7 +342,7 @@ be_local_closure(AXP192_battery_present, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -367,7 +377,8 @@ be_local_closure(AXP192_battery_present, /* name */ /******************************************************************** ** Solidified function: get_vbus_voltage ********************************************************************/ -be_local_closure(AXP192_get_vbus_voltage, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_vbus_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -375,7 +386,7 @@ be_local_closure(AXP192_get_vbus_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -398,7 +409,8 @@ be_local_closure(AXP192_get_vbus_voltage, /* name */ /******************************************************************** ** Solidified function: write_gpio ********************************************************************/ -be_local_closure(AXP192_write_gpio, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_write_gpio, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -406,7 +418,7 @@ be_local_closure(AXP192_write_gpio, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -447,7 +459,8 @@ be_local_closure(AXP192_write_gpio, /* name */ /******************************************************************** ** Solidified function: set_ldo_voltage ********************************************************************/ -be_local_closure(AXP192_set_ldo_voltage, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_ldo_voltage, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -455,7 +468,7 @@ be_local_closure(AXP192_set_ldo_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(2), @@ -514,7 +527,8 @@ be_local_closure(AXP192_set_ldo_voltage, /* name */ /******************************************************************** ** Solidified function: json_append ********************************************************************/ -be_local_closure(AXP192_json_append, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_json_append, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -522,7 +536,7 @@ be_local_closure(AXP192_json_append, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -568,7 +582,8 @@ be_local_closure(AXP192_json_append, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(AXP192_init, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -576,7 +591,7 @@ be_local_closure(AXP192_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(I2C_Driver), @@ -604,7 +619,8 @@ be_local_closure(AXP192_init, /* name */ /******************************************************************** ** Solidified function: get_bat_current ********************************************************************/ -be_local_closure(AXP192_get_bat_current, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_bat_current, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -612,7 +628,7 @@ be_local_closure(AXP192_get_bat_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read13), @@ -639,7 +655,8 @@ be_local_closure(AXP192_get_bat_current, /* name */ /******************************************************************** ** Solidified function: web_sensor ********************************************************************/ -be_local_closure(AXP192_web_sensor, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_web_sensor, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -647,7 +664,7 @@ be_local_closure(AXP192_web_sensor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -700,7 +717,8 @@ be_local_closure(AXP192_web_sensor, /* name */ /******************************************************************** ** Solidified function: set_chg_current ********************************************************************/ -be_local_closure(AXP192_set_chg_current, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_chg_current, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -708,7 +726,7 @@ be_local_closure(AXP192_set_chg_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(write8), @@ -738,7 +756,8 @@ be_local_closure(AXP192_set_chg_current, /* name */ /******************************************************************** ** Solidified function: get_temp ********************************************************************/ -be_local_closure(AXP192_get_temp, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_temp, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -746,7 +765,7 @@ be_local_closure(AXP192_get_temp, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -771,7 +790,8 @@ be_local_closure(AXP192_get_temp, /* name */ /******************************************************************** ** Solidified function: set_dc_voltage ********************************************************************/ -be_local_closure(AXP192_set_dc_voltage, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_set_dc_voltage, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -779,7 +799,7 @@ be_local_closure(AXP192_set_dc_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(1), @@ -849,7 +869,8 @@ be_local_closure(AXP192_set_dc_voltage, /* name */ /******************************************************************** ** Solidified function: power_off ********************************************************************/ -be_local_closure(AXP192_power_off, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_power_off, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -857,7 +878,7 @@ be_local_closure(AXP192_power_off, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(write_bit), @@ -881,7 +902,8 @@ be_local_closure(AXP192_power_off, /* name */ /******************************************************************** ** Solidified function: get_battery_chargin_status ********************************************************************/ -be_local_closure(AXP192_get_battery_chargin_status, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_battery_chargin_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -889,7 +911,7 @@ be_local_closure(AXP192_get_battery_chargin_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -916,7 +938,8 @@ be_local_closure(AXP192_get_battery_chargin_status, /* name */ /******************************************************************** ** Solidified function: get_bat_charge_current ********************************************************************/ -be_local_closure(AXP192_get_bat_charge_current, /* name */ +extern const bclass be_class_AXP192; +be_local_closure(class_AXP192_get_bat_charge_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -924,7 +947,7 @@ be_local_closure(AXP192_get_bat_charge_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP192, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read13), @@ -953,38 +976,31 @@ be_local_class(AXP192, &be_class_I2C_Driver, be_nested_map(23, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(set_dcdc_enable, -1), be_const_closure(AXP192_set_dcdc_enable_closure) }, - { be_const_key(get_bat_power, -1), be_const_closure(AXP192_get_bat_power_closure) }, - { be_const_key(get_bat_charge_current, 3), be_const_closure(AXP192_get_bat_charge_current_closure) }, - { be_const_key(get_battery_chargin_status, -1), be_const_closure(AXP192_get_battery_chargin_status_closure) }, - { be_const_key(get_warning_level, -1), be_const_closure(AXP192_get_warning_level_closure) }, - { be_const_key(power_off, -1), be_const_closure(AXP192_power_off_closure) }, - { be_const_key(get_vbus_current, 22), be_const_closure(AXP192_get_vbus_current_closure) }, - { be_const_key(get_aps_voltage, -1), be_const_closure(AXP192_get_aps_voltage_closure) }, - { be_const_key(set_exten, -1), be_const_closure(AXP192_set_exten_closure) }, - { be_const_key(battery_present, -1), be_const_closure(AXP192_battery_present_closure) }, - { be_const_key(get_vbus_voltage, -1), be_const_closure(AXP192_get_vbus_voltage_closure) }, - { be_const_key(write_gpio, -1), be_const_closure(AXP192_write_gpio_closure) }, - { be_const_key(set_ldo_voltage, -1), be_const_closure(AXP192_set_ldo_voltage_closure) }, - { be_const_key(set_ldo_enable, 21), be_const_closure(AXP192_set_ldo_enable_closure) }, - { be_const_key(init, 2), be_const_closure(AXP192_init_closure) }, - { be_const_key(get_bat_current, -1), be_const_closure(AXP192_get_bat_current_closure) }, - { be_const_key(web_sensor, -1), be_const_closure(AXP192_web_sensor_closure) }, - { be_const_key(set_dc_voltage, -1), be_const_closure(AXP192_set_dc_voltage_closure) }, - { be_const_key(get_temp, -1), be_const_closure(AXP192_get_temp_closure) }, - { be_const_key(set_chg_current, 17), be_const_closure(AXP192_set_chg_current_closure) }, - { be_const_key(get_bat_voltage, 5), be_const_closure(AXP192_get_bat_voltage_closure) }, - { be_const_key(json_append, -1), be_const_closure(AXP192_json_append_closure) }, - { be_const_key(get_input_power_status, -1), be_const_closure(AXP192_get_input_power_status_closure) }, + { be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP192_set_dcdc_enable_closure) }, + { be_const_key(get_bat_power, -1), be_const_closure(class_AXP192_get_bat_power_closure) }, + { be_const_key(get_bat_charge_current, 3), be_const_closure(class_AXP192_get_bat_charge_current_closure) }, + { be_const_key(get_battery_chargin_status, -1), be_const_closure(class_AXP192_get_battery_chargin_status_closure) }, + { be_const_key(get_warning_level, -1), be_const_closure(class_AXP192_get_warning_level_closure) }, + { be_const_key(power_off, -1), be_const_closure(class_AXP192_power_off_closure) }, + { be_const_key(get_vbus_current, 22), be_const_closure(class_AXP192_get_vbus_current_closure) }, + { be_const_key(get_aps_voltage, -1), be_const_closure(class_AXP192_get_aps_voltage_closure) }, + { be_const_key(set_exten, -1), be_const_closure(class_AXP192_set_exten_closure) }, + { be_const_key(battery_present, -1), be_const_closure(class_AXP192_battery_present_closure) }, + { be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP192_get_vbus_voltage_closure) }, + { be_const_key(write_gpio, -1), be_const_closure(class_AXP192_write_gpio_closure) }, + { be_const_key(set_ldo_voltage, -1), be_const_closure(class_AXP192_set_ldo_voltage_closure) }, + { be_const_key(set_ldo_enable, 21), be_const_closure(class_AXP192_set_ldo_enable_closure) }, + { be_const_key(init, 2), be_const_closure(class_AXP192_init_closure) }, + { be_const_key(get_bat_current, -1), be_const_closure(class_AXP192_get_bat_current_closure) }, + { be_const_key(web_sensor, -1), be_const_closure(class_AXP192_web_sensor_closure) }, + { be_const_key(set_dc_voltage, -1), be_const_closure(class_AXP192_set_dc_voltage_closure) }, + { be_const_key(get_temp, -1), be_const_closure(class_AXP192_get_temp_closure) }, + { be_const_key(set_chg_current, 17), be_const_closure(class_AXP192_set_chg_current_closure) }, + { be_const_key(get_bat_voltage, 5), be_const_closure(class_AXP192_get_bat_voltage_closure) }, + { be_const_key(json_append, -1), be_const_closure(class_AXP192_json_append_closure) }, + { be_const_key(get_input_power_status, -1), be_const_closure(class_AXP192_get_input_power_status_closure) }, })), (bstring*) &be_const_str_AXP192 ); -/*******************************************************************/ - -void be_load_AXP192_class(bvm *vm) { - be_pushntvclass(vm, &be_class_AXP192); - be_setglobal(vm, "AXP192"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp202.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp202.h index a912b0660..211c9bef6 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp202.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_axp202.h @@ -9,7 +9,8 @@ extern const bclass be_class_AXP202; /******************************************************************** ** Solidified function: set_shutdown_time ********************************************************************/ -be_local_closure(AXP202_set_shutdown_time, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_shutdown_time, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(AXP202_set_shutdown_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), @@ -63,7 +64,8 @@ be_local_closure(AXP202_set_shutdown_time, /* name */ /******************************************************************** ** Solidified function: get_vbus_current ********************************************************************/ -be_local_closure(AXP202_get_vbus_current, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_vbus_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -71,7 +73,7 @@ be_local_closure(AXP202_get_vbus_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -94,7 +96,8 @@ be_local_closure(AXP202_get_vbus_current, /* name */ /******************************************************************** ** Solidified function: get_bat_voltage ********************************************************************/ -be_local_closure(AXP202_get_bat_voltage, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_bat_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -102,7 +105,7 @@ be_local_closure(AXP202_get_bat_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -125,7 +128,8 @@ be_local_closure(AXP202_get_bat_voltage, /* name */ /******************************************************************** ** Solidified function: get_bat_current ********************************************************************/ -be_local_closure(AXP202_get_bat_current, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_bat_current, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -133,7 +137,7 @@ be_local_closure(AXP202_get_bat_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read13), @@ -160,7 +164,8 @@ be_local_closure(AXP202_get_bat_current, /* name */ /******************************************************************** ** Solidified function: get_bat_power ********************************************************************/ -be_local_closure(AXP202_get_bat_power, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_bat_power, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -168,7 +173,7 @@ be_local_closure(AXP202_get_bat_power, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read24), @@ -191,7 +196,8 @@ be_local_closure(AXP202_get_bat_power, /* name */ /******************************************************************** ** Solidified function: get_aps_voltage ********************************************************************/ -be_local_closure(AXP202_get_aps_voltage, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_aps_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -199,7 +205,7 @@ be_local_closure(AXP202_get_aps_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -222,7 +228,8 @@ be_local_closure(AXP202_get_aps_voltage, /* name */ /******************************************************************** ** Solidified function: get_vbus_voltage ********************************************************************/ -be_local_closure(AXP202_get_vbus_voltage, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_vbus_voltage, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -230,7 +237,7 @@ be_local_closure(AXP202_get_vbus_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -253,7 +260,8 @@ be_local_closure(AXP202_get_vbus_voltage, /* name */ /******************************************************************** ** Solidified function: set_ldo_enable ********************************************************************/ -be_local_closure(AXP202_set_ldo_enable, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_ldo_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -261,7 +269,7 @@ be_local_closure(AXP202_set_ldo_enable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(2), @@ -303,7 +311,8 @@ be_local_closure(AXP202_set_ldo_enable, /* name */ /******************************************************************** ** Solidified function: battery_present ********************************************************************/ -be_local_closure(AXP202_battery_present, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_battery_present, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -311,7 +320,7 @@ be_local_closure(AXP202_battery_present, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -346,7 +355,8 @@ be_local_closure(AXP202_battery_present, /* name */ /******************************************************************** ** Solidified function: set_chg_current_ma ********************************************************************/ -be_local_closure(AXP202_set_chg_current_ma, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_chg_current_ma, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -354,7 +364,7 @@ be_local_closure(AXP202_set_chg_current_ma, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(write8), @@ -388,7 +398,8 @@ be_local_closure(AXP202_set_chg_current_ma, /* name */ /******************************************************************** ** Solidified function: set_dcdc_enable ********************************************************************/ -be_local_closure(AXP202_set_dcdc_enable, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_dcdc_enable, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -396,7 +407,7 @@ be_local_closure(AXP202_set_dcdc_enable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(2), @@ -431,7 +442,8 @@ be_local_closure(AXP202_set_dcdc_enable, /* name */ /******************************************************************** ** Solidified function: set_chg_led_mode ********************************************************************/ -be_local_closure(AXP202_set_chg_led_mode, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_chg_led_mode, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -439,7 +451,7 @@ be_local_closure(AXP202_set_chg_led_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(read8), @@ -475,7 +487,8 @@ be_local_closure(AXP202_set_chg_led_mode, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(AXP202_init, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -483,7 +496,7 @@ be_local_closure(AXP202_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(I2C_Driver), @@ -511,7 +524,8 @@ be_local_closure(AXP202_init, /* name */ /******************************************************************** ** Solidified function: set_exten ********************************************************************/ -be_local_closure(AXP202_set_exten, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_exten, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -519,7 +533,7 @@ be_local_closure(AXP202_set_exten, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(write_bit), @@ -543,7 +557,8 @@ be_local_closure(AXP202_set_exten, /* name */ /******************************************************************** ** Solidified function: get_battery_chargin_status ********************************************************************/ -be_local_closure(AXP202_get_battery_chargin_status, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_battery_chargin_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -551,7 +566,7 @@ be_local_closure(AXP202_get_battery_chargin_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -578,7 +593,8 @@ be_local_closure(AXP202_get_battery_chargin_status, /* name */ /******************************************************************** ** Solidified function: set_dc_voltage ********************************************************************/ -be_local_closure(AXP202_set_dc_voltage, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_dc_voltage, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -586,7 +602,7 @@ be_local_closure(AXP202_set_dc_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(2), @@ -651,7 +667,8 @@ be_local_closure(AXP202_set_dc_voltage, /* name */ /******************************************************************** ** Solidified function: get_bat_charge_current ********************************************************************/ -be_local_closure(AXP202_get_bat_charge_current, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_bat_charge_current, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -659,7 +676,7 @@ be_local_closure(AXP202_get_bat_charge_current, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(read13), @@ -682,7 +699,8 @@ be_local_closure(AXP202_get_bat_charge_current, /* name */ /******************************************************************** ** Solidified function: get_temp ********************************************************************/ -be_local_closure(AXP202_get_temp, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_temp, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -690,7 +708,7 @@ be_local_closure(AXP202_get_temp, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(read12), @@ -715,7 +733,8 @@ be_local_closure(AXP202_get_temp, /* name */ /******************************************************************** ** Solidified function: set_ldo_voltage ********************************************************************/ -be_local_closure(AXP202_set_ldo_voltage, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_ldo_voltage, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -723,7 +742,7 @@ be_local_closure(AXP202_set_ldo_voltage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_int(2), @@ -801,7 +820,8 @@ be_local_closure(AXP202_set_ldo_voltage, /* name */ /******************************************************************** ** Solidified function: set_limiting_off ********************************************************************/ -be_local_closure(AXP202_set_limiting_off, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_set_limiting_off, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -809,7 +829,7 @@ be_local_closure(AXP202_set_limiting_off, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(write8), @@ -836,7 +856,8 @@ be_local_closure(AXP202_set_limiting_off, /* name */ /******************************************************************** ** Solidified function: get_input_power_status ********************************************************************/ -be_local_closure(AXP202_get_input_power_status, /* name */ +extern const bclass be_class_AXP202; +be_local_closure(class_AXP202_get_input_power_status, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -844,7 +865,7 @@ be_local_closure(AXP202_get_input_power_status, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_AXP202, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -878,36 +899,29 @@ be_local_class(AXP202, &be_class_I2C_Driver, be_nested_map(21, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(set_shutdown_time, -1), be_const_closure(AXP202_set_shutdown_time_closure) }, - { be_const_key(get_vbus_current, -1), be_const_closure(AXP202_get_vbus_current_closure) }, - { be_const_key(get_aps_voltage, -1), be_const_closure(AXP202_get_aps_voltage_closure) }, - { be_const_key(get_bat_current, -1), be_const_closure(AXP202_get_bat_current_closure) }, - { be_const_key(get_bat_power, 2), be_const_closure(AXP202_get_bat_power_closure) }, - { be_const_key(init, -1), be_const_closure(AXP202_init_closure) }, - { be_const_key(get_vbus_voltage, -1), be_const_closure(AXP202_get_vbus_voltage_closure) }, - { be_const_key(set_ldo_voltage, 14), be_const_closure(AXP202_set_ldo_voltage_closure) }, - { be_const_key(battery_present, -1), be_const_closure(AXP202_battery_present_closure) }, - { be_const_key(set_chg_current_ma, -1), be_const_closure(AXP202_set_chg_current_ma_closure) }, - { be_const_key(set_dcdc_enable, -1), be_const_closure(AXP202_set_dcdc_enable_closure) }, - { be_const_key(set_chg_led_mode, 7), be_const_closure(AXP202_set_chg_led_mode_closure) }, - { be_const_key(set_ldo_enable, 5), be_const_closure(AXP202_set_ldo_enable_closure) }, - { be_const_key(set_exten, -1), be_const_closure(AXP202_set_exten_closure) }, - { be_const_key(get_temp, -1), be_const_closure(AXP202_get_temp_closure) }, - { be_const_key(get_bat_voltage, 16), be_const_closure(AXP202_get_bat_voltage_closure) }, - { be_const_key(get_bat_charge_current, 17), be_const_closure(AXP202_get_bat_charge_current_closure) }, - { be_const_key(set_dc_voltage, 18), be_const_closure(AXP202_set_dc_voltage_closure) }, - { be_const_key(get_battery_chargin_status, -1), be_const_closure(AXP202_get_battery_chargin_status_closure) }, - { be_const_key(set_limiting_off, -1), be_const_closure(AXP202_set_limiting_off_closure) }, - { be_const_key(get_input_power_status, -1), be_const_closure(AXP202_get_input_power_status_closure) }, + { be_const_key(set_shutdown_time, -1), be_const_closure(class_AXP202_set_shutdown_time_closure) }, + { be_const_key(get_vbus_current, -1), be_const_closure(class_AXP202_get_vbus_current_closure) }, + { be_const_key(get_aps_voltage, -1), be_const_closure(class_AXP202_get_aps_voltage_closure) }, + { be_const_key(get_bat_current, -1), be_const_closure(class_AXP202_get_bat_current_closure) }, + { be_const_key(get_bat_power, 2), be_const_closure(class_AXP202_get_bat_power_closure) }, + { be_const_key(init, -1), be_const_closure(class_AXP202_init_closure) }, + { be_const_key(get_vbus_voltage, -1), be_const_closure(class_AXP202_get_vbus_voltage_closure) }, + { be_const_key(set_ldo_voltage, 14), be_const_closure(class_AXP202_set_ldo_voltage_closure) }, + { be_const_key(battery_present, -1), be_const_closure(class_AXP202_battery_present_closure) }, + { be_const_key(set_chg_current_ma, -1), be_const_closure(class_AXP202_set_chg_current_ma_closure) }, + { be_const_key(set_dcdc_enable, -1), be_const_closure(class_AXP202_set_dcdc_enable_closure) }, + { be_const_key(set_chg_led_mode, 7), be_const_closure(class_AXP202_set_chg_led_mode_closure) }, + { be_const_key(set_ldo_enable, 5), be_const_closure(class_AXP202_set_ldo_enable_closure) }, + { be_const_key(set_exten, -1), be_const_closure(class_AXP202_set_exten_closure) }, + { be_const_key(get_temp, -1), be_const_closure(class_AXP202_get_temp_closure) }, + { be_const_key(get_bat_voltage, 16), be_const_closure(class_AXP202_get_bat_voltage_closure) }, + { be_const_key(get_bat_charge_current, 17), be_const_closure(class_AXP202_get_bat_charge_current_closure) }, + { be_const_key(set_dc_voltage, 18), be_const_closure(class_AXP202_set_dc_voltage_closure) }, + { be_const_key(get_battery_chargin_status, -1), be_const_closure(class_AXP202_get_battery_chargin_status_closure) }, + { be_const_key(set_limiting_off, -1), be_const_closure(class_AXP202_set_limiting_off_closure) }, + { be_const_key(get_input_power_status, -1), be_const_closure(class_AXP202_get_input_power_status_closure) }, })), (bstring*) &be_const_str_AXP202 ); -/*******************************************************************/ - -void be_load_AXP202_class(bvm *vm) { - be_pushntvclass(vm, &be_class_AXP202); - be_setglobal(vm, "AXP202"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_driver.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_driver.h index 3b29d8c76..9b925d78e 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_driver.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_driver.h @@ -9,7 +9,8 @@ extern const bclass be_class_I2C_Driver; /******************************************************************** ** Solidified function: write_bit ********************************************************************/ -be_local_closure(I2C_Driver_write_bit, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_write_bit, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(I2C_Driver_write_bit, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_int(0), @@ -63,7 +64,8 @@ be_local_closure(I2C_Driver_write_bit, /* name */ /******************************************************************** ** Solidified function: read32 ********************************************************************/ -be_local_closure(I2C_Driver_read32, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read32, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -71,7 +73,7 @@ be_local_closure(I2C_Driver_read32, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -114,7 +116,8 @@ be_local_closure(I2C_Driver_read32, /* name */ /******************************************************************** ** Solidified function: read13 ********************************************************************/ -be_local_closure(I2C_Driver_read13, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read13, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -122,7 +125,7 @@ be_local_closure(I2C_Driver_read13, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -156,7 +159,8 @@ be_local_closure(I2C_Driver_read13, /* name */ /******************************************************************** ** Solidified function: read24 ********************************************************************/ -be_local_closure(I2C_Driver_read24, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read24, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -164,7 +168,7 @@ be_local_closure(I2C_Driver_read24, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -203,7 +207,8 @@ be_local_closure(I2C_Driver_read24, /* name */ /******************************************************************** ** Solidified function: read14 ********************************************************************/ -be_local_closure(I2C_Driver_read14, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read14, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -211,7 +216,7 @@ be_local_closure(I2C_Driver_read14, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -245,7 +250,8 @@ be_local_closure(I2C_Driver_read14, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(I2C_Driver_init, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_init, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -253,7 +259,7 @@ be_local_closure(I2C_Driver_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -323,7 +329,8 @@ be_local_closure(I2C_Driver_init, /* name */ /******************************************************************** ** Solidified function: write8 ********************************************************************/ -be_local_closure(I2C_Driver_write8, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_write8, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -331,7 +338,7 @@ be_local_closure(I2C_Driver_write8, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -359,7 +366,8 @@ be_local_closure(I2C_Driver_write8, /* name */ /******************************************************************** ** Solidified function: read8 ********************************************************************/ -be_local_closure(I2C_Driver_read8, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read8, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -367,7 +375,7 @@ be_local_closure(I2C_Driver_read8, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -394,7 +402,8 @@ be_local_closure(I2C_Driver_read8, /* name */ /******************************************************************** ** Solidified function: read12 ********************************************************************/ -be_local_closure(I2C_Driver_read12, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read12, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -402,7 +411,7 @@ be_local_closure(I2C_Driver_read12, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -436,7 +445,8 @@ be_local_closure(I2C_Driver_read12, /* name */ /******************************************************************** ** Solidified function: read16 ********************************************************************/ -be_local_closure(I2C_Driver_read16, /* name */ +extern const bclass be_class_I2C_Driver; +be_local_closure(class_I2C_Driver_read16, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -444,7 +454,7 @@ be_local_closure(I2C_Driver_read16, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_I2C_Driver, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -483,28 +493,21 @@ be_local_class(I2C_Driver, NULL, be_nested_map(13, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(write_bit, -1), be_const_closure(I2C_Driver_write_bit_closure) }, + { be_const_key(write_bit, -1), be_const_closure(class_I2C_Driver_write_bit_closure) }, { be_const_key(addr, -1), be_const_var(1) }, - { be_const_key(read32, -1), be_const_closure(I2C_Driver_read32_closure) }, - { be_const_key(read13, -1), be_const_closure(I2C_Driver_read13_closure) }, - { be_const_key(read16, -1), be_const_closure(I2C_Driver_read16_closure) }, - { be_const_key(read14, -1), be_const_closure(I2C_Driver_read14_closure) }, - { be_const_key(read24, 12), be_const_closure(I2C_Driver_read24_closure) }, + { be_const_key(read32, -1), be_const_closure(class_I2C_Driver_read32_closure) }, + { be_const_key(read13, -1), be_const_closure(class_I2C_Driver_read13_closure) }, + { be_const_key(read16, -1), be_const_closure(class_I2C_Driver_read16_closure) }, + { be_const_key(read14, -1), be_const_closure(class_I2C_Driver_read14_closure) }, + { be_const_key(read24, 12), be_const_closure(class_I2C_Driver_read24_closure) }, { be_const_key(name, 4), be_const_var(2) }, - { be_const_key(write8, -1), be_const_closure(I2C_Driver_write8_closure) }, + { be_const_key(write8, -1), be_const_closure(class_I2C_Driver_write8_closure) }, { be_const_key(wire, 8), be_const_var(0) }, - { be_const_key(read8, -1), be_const_closure(I2C_Driver_read8_closure) }, - { be_const_key(read12, -1), be_const_closure(I2C_Driver_read12_closure) }, - { be_const_key(init, -1), be_const_closure(I2C_Driver_init_closure) }, + { be_const_key(read8, -1), be_const_closure(class_I2C_Driver_read8_closure) }, + { be_const_key(read12, -1), be_const_closure(class_I2C_Driver_read12_closure) }, + { be_const_key(init, -1), be_const_closure(class_I2C_Driver_init_closure) }, })), (bstring*) &be_const_str_I2C_Driver ); -/*******************************************************************/ - -void be_load_I2C_Driver_class(bvm *vm) { - be_pushntvclass(vm, &be_class_I2C_Driver); - be_setglobal(vm, "I2C_Driver"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_ft3663.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_ft3663.h index abfc6a453..b9b71da46 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_ft3663.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_i2c_ft3663.h @@ -9,7 +9,8 @@ extern const bclass be_class_FT3663; /******************************************************************** ** Solidified function: every_100ms ********************************************************************/ -be_local_closure(FT3663_every_100ms, /* name */ +extern const bclass be_class_FT3663; +be_local_closure(class_FT3663_every_100ms, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(FT3663_every_100ms, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_FT3663, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -40,7 +41,8 @@ be_local_closure(FT3663_every_100ms, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(FT3663_init, /* name */ +extern const bclass be_class_FT3663; +be_local_closure(class_FT3663_init, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(FT3663_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_FT3663, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(init), @@ -126,7 +128,8 @@ be_local_closure(FT3663_init, /* name */ /******************************************************************** ** Solidified function: ts_loop ********************************************************************/ -be_local_closure(FT3663_ts_loop, /* name */ +extern const bclass be_class_FT3663; +be_local_closure(class_FT3663_ts_loop, /* name */ be_nested_proto( 17, /* nstack */ 1, /* argc */ @@ -134,7 +137,7 @@ be_local_closure(FT3663_ts_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_FT3663, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str(wire), @@ -230,8 +233,8 @@ be_local_class(FT3663, &be_class_I2C_Driver, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(every_100ms, -1), be_const_closure(FT3663_every_100ms_closure) }, - { be_const_key(ts_loop, 2), be_const_closure(FT3663_ts_loop_closure) }, + { be_const_key(every_100ms, -1), be_const_closure(class_FT3663_every_100ms_closure) }, + { be_const_key(ts_loop, 2), be_const_closure(class_FT3663_ts_loop_closure) }, { be_const_key(gest_id_codes, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { @@ -243,16 +246,9 @@ be_local_class(FT3663, { be_const_key_int(24, -1), be_const_int(17) }, { be_const_key_int(20, -1), be_const_int(19) }, })) ) } )) }, - { be_const_key(init, 1), be_const_closure(FT3663_init_closure) }, + { be_const_key(init, 1), be_const_closure(class_FT3663_init_closure) }, })), (bstring*) &be_const_str_FT3663 ); -/*******************************************************************/ - -void be_load_FT3663_class(bvm *vm) { - be_pushntvclass(vm, &be_class_FT3663); - be_setglobal(vm, "FT3663"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h index 0bf9bc1df..99caae874 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_leds.h @@ -11,7 +11,8 @@ extern const bclass be_class_Leds_segment; /******************************************************************** ** Solidified function: pixel_offset ********************************************************************/ -be_local_closure(Leds_segment_pixel_offset, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_pixel_offset, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -19,7 +20,7 @@ be_local_closure(Leds_segment_pixel_offset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(offset), @@ -38,7 +39,8 @@ be_local_closure(Leds_segment_pixel_offset, /* name */ /******************************************************************** ** Solidified function: clear_to ********************************************************************/ -be_local_closure(Leds_segment_clear_to, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_clear_to, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -46,7 +48,7 @@ be_local_closure(Leds_segment_clear_to, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -84,7 +86,8 @@ be_local_closure(Leds_segment_clear_to, /* name */ /******************************************************************** ** Solidified function: pixel_count ********************************************************************/ -be_local_closure(Leds_segment_pixel_count, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_pixel_count, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -92,7 +95,7 @@ be_local_closure(Leds_segment_pixel_count, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(leds), @@ -111,7 +114,8 @@ be_local_closure(Leds_segment_pixel_count, /* name */ /******************************************************************** ** Solidified function: pixels_buffer ********************************************************************/ -be_local_closure(Leds_segment_pixels_buffer, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_pixels_buffer, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -119,7 +123,7 @@ be_local_closure(Leds_segment_pixels_buffer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 0, /* has constants */ NULL, /* no const */ &be_const_str_pixels_buffer, @@ -136,7 +140,8 @@ be_local_closure(Leds_segment_pixels_buffer, /* name */ /******************************************************************** ** Solidified function: dirty ********************************************************************/ -be_local_closure(Leds_segment_dirty, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_dirty, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -144,7 +149,7 @@ be_local_closure(Leds_segment_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -166,7 +171,8 @@ be_local_closure(Leds_segment_dirty, /* name */ /******************************************************************** ** Solidified function: can_show ********************************************************************/ -be_local_closure(Leds_segment_can_show, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_can_show, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -174,7 +180,7 @@ be_local_closure(Leds_segment_can_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -196,7 +202,8 @@ be_local_closure(Leds_segment_can_show, /* name */ /******************************************************************** ** Solidified function: set_pixel_color ********************************************************************/ -be_local_closure(Leds_segment_set_pixel_color, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_set_pixel_color, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -204,7 +211,7 @@ be_local_closure(Leds_segment_set_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -236,7 +243,8 @@ be_local_closure(Leds_segment_set_pixel_color, /* name */ /******************************************************************** ** Solidified function: is_dirty ********************************************************************/ -be_local_closure(Leds_segment_is_dirty, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_is_dirty, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -244,7 +252,7 @@ be_local_closure(Leds_segment_is_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -266,7 +274,8 @@ be_local_closure(Leds_segment_is_dirty, /* name */ /******************************************************************** ** Solidified function: clear ********************************************************************/ -be_local_closure(Leds_segment_clear, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_clear, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -274,7 +283,7 @@ be_local_closure(Leds_segment_clear, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(clear_to), @@ -299,7 +308,8 @@ be_local_closure(Leds_segment_clear, /* name */ /******************************************************************** ** Solidified function: begin ********************************************************************/ -be_local_closure(Leds_segment_begin, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_begin, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -307,7 +317,7 @@ be_local_closure(Leds_segment_begin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 0, /* has constants */ NULL, /* no const */ &be_const_str_begin, @@ -323,7 +333,8 @@ be_local_closure(Leds_segment_begin, /* name */ /******************************************************************** ** Solidified function: get_pixel_color ********************************************************************/ -be_local_closure(Leds_segment_get_pixel_color, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_get_pixel_color, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -331,7 +342,7 @@ be_local_closure(Leds_segment_get_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -356,7 +367,8 @@ be_local_closure(Leds_segment_get_pixel_color, /* name */ /******************************************************************** ** Solidified function: pixel_size ********************************************************************/ -be_local_closure(Leds_segment_pixel_size, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_pixel_size, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -364,7 +376,7 @@ be_local_closure(Leds_segment_pixel_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -386,7 +398,8 @@ be_local_closure(Leds_segment_pixel_size, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Leds_segment_init, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_init, /* name */ be_nested_proto( 6, /* nstack */ 4, /* argc */ @@ -394,7 +407,7 @@ be_local_closure(Leds_segment_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -423,7 +436,8 @@ be_local_closure(Leds_segment_init, /* name */ /******************************************************************** ** Solidified function: show ********************************************************************/ -be_local_closure(Leds_segment_show, /* name */ +extern const bclass be_class_Leds_segment; +be_local_closure(class_Leds_segment_show, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -431,7 +445,7 @@ be_local_closure(Leds_segment_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_segment, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(offset), @@ -473,23 +487,23 @@ be_local_class(Leds_segment, NULL, be_nested_map(17, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(pixel_offset, 9), be_const_closure(Leds_segment_pixel_offset_closure) }, - { be_const_key(clear_to, -1), be_const_closure(Leds_segment_clear_to_closure) }, - { be_const_key(show, -1), be_const_closure(Leds_segment_show_closure) }, - { be_const_key(pixels_buffer, 10), be_const_closure(Leds_segment_pixels_buffer_closure) }, + { be_const_key(pixel_offset, 9), be_const_closure(class_Leds_segment_pixel_offset_closure) }, + { be_const_key(clear_to, -1), be_const_closure(class_Leds_segment_clear_to_closure) }, + { be_const_key(show, -1), be_const_closure(class_Leds_segment_show_closure) }, + { be_const_key(pixels_buffer, 10), be_const_closure(class_Leds_segment_pixels_buffer_closure) }, { be_const_key(offset, -1), be_const_var(1) }, - { be_const_key(dirty, -1), be_const_closure(Leds_segment_dirty_closure) }, - { be_const_key(can_show, -1), be_const_closure(Leds_segment_can_show_closure) }, - { be_const_key(set_pixel_color, 6), be_const_closure(Leds_segment_set_pixel_color_closure) }, - { be_const_key(get_pixel_color, -1), be_const_closure(Leds_segment_get_pixel_color_closure) }, - { be_const_key(pixel_count, -1), be_const_closure(Leds_segment_pixel_count_closure) }, + { be_const_key(dirty, -1), be_const_closure(class_Leds_segment_dirty_closure) }, + { be_const_key(can_show, -1), be_const_closure(class_Leds_segment_can_show_closure) }, + { be_const_key(set_pixel_color, 6), be_const_closure(class_Leds_segment_set_pixel_color_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(class_Leds_segment_get_pixel_color_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(class_Leds_segment_pixel_count_closure) }, { be_const_key(strip, 7), be_const_var(0) }, { be_const_key(leds, -1), be_const_var(2) }, - { be_const_key(begin, -1), be_const_closure(Leds_segment_begin_closure) }, - { be_const_key(is_dirty, 8), be_const_closure(Leds_segment_is_dirty_closure) }, - { be_const_key(pixel_size, -1), be_const_closure(Leds_segment_pixel_size_closure) }, - { be_const_key(init, -1), be_const_closure(Leds_segment_init_closure) }, - { be_const_key(clear, 2), be_const_closure(Leds_segment_clear_closure) }, + { be_const_key(begin, -1), be_const_closure(class_Leds_segment_begin_closure) }, + { be_const_key(is_dirty, 8), be_const_closure(class_Leds_segment_is_dirty_closure) }, + { be_const_key(pixel_size, -1), be_const_closure(class_Leds_segment_pixel_size_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_segment_init_closure) }, + { be_const_key(clear, 2), be_const_closure(class_Leds_segment_clear_closure) }, })), (bstring*) &be_const_str_Leds_segment ); @@ -497,7 +511,8 @@ be_local_class(Leds_segment, /******************************************************************** ** Solidified function: create_segment ********************************************************************/ -be_local_closure(Leds_create_segment, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_create_segment, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -505,7 +520,7 @@ be_local_closure(Leds_create_segment, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(leds), @@ -549,7 +564,8 @@ be_local_closure(Leds_create_segment, /* name */ /******************************************************************** ** Solidified function: set_bri ********************************************************************/ -be_local_closure(Leds_set_bri, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_set_bri, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -557,7 +573,7 @@ be_local_closure(Leds_set_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(0), @@ -584,7 +600,8 @@ be_local_closure(Leds_set_bri, /* name */ /******************************************************************** ** Solidified function: begin ********************************************************************/ -be_local_closure(Leds_begin, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_begin, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -592,7 +609,7 @@ be_local_closure(Leds_begin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -614,7 +631,8 @@ be_local_closure(Leds_begin, /* name */ /******************************************************************** ** Solidified function: clear ********************************************************************/ -be_local_closure(Leds_clear, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_clear, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -622,7 +640,7 @@ be_local_closure(Leds_clear, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(clear_to), @@ -647,7 +665,8 @@ be_local_closure(Leds_clear, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Leds_init, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_init, /* name */ be_nested_proto( 12, /* nstack */ 5, /* argc */ @@ -655,7 +674,7 @@ be_local_closure(Leds_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ /* K0 */ be_nested_str(gpio), @@ -729,7 +748,8 @@ be_local_closure(Leds_init, /* name */ /******************************************************************** ** Solidified function: to_gamma ********************************************************************/ -be_local_closure(Leds_to_gamma, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_to_gamma, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -737,7 +757,7 @@ be_local_closure(Leds_to_gamma, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -766,7 +786,8 @@ be_local_closure(Leds_to_gamma, /* name */ /******************************************************************** ** Solidified function: show ********************************************************************/ -be_local_closure(Leds_show, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_show, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -774,7 +795,7 @@ be_local_closure(Leds_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -796,7 +817,8 @@ be_local_closure(Leds_show, /* name */ /******************************************************************** ** Solidified function: pixel_count ********************************************************************/ -be_local_closure(Leds_pixel_count, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_pixel_count, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -804,7 +826,7 @@ be_local_closure(Leds_pixel_count, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -825,7 +847,8 @@ be_local_closure(Leds_pixel_count, /* name */ /******************************************************************** ** Solidified function: get_bri ********************************************************************/ -be_local_closure(Leds_get_bri, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_get_bri, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -833,7 +856,7 @@ be_local_closure(Leds_get_bri, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -852,7 +875,8 @@ be_local_closure(Leds_get_bri, /* name */ /******************************************************************** ** Solidified function: set_gamma ********************************************************************/ -be_local_closure(Leds_set_gamma, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_set_gamma, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -860,7 +884,7 @@ be_local_closure(Leds_set_gamma, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(gamma), @@ -882,7 +906,8 @@ be_local_closure(Leds_set_gamma, /* name */ /******************************************************************** ** Solidified function: get_pixel_color ********************************************************************/ -be_local_closure(Leds_get_pixel_color, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_get_pixel_color, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -890,7 +915,7 @@ be_local_closure(Leds_get_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -912,7 +937,8 @@ be_local_closure(Leds_get_pixel_color, /* name */ /******************************************************************** ** Solidified function: dirty ********************************************************************/ -be_local_closure(Leds_dirty, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_dirty, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -920,7 +946,7 @@ be_local_closure(Leds_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -941,7 +967,8 @@ be_local_closure(Leds_dirty, /* name */ /******************************************************************** ** Solidified function: matrix ********************************************************************/ -be_local_closure(Leds_matrix, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_matrix, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -949,7 +976,7 @@ be_local_closure(Leds_matrix, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Leds), @@ -981,7 +1008,8 @@ be_local_closure(Leds_matrix, /* name */ /******************************************************************** ** Solidified function: pixel_offset ********************************************************************/ -be_local_closure(Leds_pixel_offset, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_pixel_offset, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -989,7 +1017,7 @@ be_local_closure(Leds_pixel_offset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(0), @@ -1007,7 +1035,8 @@ be_local_closure(Leds_pixel_offset, /* name */ /******************************************************************** ** Solidified function: clear_to ********************************************************************/ -be_local_closure(Leds_clear_to, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_clear_to, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -1015,7 +1044,7 @@ be_local_closure(Leds_clear_to, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -1046,7 +1075,8 @@ be_local_closure(Leds_clear_to, /* name */ /******************************************************************** ** Solidified function: set_pixel_color ********************************************************************/ -be_local_closure(Leds_set_pixel_color, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_set_pixel_color, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -1054,7 +1084,7 @@ be_local_closure(Leds_set_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(bri), @@ -1086,7 +1116,8 @@ be_local_closure(Leds_set_pixel_color, /* name */ /******************************************************************** ** Solidified function: pixel_size ********************************************************************/ -be_local_closure(Leds_pixel_size, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_pixel_size, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1094,7 +1125,7 @@ be_local_closure(Leds_pixel_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -1117,7 +1148,8 @@ extern const bclass be_class_Leds_matrix; /******************************************************************** ** Solidified function: clear_to ********************************************************************/ -be_local_closure(Leds_matrix_clear_to, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_clear_to, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -1125,7 +1157,7 @@ be_local_closure(Leds_matrix_clear_to, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1167,7 +1199,8 @@ be_local_closure(Leds_matrix_clear_to, /* name */ /******************************************************************** ** Solidified function: show ********************************************************************/ -be_local_closure(Leds_matrix_show, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_show, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1175,7 +1208,7 @@ be_local_closure(Leds_matrix_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(offset), @@ -1223,7 +1256,8 @@ be_local_closure(Leds_matrix_show, /* name */ /******************************************************************** ** Solidified function: pixel_size ********************************************************************/ -be_local_closure(Leds_matrix_pixel_size, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_pixel_size, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1231,7 +1265,7 @@ be_local_closure(Leds_matrix_pixel_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(pix_size), @@ -1250,7 +1284,8 @@ be_local_closure(Leds_matrix_pixel_size, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Leds_matrix_init, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_init, /* name */ be_nested_proto( 7, /* nstack */ 5, /* argc */ @@ -1258,7 +1293,7 @@ be_local_closure(Leds_matrix_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1298,7 +1333,8 @@ be_local_closure(Leds_matrix_init, /* name */ /******************************************************************** ** Solidified function: set_pixel_color ********************************************************************/ -be_local_closure(Leds_matrix_set_pixel_color, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_set_pixel_color, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -1306,7 +1342,7 @@ be_local_closure(Leds_matrix_set_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1339,7 +1375,8 @@ be_local_closure(Leds_matrix_set_pixel_color, /* name */ /******************************************************************** ** Solidified function: pixels_buffer ********************************************************************/ -be_local_closure(Leds_matrix_pixels_buffer, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_pixels_buffer, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1347,7 +1384,7 @@ be_local_closure(Leds_matrix_pixels_buffer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1369,7 +1406,8 @@ be_local_closure(Leds_matrix_pixels_buffer, /* name */ /******************************************************************** ** Solidified function: dirty ********************************************************************/ -be_local_closure(Leds_matrix_dirty, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_dirty, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1377,7 +1415,7 @@ be_local_closure(Leds_matrix_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1399,7 +1437,8 @@ be_local_closure(Leds_matrix_dirty, /* name */ /******************************************************************** ** Solidified function: set_matrix_pixel_color ********************************************************************/ -be_local_closure(Leds_matrix_set_matrix_pixel_color, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_set_matrix_pixel_color, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -1407,7 +1446,7 @@ be_local_closure(Leds_matrix_set_matrix_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1465,7 +1504,8 @@ be_local_closure(Leds_matrix_set_matrix_pixel_color, /* name */ /******************************************************************** ** Solidified function: is_dirty ********************************************************************/ -be_local_closure(Leds_matrix_is_dirty, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_is_dirty, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1473,7 +1513,7 @@ be_local_closure(Leds_matrix_is_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1495,7 +1535,8 @@ be_local_closure(Leds_matrix_is_dirty, /* name */ /******************************************************************** ** Solidified function: set_alternate ********************************************************************/ -be_local_closure(Leds_matrix_set_alternate, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_set_alternate, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1503,7 +1544,7 @@ be_local_closure(Leds_matrix_set_alternate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(alternate), @@ -1522,7 +1563,8 @@ be_local_closure(Leds_matrix_set_alternate, /* name */ /******************************************************************** ** Solidified function: begin ********************************************************************/ -be_local_closure(Leds_matrix_begin, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_begin, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -1530,7 +1572,7 @@ be_local_closure(Leds_matrix_begin, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 0, /* has constants */ NULL, /* no const */ &be_const_str_begin, @@ -1546,7 +1588,8 @@ be_local_closure(Leds_matrix_begin, /* name */ /******************************************************************** ** Solidified function: pixel_count ********************************************************************/ -be_local_closure(Leds_matrix_pixel_count, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_pixel_count, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1554,7 +1597,7 @@ be_local_closure(Leds_matrix_pixel_count, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(w), @@ -1576,7 +1619,8 @@ be_local_closure(Leds_matrix_pixel_count, /* name */ /******************************************************************** ** Solidified function: get_alternate ********************************************************************/ -be_local_closure(Leds_matrix_get_alternate, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_get_alternate, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1584,7 +1628,7 @@ be_local_closure(Leds_matrix_get_alternate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(alternate), @@ -1603,7 +1647,8 @@ be_local_closure(Leds_matrix_get_alternate, /* name */ /******************************************************************** ** Solidified function: pixel_offset ********************************************************************/ -be_local_closure(Leds_matrix_pixel_offset, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_pixel_offset, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1611,7 +1656,7 @@ be_local_closure(Leds_matrix_pixel_offset, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(offset), @@ -1630,7 +1675,8 @@ be_local_closure(Leds_matrix_pixel_offset, /* name */ /******************************************************************** ** Solidified function: can_show ********************************************************************/ -be_local_closure(Leds_matrix_can_show, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_can_show, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1638,7 +1684,7 @@ be_local_closure(Leds_matrix_can_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1660,7 +1706,8 @@ be_local_closure(Leds_matrix_can_show, /* name */ /******************************************************************** ** Solidified function: set_bytes ********************************************************************/ -be_local_closure(Leds_matrix_set_bytes, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_set_bytes, /* name */ be_nested_proto( 13, /* nstack */ 5, /* argc */ @@ -1668,7 +1715,7 @@ be_local_closure(Leds_matrix_set_bytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(h), @@ -1706,7 +1753,8 @@ be_local_closure(Leds_matrix_set_bytes, /* name */ /******************************************************************** ** Solidified function: get_pixel_color ********************************************************************/ -be_local_closure(Leds_matrix_get_pixel_color, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_get_pixel_color, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1714,7 +1762,7 @@ be_local_closure(Leds_matrix_get_pixel_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(strip), @@ -1739,7 +1787,8 @@ be_local_closure(Leds_matrix_get_pixel_color, /* name */ /******************************************************************** ** Solidified function: clear ********************************************************************/ -be_local_closure(Leds_matrix_clear, /* name */ +extern const bclass be_class_Leds_matrix; +be_local_closure(class_Leds_matrix_clear, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1747,7 +1796,7 @@ be_local_closure(Leds_matrix_clear, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds_matrix, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(clear_to), @@ -1777,31 +1826,31 @@ be_local_class(Leds_matrix, NULL, be_nested_map(25, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(Leds_matrix_init_closure) }, - { be_const_key(show, -1), be_const_closure(Leds_matrix_show_closure) }, + { be_const_key(init, -1), be_const_closure(class_Leds_matrix_init_closure) }, + { be_const_key(show, -1), be_const_closure(class_Leds_matrix_show_closure) }, { be_const_key(alternate, -1), be_const_var(4) }, - { be_const_key(get_pixel_color, 14), be_const_closure(Leds_matrix_get_pixel_color_closure) }, - { be_const_key(is_dirty, -1), be_const_closure(Leds_matrix_is_dirty_closure) }, - { be_const_key(clear_to, 0), be_const_closure(Leds_matrix_clear_to_closure) }, - { be_const_key(set_pixel_color, -1), be_const_closure(Leds_matrix_set_pixel_color_closure) }, - { be_const_key(pixels_buffer, -1), be_const_closure(Leds_matrix_pixels_buffer_closure) }, - { be_const_key(dirty, -1), be_const_closure(Leds_matrix_dirty_closure) }, - { be_const_key(can_show, 21), be_const_closure(Leds_matrix_can_show_closure) }, - { be_const_key(pixel_size, 4), be_const_closure(Leds_matrix_pixel_size_closure) }, + { be_const_key(get_pixel_color, 14), be_const_closure(class_Leds_matrix_get_pixel_color_closure) }, + { be_const_key(is_dirty, -1), be_const_closure(class_Leds_matrix_is_dirty_closure) }, + { be_const_key(clear_to, 0), be_const_closure(class_Leds_matrix_clear_to_closure) }, + { be_const_key(set_pixel_color, -1), be_const_closure(class_Leds_matrix_set_pixel_color_closure) }, + { be_const_key(pixels_buffer, -1), be_const_closure(class_Leds_matrix_pixels_buffer_closure) }, + { be_const_key(dirty, -1), be_const_closure(class_Leds_matrix_dirty_closure) }, + { be_const_key(can_show, 21), be_const_closure(class_Leds_matrix_can_show_closure) }, + { be_const_key(pixel_size, 4), be_const_closure(class_Leds_matrix_pixel_size_closure) }, { be_const_key(w, -1), be_const_var(3) }, - { be_const_key(set_matrix_pixel_color, 9), be_const_closure(Leds_matrix_set_matrix_pixel_color_closure) }, + { be_const_key(set_matrix_pixel_color, 9), be_const_closure(class_Leds_matrix_set_matrix_pixel_color_closure) }, { be_const_key(offset, -1), be_const_var(1) }, { be_const_key(strip, -1), be_const_var(0) }, - { be_const_key(begin, -1), be_const_closure(Leds_matrix_begin_closure) }, + { be_const_key(begin, -1), be_const_closure(class_Leds_matrix_begin_closure) }, { be_const_key(h, -1), be_const_var(2) }, { be_const_key(pix_size, -1), be_const_var(6) }, - { be_const_key(pixel_count, -1), be_const_closure(Leds_matrix_pixel_count_closure) }, - { be_const_key(get_alternate, -1), be_const_closure(Leds_matrix_get_alternate_closure) }, - { be_const_key(pixel_offset, -1), be_const_closure(Leds_matrix_pixel_offset_closure) }, - { be_const_key(set_alternate, -1), be_const_closure(Leds_matrix_set_alternate_closure) }, - { be_const_key(set_bytes, -1), be_const_closure(Leds_matrix_set_bytes_closure) }, + { be_const_key(pixel_count, -1), be_const_closure(class_Leds_matrix_pixel_count_closure) }, + { be_const_key(get_alternate, -1), be_const_closure(class_Leds_matrix_get_alternate_closure) }, + { be_const_key(pixel_offset, -1), be_const_closure(class_Leds_matrix_pixel_offset_closure) }, + { be_const_key(set_alternate, -1), be_const_closure(class_Leds_matrix_set_alternate_closure) }, + { be_const_key(set_bytes, -1), be_const_closure(class_Leds_matrix_set_bytes_closure) }, { be_const_key(pix_buffer, 3), be_const_var(5) }, - { be_const_key(clear, -1), be_const_closure(Leds_matrix_clear_closure) }, + { be_const_key(clear, -1), be_const_closure(class_Leds_matrix_clear_closure) }, })), (bstring*) &be_const_str_Leds_matrix ); @@ -1809,7 +1858,8 @@ be_local_class(Leds_matrix, /******************************************************************** ** Solidified function: create_matrix ********************************************************************/ -be_local_closure(Leds_create_matrix, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_create_matrix, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -1817,7 +1867,7 @@ be_local_closure(Leds_create_matrix, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -1875,7 +1925,8 @@ be_local_closure(Leds_create_matrix, /* name */ /******************************************************************** ** Solidified function: get_gamma ********************************************************************/ -be_local_closure(Leds_get_gamma, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_get_gamma, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1883,7 +1934,7 @@ be_local_closure(Leds_get_gamma, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(gamma), @@ -1902,7 +1953,8 @@ be_local_closure(Leds_get_gamma, /* name */ /******************************************************************** ** Solidified function: is_dirty ********************************************************************/ -be_local_closure(Leds_is_dirty, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_is_dirty, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1910,7 +1962,7 @@ be_local_closure(Leds_is_dirty, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -1931,7 +1983,8 @@ be_local_closure(Leds_is_dirty, /* name */ /******************************************************************** ** Solidified function: can_show ********************************************************************/ -be_local_closure(Leds_can_show, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_can_show, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1939,7 +1992,7 @@ be_local_closure(Leds_can_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -1961,7 +2014,8 @@ be_local_closure(Leds_can_show, /* name */ /******************************************************************** ** Solidified function: assign_rmt ********************************************************************/ -be_local_closure(Leds_assign_rmt, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_assign_rmt, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -1969,7 +2023,7 @@ be_local_closure(Leds_assign_rmt, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_const_class(be_class_Leds), @@ -2074,7 +2128,8 @@ be_local_closure(Leds_assign_rmt, /* name */ /******************************************************************** ** Solidified function: ctor ********************************************************************/ -be_local_closure(Leds_ctor, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_ctor, /* name */ be_nested_proto( 12, /* nstack */ 5, /* argc */ @@ -2082,7 +2137,7 @@ be_local_closure(Leds_ctor, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -2128,7 +2183,8 @@ be_local_closure(Leds_ctor, /* name */ /******************************************************************** ** Solidified function: pixels_buffer ********************************************************************/ -be_local_closure(Leds_pixels_buffer, /* name */ +extern const bclass be_class_Leds; +be_local_closure(class_Leds_pixels_buffer, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -2136,7 +2192,7 @@ be_local_closure(Leds_pixels_buffer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Leds, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(call_native), @@ -2184,41 +2240,34 @@ be_local_class(Leds, be_nested_map(27, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(leds, -1), be_const_var(1) }, - { be_const_key(create_segment, 25), be_const_closure(Leds_create_segment_closure) }, - { be_const_key(clear, -1), be_const_closure(Leds_clear_closure) }, - { be_const_key(begin, -1), be_const_closure(Leds_begin_closure) }, - { be_const_key(ctor, 7), be_const_closure(Leds_ctor_closure) }, - { be_const_key(assign_rmt, 12), be_const_static_closure(Leds_assign_rmt_closure) }, - { be_const_key(to_gamma, 8), be_const_closure(Leds_to_gamma_closure) }, - { be_const_key(dirty, -1), be_const_closure(Leds_dirty_closure) }, - { be_const_key(matrix, -1), be_const_static_closure(Leds_matrix_closure) }, - { be_const_key(pixel_offset, 2), be_const_closure(Leds_pixel_offset_closure) }, - { be_const_key(set_gamma, 4), be_const_closure(Leds_set_gamma_closure) }, - { be_const_key(get_pixel_color, -1), be_const_closure(Leds_get_pixel_color_closure) }, - { be_const_key(pixel_size, -1), be_const_closure(Leds_pixel_size_closure) }, - { be_const_key(create_matrix, -1), be_const_closure(Leds_create_matrix_closure) }, - { be_const_key(set_bri, 9), be_const_closure(Leds_set_bri_closure) }, - { be_const_key(clear_to, -1), be_const_closure(Leds_clear_to_closure) }, - { be_const_key(set_pixel_color, -1), be_const_closure(Leds_set_pixel_color_closure) }, + { be_const_key(create_segment, 25), be_const_closure(class_Leds_create_segment_closure) }, + { be_const_key(clear, -1), be_const_closure(class_Leds_clear_closure) }, + { be_const_key(begin, -1), be_const_closure(class_Leds_begin_closure) }, + { be_const_key(ctor, 7), be_const_closure(class_Leds_ctor_closure) }, + { be_const_key(assign_rmt, 12), be_const_static_closure(class_Leds_assign_rmt_closure) }, + { be_const_key(to_gamma, 8), be_const_closure(class_Leds_to_gamma_closure) }, + { be_const_key(dirty, -1), be_const_closure(class_Leds_dirty_closure) }, + { be_const_key(matrix, -1), be_const_static_closure(class_Leds_matrix_closure) }, + { be_const_key(pixel_offset, 2), be_const_closure(class_Leds_pixel_offset_closure) }, + { be_const_key(set_gamma, 4), be_const_closure(class_Leds_set_gamma_closure) }, + { be_const_key(get_pixel_color, -1), be_const_closure(class_Leds_get_pixel_color_closure) }, + { be_const_key(pixel_size, -1), be_const_closure(class_Leds_pixel_size_closure) }, + { be_const_key(create_matrix, -1), be_const_closure(class_Leds_create_matrix_closure) }, + { be_const_key(set_bri, 9), be_const_closure(class_Leds_set_bri_closure) }, + { be_const_key(clear_to, -1), be_const_closure(class_Leds_clear_to_closure) }, + { be_const_key(set_pixel_color, -1), be_const_closure(class_Leds_set_pixel_color_closure) }, { be_const_key(gamma, -1), be_const_var(0) }, - { be_const_key(pixel_count, 17), be_const_closure(Leds_pixel_count_closure) }, - { be_const_key(get_bri, 13), be_const_closure(Leds_get_bri_closure) }, - { be_const_key(get_gamma, -1), be_const_closure(Leds_get_gamma_closure) }, + { be_const_key(pixel_count, 17), be_const_closure(class_Leds_pixel_count_closure) }, + { be_const_key(get_bri, 13), be_const_closure(class_Leds_get_bri_closure) }, + { be_const_key(get_gamma, -1), be_const_closure(class_Leds_get_gamma_closure) }, { be_const_key(bri, -1), be_const_var(2) }, - { be_const_key(is_dirty, -1), be_const_closure(Leds_is_dirty_closure) }, - { be_const_key(can_show, -1), be_const_closure(Leds_can_show_closure) }, - { be_const_key(init, 5), be_const_closure(Leds_init_closure) }, - { be_const_key(show, -1), be_const_closure(Leds_show_closure) }, - { be_const_key(pixels_buffer, -1), be_const_closure(Leds_pixels_buffer_closure) }, + { be_const_key(is_dirty, -1), be_const_closure(class_Leds_is_dirty_closure) }, + { be_const_key(can_show, -1), be_const_closure(class_Leds_can_show_closure) }, + { be_const_key(init, 5), be_const_closure(class_Leds_init_closure) }, + { be_const_key(show, -1), be_const_closure(class_Leds_show_closure) }, + { be_const_key(pixels_buffer, -1), be_const_closure(class_Leds_pixels_buffer_closure) }, })), (bstring*) &be_const_str_Leds ); -/*******************************************************************/ - -void be_load_Leds_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Leds); - be_setglobal(vm, "Leds"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h index f982fdcb3..f3c777748 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_tasmota_init, /* name */ +be_local_closure(module_lv_tasmota_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(lv_tasmota_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[36]) { /* constants */ /* K0 */ be_nested_str_weak(lv), @@ -127,7 +127,8 @@ extern const bclass be_class_splash_runner; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(splash_runner_init, /* name */ +extern const bclass be_class_splash_runner; +be_local_closure(class_splash_runner_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -135,7 +136,7 @@ be_local_closure(splash_runner_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_splash_runner, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -158,7 +159,8 @@ be_local_closure(splash_runner_init, /* name */ /******************************************************************** ** Solidified function: display ********************************************************************/ -be_local_closure(splash_runner_display, /* name */ +extern const bclass be_class_splash_runner; +be_local_closure(class_splash_runner_display, /* name */ be_nested_proto( 9, /* nstack */ 5, /* argc */ @@ -166,7 +168,7 @@ be_local_closure(splash_runner_display, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_splash_runner, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(display), @@ -208,8 +210,8 @@ be_local_class(splash_runner, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(display, -1), be_const_closure(splash_runner_display_closure) }, - { be_const_key_weak(init, 0), be_const_closure(splash_runner_init_closure) }, + { be_const_key_weak(display, -1), be_const_closure(class_splash_runner_display_closure) }, + { be_const_key_weak(init, 0), be_const_closure(class_splash_runner_init_closure) }, })), be_str_weak(splash_runner) ); @@ -217,7 +219,7 @@ be_local_class(splash_runner, /******************************************************************** ** Solidified function: splash_init ********************************************************************/ -be_local_closure(lv_tasmota_splash_init, /* name */ +be_local_closure(module_lv_tasmota_splash_init, /* name */ be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -225,7 +227,7 @@ be_local_closure(lv_tasmota_splash_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(display), @@ -259,7 +261,7 @@ be_local_closure(lv_tasmota_splash_init, /* name */ /******************************************************************** ** Solidified function: splash_remove ********************************************************************/ -be_local_closure(lv_tasmota_splash_remove, /* name */ +be_local_closure(module_lv_tasmota_splash_remove, /* name */ be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -267,7 +269,7 @@ be_local_closure(lv_tasmota_splash_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(lv), @@ -295,7 +297,7 @@ be_local_closure(lv_tasmota_splash_remove, /* name */ /******************************************************************** ** Solidified function: splash ********************************************************************/ -be_local_closure(lv_tasmota_splash, /* name */ +be_local_closure(module_lv_tasmota_splash, /* name */ be_nested_proto( 14, /* nstack */ 0, /* argc */ @@ -303,7 +305,7 @@ be_local_closure(lv_tasmota_splash, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[43]) { /* constants */ /* K0 */ be_nested_str_weak(display), diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h index 5977e9117..2e91aeeb0 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_lv_tasmota_widgets.h @@ -9,7 +9,8 @@ extern const bclass be_class_lv_clock; /******************************************************************** ** Solidified function: set_time ********************************************************************/ -be_local_closure(lv_clock_set_time, /* name */ +extern const bclass be_class_lv_clock; +be_local_closure(class_lv_clock_set_time, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(lv_clock_set_time, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_clock, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(hour), @@ -67,7 +68,8 @@ be_local_closure(lv_clock_set_time, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(lv_clock_every_second, /* name */ +extern const bclass be_class_lv_clock; +be_local_closure(class_lv_clock_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -75,7 +77,7 @@ be_local_closure(lv_clock_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_clock, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -117,7 +119,8 @@ be_local_closure(lv_clock_every_second, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_clock_init, /* name */ +extern const bclass be_class_lv_clock; +be_local_closure(class_lv_clock_init, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -125,7 +128,7 @@ be_local_closure(lv_clock_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -135,7 +138,7 @@ be_local_closure(lv_clock_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(before_del), @@ -149,6 +152,7 @@ be_local_closure(lv_clock_init, /* name */ 0x80040000, // 0003 RET 1 R0 }) ), + &be_class_lv_clock, }), 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ @@ -214,7 +218,8 @@ be_local_closure(lv_clock_init, /* name */ /******************************************************************** ** Solidified function: before_del ********************************************************************/ -be_local_closure(lv_clock_before_del, /* name */ +extern const bclass be_class_lv_clock; +be_local_closure(class_lv_clock_before_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -222,7 +227,7 @@ be_local_closure(lv_clock_before_del, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_clock, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -253,28 +258,22 @@ be_local_class(lv_clock, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(sec, -1), be_const_var(2) }, { be_const_key_weak(hour, -1), be_const_var(0) }, - { be_const_key_weak(before_del, 6), be_const_closure(lv_clock_before_del_closure) }, - { be_const_key_weak(every_second, -1), be_const_closure(lv_clock_every_second_closure) }, + { be_const_key_weak(before_del, 6), be_const_closure(class_lv_clock_before_del_closure) }, + { be_const_key_weak(every_second, -1), be_const_closure(class_lv_clock_every_second_closure) }, { be_const_key_weak(minute, -1), be_const_var(1) }, - { be_const_key_weak(set_time, 2), be_const_closure(lv_clock_set_time_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_clock_init_closure) }, + { be_const_key_weak(set_time, 2), be_const_closure(class_lv_clock_set_time_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_clock_init_closure) }, })), be_str_weak(lv_clock) ); -/*******************************************************************/ - -void be_load_lv_clock_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_clock); - be_setglobal(vm, "lv_clock"); - be_pop(vm, 1); -} extern const bclass be_class_lv_clock_icon; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_clock_icon_init, /* name */ +extern const bclass be_class_lv_clock_icon; +be_local_closure(class_lv_clock_icon_init, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -282,7 +281,7 @@ be_local_closure(lv_clock_icon_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_clock_icon, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -380,24 +379,18 @@ be_local_class(lv_clock_icon, &be_class_lv_clock, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_clock_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_clock_icon_init_closure) }, })), be_str_weak(lv_clock_icon) ); -/*******************************************************************/ - -void be_load_lv_clock_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_clock_icon); - be_setglobal(vm, "lv_clock_icon"); - be_pop(vm, 1); -} extern const bclass be_class_lv_signal_arcs; /******************************************************************** ** Solidified function: widget_event ********************************************************************/ -be_local_closure(lv_signal_arcs_widget_event, /* name */ +extern const bclass be_class_lv_signal_arcs; +be_local_closure(class_lv_signal_arcs_widget_event, /* name */ be_nested_proto( 28, /* nstack */ 2, /* argc */ @@ -405,7 +398,7 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -413,7 +406,7 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), @@ -429,6 +422,7 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ 0x80000000, // 0005 RET 0 }) ), + &be_class_lv_signal_arcs, }), 1, /* has constants */ ( &(const bvalue[35]) { /* constants */ @@ -641,7 +635,8 @@ be_local_closure(lv_signal_arcs_widget_event, /* name */ /******************************************************************** ** Solidified function: get_percentage ********************************************************************/ -be_local_closure(lv_signal_arcs_get_percentage, /* name */ +extern const bclass be_class_lv_signal_arcs; +be_local_closure(class_lv_signal_arcs_get_percentage, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -649,7 +644,7 @@ be_local_closure(lv_signal_arcs_get_percentage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_arcs, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(percentage), @@ -668,7 +663,8 @@ be_local_closure(lv_signal_arcs_get_percentage, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_signal_arcs_init, /* name */ +extern const bclass be_class_lv_signal_arcs; +be_local_closure(class_lv_signal_arcs_init, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -676,7 +672,7 @@ be_local_closure(lv_signal_arcs_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_arcs, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -740,7 +736,8 @@ be_local_closure(lv_signal_arcs_init, /* name */ /******************************************************************** ** Solidified function: set_percentage ********************************************************************/ -be_local_closure(lv_signal_arcs_set_percentage, /* name */ +extern const bclass be_class_lv_signal_arcs; +be_local_closure(class_lv_signal_arcs_set_percentage, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -748,7 +745,7 @@ be_local_closure(lv_signal_arcs_set_percentage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_arcs, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(percentage), @@ -791,30 +788,24 @@ be_local_class(lv_signal_arcs, &be_class_lv_obj, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(widget_event, 2), be_const_closure(lv_signal_arcs_widget_event_closure) }, - { be_const_key_weak(get_percentage, 3), be_const_closure(lv_signal_arcs_get_percentage_closure) }, - { be_const_key_weak(set_percentage, 6), be_const_closure(lv_signal_arcs_set_percentage_closure) }, + { be_const_key_weak(widget_event, 2), be_const_closure(class_lv_signal_arcs_widget_event_closure) }, + { be_const_key_weak(get_percentage, 3), be_const_closure(class_lv_signal_arcs_get_percentage_closure) }, + { be_const_key_weak(set_percentage, 6), be_const_closure(class_lv_signal_arcs_set_percentage_closure) }, { be_const_key_weak(arc_dsc, -1), be_const_var(2) }, { be_const_key_weak(percentage, -1), be_const_var(0) }, - { be_const_key_weak(init, -1), be_const_closure(lv_signal_arcs_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_signal_arcs_init_closure) }, { be_const_key_weak(area, -1), be_const_var(1) }, })), be_str_weak(lv_signal_arcs) ); -/*******************************************************************/ - -void be_load_lv_signal_arcs_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_signal_arcs); - be_setglobal(vm, "lv_signal_arcs"); - be_pop(vm, 1); -} extern const bclass be_class_lv_wifi_arcs; /******************************************************************** ** Solidified function: before_del ********************************************************************/ -be_local_closure(lv_wifi_arcs_before_del, /* name */ +extern const bclass be_class_lv_wifi_arcs; +be_local_closure(class_lv_wifi_arcs_before_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -822,7 +813,7 @@ be_local_closure(lv_wifi_arcs_before_del, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_arcs, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -845,7 +836,8 @@ be_local_closure(lv_wifi_arcs_before_del, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_wifi_arcs_init, /* name */ +extern const bclass be_class_lv_wifi_arcs; +be_local_closure(class_lv_wifi_arcs_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -853,7 +845,7 @@ be_local_closure(lv_wifi_arcs_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_arcs, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -888,7 +880,8 @@ be_local_closure(lv_wifi_arcs_init, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(lv_wifi_arcs_every_second, /* name */ +extern const bclass be_class_lv_wifi_arcs; +be_local_closure(class_lv_wifi_arcs_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -896,7 +889,7 @@ be_local_closure(lv_wifi_arcs_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_arcs, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -948,26 +941,20 @@ be_local_class(lv_wifi_arcs, &be_class_lv_signal_arcs, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_arcs_before_del_closure) }, - { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_arcs_every_second_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_init_closure) }, + { be_const_key_weak(before_del, 1), be_const_closure(class_lv_wifi_arcs_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(class_lv_wifi_arcs_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_arcs_init_closure) }, })), be_str_weak(lv_wifi_arcs) ); -/*******************************************************************/ - -void be_load_lv_wifi_arcs_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_arcs); - be_setglobal(vm, "lv_wifi_arcs"); - be_pop(vm, 1); -} extern const bclass be_class_lv_wifi_arcs_icon; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_wifi_arcs_icon_init, /* name */ +extern const bclass be_class_lv_wifi_arcs_icon; +be_local_closure(class_lv_wifi_arcs_icon_init, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -975,7 +962,7 @@ be_local_closure(lv_wifi_arcs_icon_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_arcs_icon, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1082,24 +1069,18 @@ be_local_class(lv_wifi_arcs_icon, &be_class_lv_wifi_arcs, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_arcs_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_arcs_icon_init_closure) }, })), be_str_weak(lv_wifi_arcs_icon) ); -/*******************************************************************/ - -void be_load_lv_wifi_arcs_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_arcs_icon); - be_setglobal(vm, "lv_wifi_arcs_icon"); - be_pop(vm, 1); -} extern const bclass be_class_lv_signal_bars; /******************************************************************** ** Solidified function: set_percentage ********************************************************************/ -be_local_closure(lv_signal_bars_set_percentage, /* name */ +extern const bclass be_class_lv_signal_bars; +be_local_closure(class_lv_signal_bars_set_percentage, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1107,7 +1088,7 @@ be_local_closure(lv_signal_bars_set_percentage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_bars, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(percentage), @@ -1144,7 +1125,8 @@ be_local_closure(lv_signal_bars_set_percentage, /* name */ /******************************************************************** ** Solidified function: get_percentage ********************************************************************/ -be_local_closure(lv_signal_bars_get_percentage, /* name */ +extern const bclass be_class_lv_signal_bars; +be_local_closure(class_lv_signal_bars_get_percentage, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1152,7 +1134,7 @@ be_local_closure(lv_signal_bars_get_percentage, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_bars, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(percentage), @@ -1171,7 +1153,8 @@ be_local_closure(lv_signal_bars_get_percentage, /* name */ /******************************************************************** ** Solidified function: widget_event ********************************************************************/ -be_local_closure(lv_signal_bars_widget_event, /* name */ +extern const bclass be_class_lv_signal_bars; +be_local_closure(class_lv_signal_bars_widget_event, /* name */ be_nested_proto( 22, /* nstack */ 2, /* argc */ @@ -1179,7 +1162,7 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1187,7 +1170,7 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(1), @@ -1203,6 +1186,7 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ 0x80000000, // 0005 RET 0 }) ), + &be_class_lv_signal_bars, }), 1, /* has constants */ ( &(const bvalue[33]) { /* constants */ @@ -1357,7 +1341,8 @@ be_local_closure(lv_signal_bars_widget_event, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_signal_bars_init, /* name */ +extern const bclass be_class_lv_signal_bars; +be_local_closure(class_lv_signal_bars_init, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1365,7 +1350,7 @@ be_local_closure(lv_signal_bars_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_signal_bars, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1430,30 +1415,24 @@ be_local_class(lv_signal_bars, &be_class_lv_obj, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_percentage, 3), be_const_closure(lv_signal_bars_set_percentage_closure) }, - { be_const_key_weak(get_percentage, -1), be_const_closure(lv_signal_bars_get_percentage_closure) }, + { be_const_key_weak(set_percentage, 3), be_const_closure(class_lv_signal_bars_set_percentage_closure) }, + { be_const_key_weak(get_percentage, -1), be_const_closure(class_lv_signal_bars_get_percentage_closure) }, { be_const_key_weak(percentage, -1), be_const_var(0) }, { be_const_key_weak(area, 6), be_const_var(1) }, { be_const_key_weak(line_dsc, 2), be_const_var(2) }, - { be_const_key_weak(init, -1), be_const_closure(lv_signal_bars_init_closure) }, - { be_const_key_weak(widget_event, -1), be_const_closure(lv_signal_bars_widget_event_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_signal_bars_init_closure) }, + { be_const_key_weak(widget_event, -1), be_const_closure(class_lv_signal_bars_widget_event_closure) }, })), be_str_weak(lv_signal_bars) ); -/*******************************************************************/ - -void be_load_lv_signal_bars_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_signal_bars); - be_setglobal(vm, "lv_signal_bars"); - be_pop(vm, 1); -} extern const bclass be_class_lv_wifi_bars; /******************************************************************** ** Solidified function: before_del ********************************************************************/ -be_local_closure(lv_wifi_bars_before_del, /* name */ +extern const bclass be_class_lv_wifi_bars; +be_local_closure(class_lv_wifi_bars_before_del, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1461,7 +1440,7 @@ be_local_closure(lv_wifi_bars_before_del, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_bars, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -1484,7 +1463,8 @@ be_local_closure(lv_wifi_bars_before_del, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_wifi_bars_init, /* name */ +extern const bclass be_class_lv_wifi_bars; +be_local_closure(class_lv_wifi_bars_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1492,7 +1472,7 @@ be_local_closure(lv_wifi_bars_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_bars, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1527,7 +1507,8 @@ be_local_closure(lv_wifi_bars_init, /* name */ /******************************************************************** ** Solidified function: every_second ********************************************************************/ -be_local_closure(lv_wifi_bars_every_second, /* name */ +extern const bclass be_class_lv_wifi_bars; +be_local_closure(class_lv_wifi_bars_every_second, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1535,7 +1516,7 @@ be_local_closure(lv_wifi_bars_every_second, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_bars, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -1587,26 +1568,20 @@ be_local_class(lv_wifi_bars, &be_class_lv_signal_bars, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(before_del, 1), be_const_closure(lv_wifi_bars_before_del_closure) }, - { be_const_key_weak(every_second, 2), be_const_closure(lv_wifi_bars_every_second_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_init_closure) }, + { be_const_key_weak(before_del, 1), be_const_closure(class_lv_wifi_bars_before_del_closure) }, + { be_const_key_weak(every_second, 2), be_const_closure(class_lv_wifi_bars_every_second_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_bars_init_closure) }, })), be_str_weak(lv_wifi_bars) ); -/*******************************************************************/ - -void be_load_lv_wifi_bars_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_bars); - be_setglobal(vm, "lv_wifi_bars"); - be_pop(vm, 1); -} extern const bclass be_class_lv_wifi_bars_icon; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_wifi_bars_icon_init, /* name */ +extern const bclass be_class_lv_wifi_bars_icon; +be_local_closure(class_lv_wifi_bars_icon_init, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -1614,7 +1589,7 @@ be_local_closure(lv_wifi_bars_icon_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_wifi_bars_icon, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -1717,16 +1692,9 @@ be_local_class(lv_wifi_bars_icon, &be_class_lv_wifi_bars, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_wifi_bars_icon_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_wifi_bars_icon_init_closure) }, })), be_str_weak(lv_wifi_bars_icon) ); -/*******************************************************************/ - -void be_load_lv_wifi_bars_icon_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lv_wifi_bars_icon); - be_setglobal(vm, "lv_wifi_bars_icon"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_mqtt.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_mqtt.h index 14e08786c..267f65ad1 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_mqtt.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_mqtt.h @@ -9,7 +9,8 @@ extern const bclass be_class_MQTT; /******************************************************************** ** Solidified function: mqtt_data ********************************************************************/ -be_local_closure(MQTT_mqtt_data, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_mqtt_data, /* name */ be_nested_proto( 14, /* nstack */ 5, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(MQTT_mqtt_data, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_MQTT, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(topics), @@ -68,7 +69,8 @@ be_local_closure(MQTT_mqtt_data, /* name */ /******************************************************************** ** Solidified function: lazy_init ********************************************************************/ -be_local_closure(MQTT_lazy_init, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_lazy_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -76,7 +78,7 @@ be_local_closure(MQTT_lazy_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -86,7 +88,7 @@ be_local_closure(MQTT_lazy_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(mqtt_connect), @@ -100,6 +102,7 @@ be_local_closure(MQTT_lazy_init, /* name */ 0x80040000, // 0003 RET 1 R0 }) ), + &be_class_MQTT, }), 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ @@ -139,7 +142,8 @@ be_local_closure(MQTT_lazy_init, /* name */ /******************************************************************** ** Solidified function: unsubscribe ********************************************************************/ -be_local_closure(MQTT_unsubscribe, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_unsubscribe, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -147,7 +151,7 @@ be_local_closure(MQTT_unsubscribe, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_MQTT, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(topics), @@ -210,7 +214,8 @@ be_local_closure(MQTT_unsubscribe, /* name */ /******************************************************************** ** Solidified function: mqtt_connect ********************************************************************/ -be_local_closure(MQTT_mqtt_connect, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_mqtt_connect, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -218,7 +223,7 @@ be_local_closure(MQTT_mqtt_connect, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_MQTT, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -265,7 +270,8 @@ extern const bclass be_class_mqtt_listener; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(mqtt_listener_tostring, /* name */ +extern const bclass be_class_mqtt_listener; +be_local_closure(class_mqtt_listener_tostring, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -273,7 +279,7 @@ be_local_closure(mqtt_listener_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_mqtt_listener, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X27_X25s_X27_X29_X3E), @@ -299,7 +305,8 @@ be_local_closure(mqtt_listener_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(mqtt_listener_init, /* name */ +extern const bclass be_class_mqtt_listener; +be_local_closure(class_mqtt_listener_init, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -307,7 +314,7 @@ be_local_closure(mqtt_listener_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_mqtt_listener, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(string), @@ -338,7 +345,8 @@ be_local_closure(mqtt_listener_init, /* name */ /******************************************************************** ** Solidified function: mqtt_data ********************************************************************/ -be_local_closure(mqtt_listener_mqtt_data, /* name */ +extern const bclass be_class_mqtt_listener; +be_local_closure(class_mqtt_listener_mqtt_data, /* name */ be_nested_proto( 17, /* nstack */ 5, /* argc */ @@ -346,7 +354,7 @@ be_local_closure(mqtt_listener_mqtt_data, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_mqtt_listener, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(string), @@ -429,10 +437,10 @@ be_local_class(mqtt_listener, NULL, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(mqtt_data, -1), be_const_closure(mqtt_listener_mqtt_data_closure) }, - { be_const_key(tostring, -1), be_const_closure(mqtt_listener_tostring_closure) }, + { be_const_key(mqtt_data, -1), be_const_closure(class_mqtt_listener_mqtt_data_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_mqtt_listener_tostring_closure) }, { be_const_key(topic, -1), be_const_var(0) }, - { be_const_key(init, -1), be_const_closure(mqtt_listener_init_closure) }, + { be_const_key(init, -1), be_const_closure(class_mqtt_listener_init_closure) }, { be_const_key(closure, 0), be_const_var(2) }, { be_const_key(fulltopic, -1), be_const_var(1) }, })), @@ -442,7 +450,8 @@ be_local_class(mqtt_listener, /******************************************************************** ** Solidified function: mqtt_listener_class ********************************************************************/ -be_local_closure(MQTT_mqtt_listener_class, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_mqtt_listener_class, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -450,7 +459,7 @@ be_local_closure(MQTT_mqtt_listener_class, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_MQTT, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_mqtt_listener), @@ -471,7 +480,8 @@ be_local_closure(MQTT_mqtt_listener_class, /* name */ /******************************************************************** ** Solidified function: subscribe ********************************************************************/ -be_local_closure(MQTT_subscribe, /* name */ +extern const bclass be_class_MQTT; +be_local_closure(class_MQTT_subscribe, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -479,7 +489,7 @@ be_local_closure(MQTT_subscribe, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_MQTT, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str(lazy_init), @@ -562,22 +572,15 @@ be_local_class(MQTT, &be_class_MQTT_ntv, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(mqtt_connect, -1), be_const_closure(MQTT_mqtt_connect_closure) }, - { be_const_key(mqtt_data, -1), be_const_closure(MQTT_mqtt_data_closure) }, - { be_const_key(lazy_init, -1), be_const_closure(MQTT_lazy_init_closure) }, - { be_const_key(unsubscribe, -1), be_const_closure(MQTT_unsubscribe_closure) }, + { be_const_key(mqtt_connect, -1), be_const_closure(class_MQTT_mqtt_connect_closure) }, + { be_const_key(mqtt_data, -1), be_const_closure(class_MQTT_mqtt_data_closure) }, + { be_const_key(lazy_init, -1), be_const_closure(class_MQTT_lazy_init_closure) }, + { be_const_key(unsubscribe, -1), be_const_closure(class_MQTT_unsubscribe_closure) }, { be_const_key(topics, 0), be_const_var(0) }, - { be_const_key(mqtt_listener_class, -1), be_const_closure(MQTT_mqtt_listener_class_closure) }, - { be_const_key(subscribe, -1), be_const_closure(MQTT_subscribe_closure) }, + { be_const_key(mqtt_listener_class, -1), be_const_closure(class_MQTT_mqtt_listener_class_closure) }, + { be_const_key(subscribe, -1), be_const_closure(class_MQTT_subscribe_closure) }, })), (bstring*) &be_const_str_MQTT ); -/*******************************************************************/ - -void be_load_MQTT_class(bvm *vm) { - be_pushntvclass(vm, &be_class_MQTT); - be_setglobal(vm, "MQTT"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ 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 eb318fd5c..c3889218d 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_partition_core.h @@ -9,7 +9,8 @@ extern const bclass be_class_Partition_otadata; /******************************************************************** ** Solidified function: save ********************************************************************/ -be_local_closure(Partition_otadata_save, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_save, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Partition_otadata_save, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -97,7 +98,8 @@ be_local_closure(Partition_otadata_save, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Partition_otadata_tostring, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_tostring, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -105,7 +107,7 @@ be_local_closure(Partition_otadata_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(_X3Cinstance_X3A_X20Partition_otadata_X28ota_active_X3A_X25s_X2C_X20ota_seq_X3D_X5B_X25d_X2C_X25d_X5D_X2C_X20ota_max_X3D_X25d_X29_X3E), @@ -145,7 +147,8 @@ be_local_closure(Partition_otadata_tostring, /* name */ /******************************************************************** ** Solidified function: _validate ********************************************************************/ -be_local_closure(Partition_otadata__validate, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata__validate, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -153,7 +156,7 @@ be_local_closure(Partition_otadata__validate, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(active_otadata), @@ -211,7 +214,8 @@ be_local_closure(Partition_otadata__validate, /* name */ /******************************************************************** ** Solidified function: set_ota_max ********************************************************************/ -be_local_closure(Partition_otadata_set_ota_max, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_set_ota_max, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -219,7 +223,7 @@ be_local_closure(Partition_otadata_set_ota_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(maxota), @@ -238,7 +242,8 @@ be_local_closure(Partition_otadata_set_ota_max, /* name */ /******************************************************************** ** Solidified function: load ********************************************************************/ -be_local_closure(Partition_otadata_load, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_load, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -246,7 +251,7 @@ be_local_closure(Partition_otadata_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -319,7 +324,8 @@ be_local_closure(Partition_otadata_load, /* name */ /******************************************************************** ** Solidified function: crc32_ota_seq ********************************************************************/ -be_local_closure(Partition_otadata_crc32_ota_seq, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_crc32_ota_seq, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -327,7 +333,7 @@ be_local_closure(Partition_otadata_crc32_ota_seq, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Partition_otadata), @@ -359,7 +365,8 @@ be_local_closure(Partition_otadata_crc32_ota_seq, /* name */ /******************************************************************** ** Solidified function: set_active ********************************************************************/ -be_local_closure(Partition_otadata_set_active, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_set_active, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -367,7 +374,7 @@ be_local_closure(Partition_otadata_set_active, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), @@ -430,7 +437,8 @@ be_local_closure(Partition_otadata_set_active, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Partition_otadata_init, /* name */ +extern const bclass be_class_Partition_otadata; +be_local_closure(class_Partition_otadata_init, /* name */ be_nested_proto( 6, /* nstack */ 4, /* argc */ @@ -438,7 +446,7 @@ be_local_closure(Partition_otadata_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_otadata, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(maxota), @@ -484,19 +492,19 @@ be_local_class(Partition_otadata, NULL, be_nested_map(14, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(Partition_otadata_init_closure) }, + { be_const_key(init, -1), be_const_closure(class_Partition_otadata_init_closure) }, { be_const_key(seq1, 13), be_const_var(5) }, - { be_const_key(save, -1), be_const_closure(Partition_otadata_save_closure) }, - { be_const_key(tostring, -1), be_const_closure(Partition_otadata_tostring_closure) }, - { be_const_key(_validate, 6), be_const_closure(Partition_otadata__validate_closure) }, - { be_const_key(set_ota_max, 0), be_const_closure(Partition_otadata_set_ota_max_closure) }, + { be_const_key(save, -1), be_const_closure(class_Partition_otadata_save_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_otadata_tostring_closure) }, + { be_const_key(_validate, 6), be_const_closure(class_Partition_otadata__validate_closure) }, + { be_const_key(set_ota_max, 0), be_const_closure(class_Partition_otadata_set_ota_max_closure) }, { be_const_key(has_factory, -1), be_const_var(1) }, - { be_const_key(load, 8), be_const_closure(Partition_otadata_load_closure) }, - { be_const_key(crc32_ota_seq, -1), be_const_static_closure(Partition_otadata_crc32_ota_seq_closure) }, + { be_const_key(load, 8), be_const_closure(class_Partition_otadata_load_closure) }, + { be_const_key(crc32_ota_seq, -1), be_const_static_closure(class_Partition_otadata_crc32_ota_seq_closure) }, { be_const_key(active_otadata, 11), be_const_var(3) }, { be_const_key(offset, 9), be_const_var(2) }, { be_const_key(seq0, -1), be_const_var(4) }, - { be_const_key(set_active, -1), be_const_closure(Partition_otadata_set_active_closure) }, + { be_const_key(set_active, -1), be_const_closure(class_Partition_otadata_set_active_closure) }, { be_const_key(maxota, -1), be_const_var(0) }, })), (bstring*) &be_const_str_Partition_otadata @@ -507,7 +515,8 @@ extern const bclass be_class_Partition; /******************************************************************** ** Solidified function: save ********************************************************************/ -be_local_closure(Partition_save, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_save, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -515,7 +524,7 @@ be_local_closure(Partition_save, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -552,7 +561,8 @@ be_local_closure(Partition_save, /* name */ /******************************************************************** ** Solidified function: load ********************************************************************/ -be_local_closure(Partition_load, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_load, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -560,7 +570,7 @@ be_local_closure(Partition_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -586,7 +596,8 @@ be_local_closure(Partition_load, /* name */ /******************************************************************** ** Solidified function: get_active ********************************************************************/ -be_local_closure(Partition_get_active, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_active, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -594,7 +605,7 @@ be_local_closure(Partition_get_active, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(otadata), @@ -615,7 +626,8 @@ be_local_closure(Partition_get_active, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Partition_init, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_init, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -623,7 +635,7 @@ be_local_closure(Partition_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -653,7 +665,8 @@ be_local_closure(Partition_init, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Partition_parse, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_parse, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -661,7 +674,7 @@ be_local_closure(Partition_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_const_int(0), @@ -745,7 +758,8 @@ be_local_closure(Partition_parse, /* name */ /******************************************************************** ** Solidified function: get_max_flash_size_k ********************************************************************/ -be_local_closure(Partition_get_max_flash_size_k, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_max_flash_size_k, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -753,7 +767,7 @@ be_local_closure(Partition_get_max_flash_size_k, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -795,7 +809,8 @@ be_local_closure(Partition_get_max_flash_size_k, /* name */ /******************************************************************** ** Solidified function: resize_max_flash_size_k ********************************************************************/ -be_local_closure(Partition_resize_max_flash_size_k, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_resize_max_flash_size_k, /* name */ be_nested_proto( 16, /* nstack */ 1, /* argc */ @@ -803,7 +818,7 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -929,7 +944,8 @@ be_local_closure(Partition_resize_max_flash_size_k, /* name */ /******************************************************************** ** Solidified function: get_flash_definition_sector ********************************************************************/ -be_local_closure(Partition_get_flash_definition_sector, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_flash_definition_sector, /* name */ be_nested_proto( 9, /* nstack */ 0, /* argc */ @@ -937,7 +953,7 @@ be_local_closure(Partition_get_flash_definition_sector, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_class(be_class_Partition), @@ -986,7 +1002,8 @@ be_local_closure(Partition_get_flash_definition_sector, /* name */ /******************************************************************** ** Solidified function: resize_fs_to_max ********************************************************************/ -be_local_closure(Partition_resize_fs_to_max, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_resize_fs_to_max, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -994,7 +1011,7 @@ be_local_closure(Partition_resize_fs_to_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str(get_unallocated_k), @@ -1076,7 +1093,8 @@ be_local_closure(Partition_resize_fs_to_max, /* name */ /******************************************************************** ** Solidified function: switch_factory ********************************************************************/ -be_local_closure(Partition_switch_factory, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_switch_factory, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1084,7 +1102,7 @@ be_local_closure(Partition_switch_factory, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -1107,7 +1125,8 @@ be_local_closure(Partition_switch_factory, /* name */ /******************************************************************** ** Solidified function: load_otadata ********************************************************************/ -be_local_closure(Partition_load_otadata, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_load_otadata, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1115,7 +1134,7 @@ be_local_closure(Partition_load_otadata, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(ota_max), @@ -1172,7 +1191,8 @@ be_local_closure(Partition_load_otadata, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Partition_tostring, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_tostring, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1180,7 +1200,7 @@ be_local_closure(Partition_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(_X3Cinstance_X3A_X20Partition_X28_X5B_X0A), @@ -1228,7 +1248,8 @@ be_local_closure(Partition_tostring, /* name */ /******************************************************************** ** Solidified function: has_factory ********************************************************************/ -be_local_closure(Partition_has_factory, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_has_factory, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1236,7 +1257,7 @@ be_local_closure(Partition_has_factory, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(get_factory_slot), @@ -1258,7 +1279,8 @@ be_local_closure(Partition_has_factory, /* name */ /******************************************************************** ** Solidified function: tobytes ********************************************************************/ -be_local_closure(Partition_tobytes, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_tobytes, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1266,7 +1288,7 @@ be_local_closure(Partition_tobytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -1326,7 +1348,8 @@ be_local_closure(Partition_tobytes, /* name */ /******************************************************************** ** Solidified function: ota_max ********************************************************************/ -be_local_closure(Partition_ota_max, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_ota_max, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -1334,7 +1357,7 @@ be_local_closure(Partition_ota_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -1387,7 +1410,8 @@ be_local_closure(Partition_ota_max, /* name */ /******************************************************************** ** Solidified function: invalidate_spiffs ********************************************************************/ -be_local_closure(Partition_invalidate_spiffs, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_invalidate_spiffs, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -1395,7 +1419,7 @@ be_local_closure(Partition_invalidate_spiffs, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -1441,7 +1465,8 @@ be_local_closure(Partition_invalidate_spiffs, /* name */ /******************************************************************** ** Solidified function: get_factory_slot ********************************************************************/ -be_local_closure(Partition_get_factory_slot, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_factory_slot, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1449,7 +1474,7 @@ be_local_closure(Partition_get_factory_slot, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -1484,7 +1509,8 @@ be_local_closure(Partition_get_factory_slot, /* name */ /******************************************************************** ** Solidified function: set_active ********************************************************************/ -be_local_closure(Partition_set_active, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_set_active, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1492,7 +1518,7 @@ be_local_closure(Partition_set_active, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_const_int(0), @@ -1532,7 +1558,8 @@ be_local_closure(Partition_set_active, /* name */ /******************************************************************** ** Solidified function: get_unallocated_k ********************************************************************/ -be_local_closure(Partition_get_unallocated_k, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_unallocated_k, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1540,7 +1567,7 @@ be_local_closure(Partition_get_unallocated_k, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -1580,7 +1607,8 @@ be_local_closure(Partition_get_unallocated_k, /* name */ /******************************************************************** ** Solidified function: get_ota_slot ********************************************************************/ -be_local_closure(Partition_get_ota_slot, /* name */ +extern const bclass be_class_Partition; +be_local_closure(class_Partition_get_ota_slot, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1588,7 +1616,7 @@ be_local_closure(Partition_get_ota_slot, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(slots), @@ -1630,30 +1658,30 @@ be_local_class(Partition, NULL, be_nested_map(24, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(save, -1), be_const_closure(Partition_save_closure) }, - { be_const_key(load, 8), be_const_closure(Partition_load_closure) }, - { be_const_key(get_active, -1), be_const_closure(Partition_get_active_closure) }, - { be_const_key(init, -1), be_const_closure(Partition_init_closure) }, - { be_const_key(parse, 21), be_const_closure(Partition_parse_closure) }, + { be_const_key(save, -1), be_const_closure(class_Partition_save_closure) }, + { be_const_key(load, 8), be_const_closure(class_Partition_load_closure) }, + { be_const_key(get_active, -1), be_const_closure(class_Partition_get_active_closure) }, + { be_const_key(init, -1), be_const_closure(class_Partition_init_closure) }, + { be_const_key(parse, 21), be_const_closure(class_Partition_parse_closure) }, { be_const_key(otadata, -1), be_const_var(3) }, { be_const_key(slots, 11), be_const_var(2) }, - { be_const_key(get_ota_slot, -1), be_const_closure(Partition_get_ota_slot_closure) }, - { be_const_key(resize_max_flash_size_k, -1), be_const_closure(Partition_resize_max_flash_size_k_closure) }, - { be_const_key(get_flash_definition_sector, -1), be_const_static_closure(Partition_get_flash_definition_sector_closure) }, - { be_const_key(resize_fs_to_max, -1), be_const_closure(Partition_resize_fs_to_max_closure) }, - { be_const_key(set_active, -1), be_const_closure(Partition_set_active_closure) }, - { be_const_key(get_factory_slot, -1), be_const_closure(Partition_get_factory_slot_closure) }, - { be_const_key(tostring, -1), be_const_closure(Partition_tostring_closure) }, - { be_const_key(invalidate_spiffs, -1), be_const_closure(Partition_invalidate_spiffs_closure) }, - { be_const_key(tobytes, 12), be_const_closure(Partition_tobytes_closure) }, - { be_const_key(load_otadata, 20), be_const_closure(Partition_load_otadata_closure) }, + { be_const_key(get_ota_slot, -1), be_const_closure(class_Partition_get_ota_slot_closure) }, + { be_const_key(resize_max_flash_size_k, -1), be_const_closure(class_Partition_resize_max_flash_size_k_closure) }, + { be_const_key(get_flash_definition_sector, -1), be_const_static_closure(class_Partition_get_flash_definition_sector_closure) }, + { be_const_key(resize_fs_to_max, -1), be_const_closure(class_Partition_resize_fs_to_max_closure) }, + { be_const_key(set_active, -1), be_const_closure(class_Partition_set_active_closure) }, + { be_const_key(get_factory_slot, -1), be_const_closure(class_Partition_get_factory_slot_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_tostring_closure) }, + { be_const_key(invalidate_spiffs, -1), be_const_closure(class_Partition_invalidate_spiffs_closure) }, + { be_const_key(tobytes, 12), be_const_closure(class_Partition_tobytes_closure) }, + { be_const_key(load_otadata, 20), be_const_closure(class_Partition_load_otadata_closure) }, { be_const_key(raw, -1), be_const_var(0) }, - { be_const_key(has_factory, 14), be_const_closure(Partition_has_factory_closure) }, + { be_const_key(has_factory, 14), be_const_closure(class_Partition_has_factory_closure) }, { be_const_key(md5, -1), be_const_var(1) }, - { be_const_key(ota_max, -1), be_const_closure(Partition_ota_max_closure) }, - { be_const_key(switch_factory, -1), be_const_closure(Partition_switch_factory_closure) }, - { be_const_key(get_unallocated_k, -1), be_const_closure(Partition_get_unallocated_k_closure) }, - { be_const_key(get_max_flash_size_k, 7), be_const_closure(Partition_get_max_flash_size_k_closure) }, + { be_const_key(ota_max, -1), be_const_closure(class_Partition_ota_max_closure) }, + { be_const_key(switch_factory, -1), be_const_closure(class_Partition_switch_factory_closure) }, + { be_const_key(get_unallocated_k, -1), be_const_closure(class_Partition_get_unallocated_k_closure) }, + { be_const_key(get_max_flash_size_k, 7), be_const_closure(class_Partition_get_max_flash_size_k_closure) }, })), (bstring*) &be_const_str_Partition ); @@ -1663,7 +1691,8 @@ extern const bclass be_class_Partition_info; /******************************************************************** ** Solidified function: is_factory ********************************************************************/ -be_local_closure(Partition_info_is_factory, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_is_factory, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1671,7 +1700,7 @@ be_local_closure(Partition_info_is_factory, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(type), @@ -1699,7 +1728,8 @@ be_local_closure(Partition_info_is_factory, /* name */ /******************************************************************** ** Solidified function: type_to_string ********************************************************************/ -be_local_closure(Partition_info_type_to_string, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_type_to_string, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1707,7 +1737,7 @@ be_local_closure(Partition_info_type_to_string, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(type), @@ -1743,7 +1773,8 @@ be_local_closure(Partition_info_type_to_string, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Partition_info_init, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_init, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1751,7 +1782,7 @@ be_local_closure(Partition_info_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str(type), @@ -1843,7 +1874,8 @@ be_local_closure(Partition_info_init, /* name */ /******************************************************************** ** Solidified function: subtype_to_string ********************************************************************/ -be_local_closure(Partition_info_subtype_to_string, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_subtype_to_string, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1851,7 +1883,7 @@ be_local_closure(Partition_info_subtype_to_string, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str(type), @@ -1973,7 +2005,8 @@ be_local_closure(Partition_info_subtype_to_string, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Partition_info_tostring, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_tostring, /* name */ be_nested_proto( 13, /* nstack */ 1, /* argc */ @@ -1981,7 +2014,7 @@ be_local_closure(Partition_info_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(type_to_string), @@ -2035,7 +2068,8 @@ be_local_closure(Partition_info_tostring, /* name */ /******************************************************************** ** Solidified function: is_ota ********************************************************************/ -be_local_closure(Partition_info_is_ota, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_is_ota, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2043,7 +2077,7 @@ be_local_closure(Partition_info_is_ota, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(subtype), @@ -2076,7 +2110,8 @@ be_local_closure(Partition_info_is_ota, /* name */ /******************************************************************** ** Solidified function: tobytes ********************************************************************/ -be_local_closure(Partition_info_tobytes, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_tobytes, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -2084,7 +2119,7 @@ be_local_closure(Partition_info_tobytes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(AA50), @@ -2151,7 +2186,8 @@ be_local_closure(Partition_info_tobytes, /* name */ /******************************************************************** ** Solidified function: remove_trailing_zeroes ********************************************************************/ -be_local_closure(Partition_info_remove_trailing_zeroes, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_remove_trailing_zeroes, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -2159,7 +2195,7 @@ be_local_closure(Partition_info_remove_trailing_zeroes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_Partition_info), @@ -2203,7 +2239,8 @@ be_local_closure(Partition_info_remove_trailing_zeroes, /* name */ /******************************************************************** ** Solidified function: is_spiffs ********************************************************************/ -be_local_closure(Partition_info_is_spiffs, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_is_spiffs, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2211,7 +2248,7 @@ be_local_closure(Partition_info_is_spiffs, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(type), @@ -2240,7 +2277,8 @@ be_local_closure(Partition_info_is_spiffs, /* name */ /******************************************************************** ** Solidified function: get_image_size ********************************************************************/ -be_local_closure(Partition_info_get_image_size, /* name */ +extern const bclass be_class_Partition_info; +be_local_closure(class_Partition_info_get_image_size, /* name */ be_nested_proto( 14, /* nstack */ 1, /* argc */ @@ -2248,7 +2286,7 @@ be_local_closure(Partition_info_get_image_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Partition_info, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str(flash), @@ -2368,21 +2406,21 @@ be_local_class(Partition_info, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(is_factory, -1), be_const_closure(Partition_info_is_factory_closure) }, - { be_const_key(get_image_size, -1), be_const_closure(Partition_info_get_image_size_closure) }, - { be_const_key(is_spiffs, -1), be_const_closure(Partition_info_is_spiffs_closure) }, - { be_const_key(init, -1), be_const_closure(Partition_info_init_closure) }, + { be_const_key(is_factory, -1), be_const_closure(class_Partition_info_is_factory_closure) }, + { be_const_key(get_image_size, -1), be_const_closure(class_Partition_info_get_image_size_closure) }, + { be_const_key(is_spiffs, -1), be_const_closure(class_Partition_info_is_spiffs_closure) }, + { be_const_key(init, -1), be_const_closure(class_Partition_info_init_closure) }, { be_const_key(type, 10), be_const_var(0) }, - { be_const_key(tostring, -1), be_const_closure(Partition_info_tostring_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Partition_info_tostring_closure) }, { be_const_key(flags, -1), be_const_var(5) }, - { be_const_key(tobytes, -1), be_const_closure(Partition_info_tobytes_closure) }, + { be_const_key(tobytes, -1), be_const_closure(class_Partition_info_tobytes_closure) }, { be_const_key(sz, -1), be_const_var(3) }, - { be_const_key(remove_trailing_zeroes, 2), be_const_static_closure(Partition_info_remove_trailing_zeroes_closure) }, + { be_const_key(remove_trailing_zeroes, 2), be_const_static_closure(class_Partition_info_remove_trailing_zeroes_closure) }, { be_const_key(label, 11), be_const_var(4) }, { be_const_key(subtype, 14), be_const_var(1) }, - { be_const_key(is_ota, 6), be_const_closure(Partition_info_is_ota_closure) }, - { be_const_key(type_to_string, 4), be_const_closure(Partition_info_type_to_string_closure) }, - { be_const_key(subtype_to_string, -1), be_const_closure(Partition_info_subtype_to_string_closure) }, + { be_const_key(is_ota, 6), be_const_closure(class_Partition_info_is_ota_closure) }, + { be_const_key(type_to_string, 4), be_const_closure(class_Partition_info_type_to_string_closure) }, + { be_const_key(subtype_to_string, -1), be_const_closure(class_Partition_info_subtype_to_string_closure) }, { be_const_key(start, 1), be_const_var(2) }, })), (bstring*) &be_const_str_Partition_info @@ -2391,7 +2429,7 @@ be_local_class(Partition_info, /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(partition_core_init, /* name */ +be_local_closure(init, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -2399,7 +2437,7 @@ be_local_closure(partition_core_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(global), @@ -2427,7 +2465,7 @@ be_local_module(partition_core, { be_const_key(Partition_otadata, -1), be_const_class(be_class_Partition_otadata) }, { be_const_key(Partition, -1), be_const_class(be_class_Partition) }, { be_const_key(Partition_info, -1), be_const_class(be_class_Partition_info) }, - { be_const_key(init, -1), be_const_closure(partition_core_init_closure) }, + { be_const_key(init, -1), be_const_closure(init_closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(partition_core); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_persist.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_persist.h index 935b07d65..a084b51ef 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_persist.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_persist.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(persist__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(persist__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(Persist), @@ -37,7 +37,8 @@ extern const bclass be_class_Persist; /******************************************************************** ** Solidified function: json_fdump_map ********************************************************************/ -be_local_closure(Persist_json_fdump_map, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_json_fdump_map, /* name */ be_nested_proto( 13, /* nstack */ 3, /* argc */ @@ -45,7 +46,7 @@ be_local_closure(Persist_json_fdump_map, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str(json), @@ -112,7 +113,8 @@ be_local_closure(Persist_json_fdump_map, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(Persist_setmember, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_setmember, /* name */ be_nested_proto( 4, /* nstack */ 3, /* argc */ @@ -120,7 +122,7 @@ be_local_closure(Persist_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -143,7 +145,8 @@ be_local_closure(Persist_setmember, /* name */ /******************************************************************** ** Solidified function: zero ********************************************************************/ -be_local_closure(Persist_zero, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_zero, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -151,7 +154,7 @@ be_local_closure(Persist_zero, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -175,7 +178,8 @@ be_local_closure(Persist_zero, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(Persist_member, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_member, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -183,7 +187,7 @@ be_local_closure(Persist_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -206,7 +210,8 @@ be_local_closure(Persist_member, /* name */ /******************************************************************** ** Solidified function: json_fdump ********************************************************************/ -be_local_closure(Persist_json_fdump, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_json_fdump, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -214,7 +219,7 @@ be_local_closure(Persist_json_fdump, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(json), @@ -248,7 +253,8 @@ be_local_closure(Persist_json_fdump, /* name */ /******************************************************************** ** Solidified function: remove ********************************************************************/ -be_local_closure(Persist_remove, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_remove, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -256,7 +262,7 @@ be_local_closure(Persist_remove, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -282,7 +288,8 @@ be_local_closure(Persist_remove, /* name */ /******************************************************************** ** Solidified function: json_fdump_any ********************************************************************/ -be_local_closure(Persist_json_fdump_any, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_json_fdump_any, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -290,7 +297,7 @@ be_local_closure(Persist_json_fdump_any, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(json), @@ -338,7 +345,8 @@ be_local_closure(Persist_json_fdump_any, /* name */ /******************************************************************** ** Solidified function: save ********************************************************************/ -be_local_closure(Persist_save, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_save, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -346,7 +354,7 @@ be_local_closure(Persist_save, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(_filename), @@ -417,7 +425,8 @@ be_local_closure(Persist_save, /* name */ /******************************************************************** ** Solidified function: load ********************************************************************/ -be_local_closure(Persist_load, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_load, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -425,7 +434,7 @@ be_local_closure(Persist_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(json), @@ -502,7 +511,8 @@ be_local_closure(Persist_load, /* name */ /******************************************************************** ** Solidified function: find ********************************************************************/ -be_local_closure(Persist_find, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_find, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -510,7 +520,7 @@ be_local_closure(Persist_find, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -534,7 +544,8 @@ be_local_closure(Persist_find, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Persist_init, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_init, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -542,7 +553,7 @@ be_local_closure(Persist_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -582,7 +593,8 @@ be_local_closure(Persist_init, /* name */ /******************************************************************** ** Solidified function: json_fdump_list ********************************************************************/ -be_local_closure(Persist_json_fdump_list, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_json_fdump_list, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -590,7 +602,7 @@ be_local_closure(Persist_json_fdump_list, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(json), @@ -639,7 +651,8 @@ be_local_closure(Persist_json_fdump_list, /* name */ /******************************************************************** ** Solidified function: has ********************************************************************/ -be_local_closure(Persist_has, /* name */ +extern const bclass be_class_Persist; +be_local_closure(class_Persist_has, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -647,7 +660,7 @@ be_local_closure(Persist_has, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Persist, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_p), @@ -675,22 +688,22 @@ be_local_class(Persist, NULL, be_nested_map(16, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(has, 6), be_const_closure(Persist_has_closure) }, - { be_const_key(setmember, -1), be_const_closure(Persist_setmember_closure) }, - { be_const_key(remove, -1), be_const_closure(Persist_remove_closure) }, - { be_const_key(zero, 0), be_const_closure(Persist_zero_closure) }, - { be_const_key(json_fdump, -1), be_const_closure(Persist_json_fdump_closure) }, - { be_const_key(json_fdump_list, 2), be_const_closure(Persist_json_fdump_list_closure) }, - { be_const_key(init, 15), be_const_closure(Persist_init_closure) }, - { be_const_key(find, -1), be_const_closure(Persist_find_closure) }, - { be_const_key(save, -1), be_const_closure(Persist_save_closure) }, - { be_const_key(json_fdump_any, 12), be_const_closure(Persist_json_fdump_any_closure) }, + { be_const_key(has, 6), be_const_closure(class_Persist_has_closure) }, + { be_const_key(setmember, -1), be_const_closure(class_Persist_setmember_closure) }, + { be_const_key(remove, -1), be_const_closure(class_Persist_remove_closure) }, + { be_const_key(zero, 0), be_const_closure(class_Persist_zero_closure) }, + { be_const_key(json_fdump, -1), be_const_closure(class_Persist_json_fdump_closure) }, + { be_const_key(json_fdump_list, 2), be_const_closure(class_Persist_json_fdump_list_closure) }, + { be_const_key(init, 15), be_const_closure(class_Persist_init_closure) }, + { be_const_key(find, -1), be_const_closure(class_Persist_find_closure) }, + { be_const_key(save, -1), be_const_closure(class_Persist_save_closure) }, + { be_const_key(json_fdump_any, 12), be_const_closure(class_Persist_json_fdump_any_closure) }, { be_const_key(_p, 7), be_const_var(0) }, { be_const_key(_filename, -1), be_nested_str(_persist_X2Ejson) }, - { be_const_key(load, -1), be_const_closure(Persist_load_closure) }, - { be_const_key(json_fdump_map, 5), be_const_closure(Persist_json_fdump_map_closure) }, + { be_const_key(load, -1), be_const_closure(class_Persist_load_closure) }, + { be_const_key(json_fdump_map, 5), be_const_closure(class_Persist_json_fdump_map_closure) }, { be_const_key(_dirty, -1), be_const_var(1) }, - { be_const_key(member, -1), be_const_closure(Persist_member_closure) }, + { be_const_key(member, -1), be_const_closure(class_Persist_member_closure) }, })), (bstring*) &be_const_str_Persist ); @@ -703,7 +716,7 @@ be_local_module(persist, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(Persist, -1), be_const_class(be_class_Persist) }, - { be_const_key(init, 0), be_const_closure(persist__anonymous__closure) }, + { be_const_key(init, 0), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(persist); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_python_compat.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_python_compat.h index 89d5d5990..21e5ac374 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_python_compat.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_python_compat.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(python_compat__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(python_compat__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(global), @@ -50,7 +50,7 @@ be_local_module(python_compat, "python_compat", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(python_compat__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(python_compat); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_rule_matcher.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_rule_matcher.h index da02fd924..727fcf3a9 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_rule_matcher.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_rule_matcher.h @@ -9,7 +9,8 @@ extern const bclass be_class_Rule_Matcher_Key; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_Key_tostring, /* name */ +extern const bclass be_class_Rule_Matcher_Key; +be_local_closure(class_Rule_Matcher_Key_tostring, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Rule_Matcher_Key_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Key, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_X3CMatcher_X20key_X3D_X27), @@ -42,7 +43,8 @@ be_local_closure(Rule_Matcher_Key_tostring, /* name */ /******************************************************************** ** Solidified function: find_key_i ********************************************************************/ -be_local_closure(Rule_Matcher_Key_find_key_i, /* name */ +extern const bclass be_class_Rule_Matcher_Key; +be_local_closure(class_Rule_Matcher_Key_find_key_i, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -50,7 +52,7 @@ be_local_closure(Rule_Matcher_Key_find_key_i, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Key, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_class(be_class_Rule_Matcher_Key), @@ -102,7 +104,8 @@ be_local_closure(Rule_Matcher_Key_find_key_i, /* name */ /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_Key_match, /* name */ +extern const bclass be_class_Rule_Matcher_Key; +be_local_closure(class_Rule_Matcher_Key_match, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -110,7 +113,7 @@ be_local_closure(Rule_Matcher_Key_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Key, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(find_key_i), @@ -151,7 +154,8 @@ be_local_closure(Rule_Matcher_Key_match, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Rule_Matcher_Key_init, /* name */ +extern const bclass be_class_Rule_Matcher_Key; +be_local_closure(class_Rule_Matcher_Key_init, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -159,7 +163,7 @@ be_local_closure(Rule_Matcher_Key_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Key, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(name), @@ -183,28 +187,22 @@ be_local_class(Rule_Matcher_Key, NULL, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(tostring, 3), be_const_closure(Rule_Matcher_Key_tostring_closure) }, - { be_const_key(find_key_i, -1), be_const_static_closure(Rule_Matcher_Key_find_key_i_closure) }, + { be_const_key(tostring, 3), be_const_closure(class_Rule_Matcher_Key_tostring_closure) }, + { be_const_key(find_key_i, -1), be_const_static_closure(class_Rule_Matcher_Key_find_key_i_closure) }, { be_const_key(name, -1), be_const_var(0) }, - { be_const_key(init, 4), be_const_closure(Rule_Matcher_Key_init_closure) }, - { be_const_key(match, -1), be_const_closure(Rule_Matcher_Key_match_closure) }, + { be_const_key(init, 4), be_const_closure(class_Rule_Matcher_Key_init_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Key_match_closure) }, })), (bstring*) &be_const_str_Rule_Matcher_Key ); -/*******************************************************************/ - -void be_load_Rule_Matcher_Key_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher_Key); - be_setglobal(vm, "Rule_Matcher_Key"); - be_pop(vm, 1); -} extern const bclass be_class_Rule_Matcher_Wildcard; /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_Wildcard_match, /* name */ +extern const bclass be_class_Rule_Matcher_Wildcard; +be_local_closure(class_Rule_Matcher_Wildcard_match, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -212,7 +210,7 @@ be_local_closure(Rule_Matcher_Wildcard_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Wildcard, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_const_int(0), @@ -253,7 +251,8 @@ be_local_closure(Rule_Matcher_Wildcard_match, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_Wildcard_tostring, /* name */ +extern const bclass be_class_Rule_Matcher_Wildcard; +be_local_closure(class_Rule_Matcher_Wildcard_tostring, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -261,7 +260,7 @@ be_local_closure(Rule_Matcher_Wildcard_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Wildcard, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(_X3CMatcher_X20any_X3E), @@ -284,25 +283,19 @@ be_local_class(Rule_Matcher_Wildcard, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(match, -1), be_const_closure(Rule_Matcher_Wildcard_match_closure) }, - { be_const_key(tostring, -1), be_const_closure(Rule_Matcher_Wildcard_tostring_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Wildcard_match_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Wildcard_tostring_closure) }, })), (bstring*) &be_const_str_Rule_Matcher_Wildcard ); -/*******************************************************************/ - -void be_load_Rule_Matcher_Wildcard_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher_Wildcard); - be_setglobal(vm, "Rule_Matcher_Wildcard"); - be_pop(vm, 1); -} extern const bclass be_class_Rule_Matcher_Operator; /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_Operator_match, /* name */ +extern const bclass be_class_Rule_Matcher_Operator; +be_local_closure(class_Rule_Matcher_Operator_match, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -310,7 +303,7 @@ be_local_closure(Rule_Matcher_Operator_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Operator, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(int), @@ -351,7 +344,8 @@ be_local_closure(Rule_Matcher_Operator_match, /* name */ /******************************************************************** ** Solidified function: op_parse ********************************************************************/ -be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ +extern const bclass be_class_Rule_Matcher_Operator; +be_local_closure(class_Rule_Matcher_Operator_op_parse, /* name */ be_nested_proto( 22, /* nstack */ 3, /* argc */ @@ -359,7 +353,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[13]) { + ( &(const struct bproto*[14]) { be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -367,7 +361,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -395,7 +389,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -423,7 +417,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -451,7 +445,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -478,7 +472,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -505,7 +499,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -532,7 +526,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_eq, @@ -552,7 +546,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_neq, @@ -572,7 +566,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_gt, @@ -592,7 +586,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_gte, @@ -612,7 +606,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_lt, @@ -632,7 +626,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 0, /* has constants */ NULL, /* no const */ &be_const_str_op_lte, @@ -652,7 +646,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_int(0), @@ -668,6 +662,7 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ 0x80040400, // 0005 RET 1 R2 }) ), + &be_class_Rule_Matcher_Operator, }), 1, /* has constants */ ( &(const bvalue[23]) { /* constants */ @@ -804,7 +799,8 @@ be_local_closure(Rule_Matcher_Operator_op_parse, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_Operator_tostring, /* name */ +extern const bclass be_class_Rule_Matcher_Operator; +be_local_closure(class_Rule_Matcher_Operator_tostring, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -812,7 +808,7 @@ be_local_closure(Rule_Matcher_Operator_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Operator, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(op_value), @@ -861,7 +857,8 @@ be_local_closure(Rule_Matcher_Operator_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Rule_Matcher_Operator_init, /* name */ +extern const bclass be_class_Rule_Matcher_Operator; +be_local_closure(class_Rule_Matcher_Operator_init, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -869,7 +866,7 @@ be_local_closure(Rule_Matcher_Operator_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Operator, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(op_parse), @@ -897,29 +894,23 @@ be_local_class(Rule_Matcher_Operator, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(op_value, 6), be_const_var(2) }, - { be_const_key(tostring, -1), be_const_closure(Rule_Matcher_Operator_tostring_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Operator_tostring_closure) }, { be_const_key(op_func, 0), be_const_var(0) }, - { be_const_key(match, 1), be_const_closure(Rule_Matcher_Operator_match_closure) }, + { be_const_key(match, 1), be_const_closure(class_Rule_Matcher_Operator_match_closure) }, { be_const_key(op_str, -1), be_const_var(1) }, - { be_const_key(init, -1), be_const_closure(Rule_Matcher_Operator_init_closure) }, - { be_const_key(op_parse, -1), be_const_closure(Rule_Matcher_Operator_op_parse_closure) }, + { be_const_key(init, -1), be_const_closure(class_Rule_Matcher_Operator_init_closure) }, + { be_const_key(op_parse, -1), be_const_closure(class_Rule_Matcher_Operator_op_parse_closure) }, })), (bstring*) &be_const_str_Rule_Matcher_Operator ); -/*******************************************************************/ - -void be_load_Rule_Matcher_Operator_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher_Operator); - be_setglobal(vm, "Rule_Matcher_Operator"); - be_pop(vm, 1); -} extern const bclass be_class_Rule_Matcher_Array; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Rule_Matcher_Array_init, /* name */ +extern const bclass be_class_Rule_Matcher_Array; +be_local_closure(class_Rule_Matcher_Array_init, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -927,7 +918,7 @@ be_local_closure(Rule_Matcher_Array_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Array, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(index), @@ -946,7 +937,8 @@ be_local_closure(Rule_Matcher_Array_init, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_Array_tostring, /* name */ +extern const bclass be_class_Rule_Matcher_Array; +be_local_closure(class_Rule_Matcher_Array_tostring, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -954,7 +946,7 @@ be_local_closure(Rule_Matcher_Array_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Array, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_X3CMatcher_X20_X5B), @@ -979,7 +971,8 @@ be_local_closure(Rule_Matcher_Array_tostring, /* name */ /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_Array_match, /* name */ +extern const bclass be_class_Rule_Matcher_Array; +be_local_closure(class_Rule_Matcher_Array_match, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -987,7 +980,7 @@ be_local_closure(Rule_Matcher_Array_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_Array, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(index), @@ -1040,26 +1033,20 @@ be_local_class(Rule_Matcher_Array, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(index, -1), be_const_var(0) }, - { be_const_key(tostring, -1), be_const_closure(Rule_Matcher_Array_tostring_closure) }, - { be_const_key(match, -1), be_const_closure(Rule_Matcher_Array_match_closure) }, - { be_const_key(init, 0), be_const_closure(Rule_Matcher_Array_init_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_Array_tostring_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_Array_match_closure) }, + { be_const_key(init, 0), be_const_closure(class_Rule_Matcher_Array_init_closure) }, })), (bstring*) &be_const_str_Rule_Matcher_Array ); -/*******************************************************************/ - -void be_load_Rule_Matcher_Array_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher_Array); - be_setglobal(vm, "Rule_Matcher_Array"); - be_pop(vm, 1); -} extern const bclass be_class_Rule_Matcher_AND_List; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Rule_Matcher_AND_List_init, /* name */ +extern const bclass be_class_Rule_Matcher_AND_List; +be_local_closure(class_Rule_Matcher_AND_List_init, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1067,7 +1054,7 @@ be_local_closure(Rule_Matcher_AND_List_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_AND_List, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(and_list), @@ -1086,7 +1073,8 @@ be_local_closure(Rule_Matcher_AND_List_init, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_AND_List_tostring, /* name */ +extern const bclass be_class_Rule_Matcher_AND_List; +be_local_closure(class_Rule_Matcher_AND_List_tostring, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1094,7 +1082,7 @@ be_local_closure(Rule_Matcher_AND_List_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_AND_List, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_X3CMatcher_AND_List_X20), @@ -1119,7 +1107,8 @@ be_local_closure(Rule_Matcher_AND_List_tostring, /* name */ /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_AND_List_match, /* name */ +extern const bclass be_class_Rule_Matcher_AND_List; +be_local_closure(class_Rule_Matcher_AND_List_match, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -1127,7 +1116,7 @@ be_local_closure(Rule_Matcher_AND_List_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher_AND_List, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -1178,26 +1167,20 @@ be_local_class(Rule_Matcher_AND_List, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(and_list, -1), be_const_var(0) }, - { be_const_key(tostring, -1), be_const_closure(Rule_Matcher_AND_List_tostring_closure) }, - { be_const_key(match, -1), be_const_closure(Rule_Matcher_AND_List_match_closure) }, - { be_const_key(init, 0), be_const_closure(Rule_Matcher_AND_List_init_closure) }, + { be_const_key(tostring, -1), be_const_closure(class_Rule_Matcher_AND_List_tostring_closure) }, + { be_const_key(match, -1), be_const_closure(class_Rule_Matcher_AND_List_match_closure) }, + { be_const_key(init, 0), be_const_closure(class_Rule_Matcher_AND_List_init_closure) }, })), (bstring*) &be_const_str_Rule_Matcher_AND_List ); -/*******************************************************************/ - -void be_load_Rule_Matcher_AND_List_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher_AND_List); - be_setglobal(vm, "Rule_Matcher_AND_List"); - be_pop(vm, 1); -} extern const bclass be_class_Rule_Matcher; /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Rule_Matcher_tostring, /* name */ +extern const bclass be_class_Rule_Matcher; +be_local_closure(class_Rule_Matcher_tostring, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1205,7 +1188,7 @@ be_local_closure(Rule_Matcher_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(matchers), @@ -1226,7 +1209,8 @@ be_local_closure(Rule_Matcher_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Rule_Matcher_init, /* name */ +extern const bclass be_class_Rule_Matcher; +be_local_closure(class_Rule_Matcher_init, /* name */ be_nested_proto( 4, /* nstack */ 4, /* argc */ @@ -1234,7 +1218,7 @@ be_local_closure(Rule_Matcher_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(rule), @@ -1257,7 +1241,8 @@ be_local_closure(Rule_Matcher_init, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(Rule_Matcher_parse, /* name */ +extern const bclass be_class_Rule_Matcher; +be_local_closure(class_Rule_Matcher_parse, /* name */ be_nested_proto( 20, /* nstack */ 1, /* argc */ @@ -1265,7 +1250,7 @@ be_local_closure(Rule_Matcher_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher, 1, /* has constants */ ( &(const bvalue[26]) { /* constants */ /* K0 */ be_const_class(be_class_Rule_Matcher), @@ -1454,7 +1439,8 @@ be_local_closure(Rule_Matcher_parse, /* name */ /******************************************************************** ** Solidified function: match ********************************************************************/ -be_local_closure(Rule_Matcher_match, /* name */ +extern const bclass be_class_Rule_Matcher; +be_local_closure(class_Rule_Matcher_match, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1462,7 +1448,7 @@ be_local_closure(Rule_Matcher_match, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Rule_Matcher, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(matchers), @@ -1515,9 +1501,9 @@ be_local_class(Rule_Matcher, be_nested_map(12, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(Rule_Matcher_AND_List, -1), be_const_class(be_class_Rule_Matcher_AND_List) }, - { be_const_key(tostring, 0), be_const_closure(Rule_Matcher_tostring_closure) }, - { be_const_key(match, 6), be_const_closure(Rule_Matcher_match_closure) }, - { be_const_key(init, 5), be_const_closure(Rule_Matcher_init_closure) }, + { be_const_key(tostring, 0), be_const_closure(class_Rule_Matcher_tostring_closure) }, + { be_const_key(match, 6), be_const_closure(class_Rule_Matcher_match_closure) }, + { be_const_key(init, 5), be_const_closure(class_Rule_Matcher_init_closure) }, { be_const_key(Rule_Matcher_Array, 11), be_const_class(be_class_Rule_Matcher_Array) }, { be_const_key(rule, -1), be_const_var(0) }, { be_const_key(Rule_Matcher_Key, -1), be_const_class(be_class_Rule_Matcher_Key) }, @@ -1525,16 +1511,9 @@ be_local_class(Rule_Matcher, { be_const_key(trigger, -1), be_const_var(1) }, { be_const_key(Rule_Matcher_Wildcard, -1), be_const_class(be_class_Rule_Matcher_Wildcard) }, { be_const_key(matchers, 2), be_const_var(2) }, - { be_const_key(parse, -1), be_const_static_closure(Rule_Matcher_parse_closure) }, + { be_const_key(parse, -1), be_const_static_closure(class_Rule_Matcher_parse_closure) }, })), (bstring*) &be_const_str_Rule_Matcher ); -/*******************************************************************/ - -void be_load_Rule_Matcher_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Rule_Matcher); - be_setglobal(vm, "Rule_Matcher"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_tapp.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_tapp.h index 77f4f1f03..3420576b9 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_tapp.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_tapp.h @@ -9,7 +9,8 @@ extern const bclass be_class_Tapp; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Tapp_init, /* name */ +extern const bclass be_class_Tapp; +be_local_closure(class_Tapp_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Tapp_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tapp, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(tasmota), @@ -40,7 +41,8 @@ be_local_closure(Tapp_init, /* name */ /******************************************************************** ** Solidified function: autoexec ********************************************************************/ -be_local_closure(Tapp_autoexec, /* name */ +extern const bclass be_class_Tapp; +be_local_closure(class_Tapp_autoexec, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(Tapp_autoexec, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tapp, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str(path), @@ -117,8 +119,8 @@ be_local_class(Tapp, NULL, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(autoexec, -1), be_const_closure(Tapp_autoexec_closure) }, - { be_const_key(init, 0), be_const_closure(Tapp_init_closure) }, + { be_const_key(autoexec, -1), be_const_closure(class_Tapp_autoexec_closure) }, + { be_const_key(init, 0), be_const_closure(class_Tapp_init_closure) }, })), (bstring*) &be_const_str_Tapp ); @@ -126,7 +128,7 @@ be_local_class(Tapp, /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(tapp__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -134,7 +136,7 @@ be_local_closure(tapp__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_const_class(be_class_Tapp), @@ -160,7 +162,7 @@ be_local_module(tapp, "tapp", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(init, -1), be_const_closure(tapp__anonymous__closure) }, + { be_const_key(init, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(tapp); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_tasmota_class.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_tasmota_class.h index 57f85eceb..ca4ace0ee 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_tasmota_class.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_tasmota_class.h @@ -9,7 +9,8 @@ extern const bclass be_class_Tasmota; /******************************************************************** ** Solidified function: cmd ********************************************************************/ -be_local_closure(Tasmota_cmd, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_cmd, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Tasmota_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(cmd_res), @@ -67,7 +68,8 @@ be_local_closure(Tasmota_cmd, /* name */ /******************************************************************** ** Solidified function: check_not_method ********************************************************************/ -be_local_closure(Tasmota_check_not_method, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_check_not_method, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -75,7 +77,7 @@ be_local_closure(Tasmota_check_not_method, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(introspect), @@ -112,7 +114,8 @@ be_local_closure(Tasmota_check_not_method, /* name */ /******************************************************************** ** Solidified function: remove_driver ********************************************************************/ -be_local_closure(Tasmota_remove_driver, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_driver, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -120,7 +123,7 @@ be_local_closure(Tasmota_remove_driver, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_drivers), @@ -153,7 +156,8 @@ be_local_closure(Tasmota_remove_driver, /* name */ /******************************************************************** ** Solidified function: event ********************************************************************/ -be_local_closure(Tasmota_event, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_event, /* name */ be_nested_proto( 19, /* nstack */ 6, /* argc */ @@ -161,7 +165,7 @@ be_local_closure(Tasmota_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[25]) { /* constants */ /* K0 */ be_nested_str(introspect), @@ -310,7 +314,8 @@ be_local_closure(Tasmota_event, /* name */ /******************************************************************** ** Solidified function: exec_cmd ********************************************************************/ -be_local_closure(Tasmota_exec_cmd, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_exec_cmd, /* name */ be_nested_proto( 12, /* nstack */ 4, /* argc */ @@ -318,7 +323,7 @@ be_local_closure(Tasmota_exec_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(_ccmd), @@ -366,7 +371,8 @@ be_local_closure(Tasmota_exec_cmd, /* name */ /******************************************************************** ** Solidified function: set_light ********************************************************************/ -be_local_closure(Tasmota_set_light, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_set_light, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -374,7 +380,7 @@ be_local_closure(Tasmota_set_light, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(tasmota_X2Eset_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eset_X28_X29), @@ -411,7 +417,8 @@ be_local_closure(Tasmota_set_light, /* name */ /******************************************************************** ** Solidified function: run_cron ********************************************************************/ -be_local_closure(Tasmota_run_cron, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_run_cron, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -419,7 +426,7 @@ be_local_closure(Tasmota_run_cron, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str(_crons), @@ -479,7 +486,8 @@ be_local_closure(Tasmota_run_cron, /* name */ /******************************************************************** ** Solidified function: set_timer ********************************************************************/ -be_local_closure(Tasmota_set_timer, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_set_timer, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -487,7 +495,7 @@ be_local_closure(Tasmota_set_timer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(check_not_method), @@ -529,7 +537,8 @@ be_local_closure(Tasmota_set_timer, /* name */ /******************************************************************** ** Solidified function: add_driver ********************************************************************/ -be_local_closure(Tasmota_add_driver, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_add_driver, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -537,7 +546,7 @@ be_local_closure(Tasmota_add_driver, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(instance), @@ -584,7 +593,8 @@ be_local_closure(Tasmota_add_driver, /* name */ /******************************************************************** ** Solidified function: next_cron ********************************************************************/ -be_local_closure(Tasmota_next_cron, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_next_cron, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -592,7 +602,7 @@ be_local_closure(Tasmota_next_cron, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(_crons), @@ -631,7 +641,8 @@ be_local_closure(Tasmota_next_cron, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Tasmota_init, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_init, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -639,7 +650,7 @@ be_local_closure(Tasmota_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -649,7 +660,7 @@ be_local_closure(Tasmota_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str(urlfetch_cmd), @@ -667,6 +678,7 @@ be_local_closure(Tasmota_init, /* name */ 0x80000000, // 0007 RET 0 }) ), + &be_class_Tasmota, }), 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ @@ -735,7 +747,8 @@ be_local_closure(Tasmota_init, /* name */ /******************************************************************** ** Solidified function: add_rule ********************************************************************/ -be_local_closure(Tasmota_add_rule, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_add_rule, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -743,7 +756,7 @@ be_local_closure(Tasmota_add_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(check_not_method), @@ -797,7 +810,8 @@ be_local_closure(Tasmota_add_rule, /* name */ /******************************************************************** ** Solidified function: try_rule ********************************************************************/ -be_local_closure(Tasmota_try_rule, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_try_rule, /* name */ be_nested_proto( 9, /* nstack */ 4, /* argc */ @@ -805,7 +819,7 @@ be_local_closure(Tasmota_try_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(match), @@ -841,7 +855,8 @@ be_local_closure(Tasmota_try_rule, /* name */ /******************************************************************** ** Solidified function: find_op ********************************************************************/ -be_local_closure(Tasmota_find_op, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_find_op, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -849,7 +864,7 @@ be_local_closure(Tasmota_find_op, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(_find_op), @@ -900,7 +915,8 @@ be_local_closure(Tasmota_find_op, /* name */ /******************************************************************** ** Solidified function: remove_cmd ********************************************************************/ -be_local_closure(Tasmota_remove_cmd, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_cmd, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -908,7 +924,7 @@ be_local_closure(Tasmota_remove_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(_ccmd), @@ -933,7 +949,8 @@ be_local_closure(Tasmota_remove_cmd, /* name */ /******************************************************************** ** Solidified function: gc ********************************************************************/ -be_local_closure(Tasmota_gc, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_gc, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -941,7 +958,7 @@ be_local_closure(Tasmota_gc, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(gc), @@ -966,7 +983,8 @@ be_local_closure(Tasmota_gc, /* name */ /******************************************************************** ** Solidified function: find_list_i ********************************************************************/ -be_local_closure(Tasmota_find_list_i, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_find_list_i, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -974,7 +992,7 @@ be_local_closure(Tasmota_find_list_i, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(string), @@ -1014,7 +1032,8 @@ be_local_closure(Tasmota_find_list_i, /* name */ /******************************************************************** ** Solidified function: remove_fast_loop ********************************************************************/ -be_local_closure(Tasmota_remove_fast_loop, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_fast_loop, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1022,7 +1041,7 @@ be_local_closure(Tasmota_remove_fast_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_fl), @@ -1056,7 +1075,8 @@ be_local_closure(Tasmota_remove_fast_loop, /* name */ /******************************************************************** ** Solidified function: exec_rules ********************************************************************/ -be_local_closure(Tasmota_exec_rules, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_exec_rules, /* name */ be_nested_proto( 14, /* nstack */ 3, /* argc */ @@ -1064,7 +1084,7 @@ be_local_closure(Tasmota_exec_rules, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(cmd_res), @@ -1142,7 +1162,8 @@ be_local_closure(Tasmota_exec_rules, /* name */ /******************************************************************** ** Solidified function: run_deferred ********************************************************************/ -be_local_closure(Tasmota_run_deferred, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_run_deferred, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -1150,7 +1171,7 @@ be_local_closure(Tasmota_run_deferred, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(_timers), @@ -1199,7 +1220,8 @@ be_local_closure(Tasmota_run_deferred, /* name */ /******************************************************************** ** Solidified function: compile ********************************************************************/ -be_local_closure(Tasmota_compile, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_compile, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -1207,7 +1229,7 @@ be_local_closure(Tasmota_compile, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str(string), @@ -1321,7 +1343,8 @@ be_local_closure(Tasmota_compile, /* name */ /******************************************************************** ** Solidified function: remove_timer ********************************************************************/ -be_local_closure(Tasmota_remove_timer, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_timer, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1329,7 +1352,7 @@ be_local_closure(Tasmota_remove_timer, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(_timers), @@ -1369,7 +1392,8 @@ be_local_closure(Tasmota_remove_timer, /* name */ /******************************************************************** ** Solidified function: remove_rule ********************************************************************/ -be_local_closure(Tasmota_remove_rule, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_rule, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -1377,7 +1401,7 @@ be_local_closure(Tasmota_remove_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str(_rules), @@ -1427,7 +1451,8 @@ be_local_closure(Tasmota_remove_rule, /* name */ /******************************************************************** ** Solidified function: exec_tele ********************************************************************/ -be_local_closure(Tasmota_exec_tele, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_exec_tele, /* name */ be_nested_proto( 12, /* nstack */ 2, /* argc */ @@ -1435,7 +1460,7 @@ be_local_closure(Tasmota_exec_tele, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str(_rules), @@ -1504,7 +1529,8 @@ be_local_closure(Tasmota_exec_tele, /* name */ /******************************************************************** ** Solidified function: add_cmd ********************************************************************/ -be_local_closure(Tasmota_add_cmd, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_add_cmd, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -1512,7 +1538,7 @@ be_local_closure(Tasmota_add_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(check_not_method), @@ -1553,7 +1579,8 @@ be_local_closure(Tasmota_add_cmd, /* name */ /******************************************************************** ** Solidified function: wire_scan ********************************************************************/ -be_local_closure(Tasmota_wire_scan, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_wire_scan, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -1561,7 +1588,7 @@ be_local_closure(Tasmota_wire_scan, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(i2c_enabled), @@ -1615,7 +1642,8 @@ be_local_closure(Tasmota_wire_scan, /* name */ /******************************************************************** ** Solidified function: find_key_i ********************************************************************/ -be_local_closure(Tasmota_find_key_i, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_find_key_i, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -1623,7 +1651,7 @@ be_local_closure(Tasmota_find_key_i, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str(string), @@ -1674,7 +1702,8 @@ be_local_closure(Tasmota_find_key_i, /* name */ /******************************************************************** ** Solidified function: urlfetch ********************************************************************/ -be_local_closure(Tasmota_urlfetch, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_urlfetch, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -1682,7 +1711,7 @@ be_local_closure(Tasmota_urlfetch, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str(string), @@ -1763,7 +1792,8 @@ be_local_closure(Tasmota_urlfetch, /* name */ /******************************************************************** ** Solidified function: fast_loop ********************************************************************/ -be_local_closure(Tasmota_fast_loop, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_fast_loop, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1771,7 +1801,7 @@ be_local_closure(Tasmota_fast_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(_fl), @@ -1805,7 +1835,8 @@ be_local_closure(Tasmota_fast_loop, /* name */ /******************************************************************** ** Solidified function: gen_cb ********************************************************************/ -be_local_closure(Tasmota_gen_cb, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_gen_cb, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1813,7 +1844,7 @@ be_local_closure(Tasmota_gen_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(cb), @@ -1836,7 +1867,8 @@ be_local_closure(Tasmota_gen_cb, /* name */ /******************************************************************** ** Solidified function: time_str ********************************************************************/ -be_local_closure(Tasmota_time_str, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_time_str, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -1844,7 +1876,7 @@ be_local_closure(Tasmota_time_str, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(time_dump), @@ -1881,7 +1913,8 @@ be_local_closure(Tasmota_time_str, /* name */ /******************************************************************** ** Solidified function: add_fast_loop ********************************************************************/ -be_local_closure(Tasmota_add_fast_loop, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_add_fast_loop, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1889,7 +1922,7 @@ be_local_closure(Tasmota_add_fast_loop, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str(check_not_method), @@ -1937,7 +1970,8 @@ be_local_closure(Tasmota_add_fast_loop, /* name */ /******************************************************************** ** Solidified function: get_light ********************************************************************/ -be_local_closure(Tasmota_get_light, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_get_light, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1945,7 +1979,7 @@ be_local_closure(Tasmota_get_light, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(tasmota_X2Eget_light_X28_X29_X20is_X20deprecated_X2C_X20use_X20light_X2Eget_X28_X29), @@ -1980,7 +2014,8 @@ be_local_closure(Tasmota_get_light, /* name */ /******************************************************************** ** Solidified function: add_cron ********************************************************************/ -be_local_closure(Tasmota_add_cron, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_add_cron, /* name */ be_nested_proto( 13, /* nstack */ 4, /* argc */ @@ -1988,7 +2023,7 @@ be_local_closure(Tasmota_add_cron, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(check_not_method), @@ -2037,7 +2072,8 @@ be_local_closure(Tasmota_add_cron, /* name */ /******************************************************************** ** Solidified function: hs2rgb ********************************************************************/ -be_local_closure(Tasmota_hs2rgb, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_hs2rgb, /* name */ be_nested_proto( 17, /* nstack */ 3, /* argc */ @@ -2045,7 +2081,7 @@ be_local_closure(Tasmota_hs2rgb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_int(0), @@ -2135,7 +2171,8 @@ be_local_closure(Tasmota_hs2rgb, /* name */ /******************************************************************** ** Solidified function: remove_cron ********************************************************************/ -be_local_closure(Tasmota_remove_cron, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_remove_cron, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2143,7 +2180,7 @@ be_local_closure(Tasmota_remove_cron, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str(_crons), @@ -2183,7 +2220,8 @@ be_local_closure(Tasmota_remove_cron, /* name */ /******************************************************************** ** Solidified function: load ********************************************************************/ -be_local_closure(Tasmota_load, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_load, /* name */ be_nested_proto( 26, /* nstack */ 2, /* argc */ @@ -2191,7 +2229,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 6]) { + ( &(const struct bproto*[ 7]) { be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -2199,7 +2237,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(sys), @@ -2232,7 +2270,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(sys), @@ -2265,7 +2303,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str(r), @@ -2332,7 +2370,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(path), @@ -2365,7 +2403,7 @@ be_local_closure(Tasmota_load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(file), @@ -2408,7 +2446,7 @@ be_local_closure(Tasmota_load, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(BRY_X3A_X20failed_X20to_X20run_X20compiled_X20code_X20_X28_X25s_X20_X2D_X20_X25s_X29), @@ -2451,6 +2489,7 @@ be_local_closure(Tasmota_load, /* name */ 0x80040200, // 001D RET 1 R1 }) ), + &be_class_Tasmota, }), 1, /* has constants */ ( &(const bvalue[20]) { /* constants */ @@ -2651,7 +2690,8 @@ be_local_closure(Tasmota_load, /* name */ /******************************************************************** ** Solidified function: urlfetch_cmd ********************************************************************/ -be_local_closure(Tasmota_urlfetch_cmd, /* name */ +extern const bclass be_class_Tasmota; +be_local_closure(class_Tasmota_urlfetch_cmd, /* name */ be_nested_proto( 10, /* nstack */ 5, /* argc */ @@ -2659,7 +2699,7 @@ be_local_closure(Tasmota_urlfetch_cmd, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Tasmota, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str(string), @@ -2724,66 +2764,59 @@ be_local_class(Tasmota, NULL, be_nested_map(51, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(cmd, -1), be_const_closure(Tasmota_cmd_closure) }, + { be_const_key(cmd, -1), be_const_closure(class_Tasmota_cmd_closure) }, { be_const_key(wd, 47), be_const_var(11) }, { be_const_key(_crons, 13), be_const_var(3) }, - { be_const_key(urlfetch_cmd, -1), be_const_closure(Tasmota_urlfetch_cmd_closure) }, - { be_const_key(load, -1), be_const_closure(Tasmota_load_closure) }, + { be_const_key(urlfetch_cmd, -1), be_const_closure(class_Tasmota_urlfetch_cmd_closure) }, + { be_const_key(load, -1), be_const_closure(class_Tasmota_load_closure) }, { be_const_key(global, -1), be_const_var(9) }, - { be_const_key(event, -1), be_const_closure(Tasmota_event_closure) }, - { be_const_key(exec_cmd, 12), be_const_closure(Tasmota_exec_cmd_closure) }, - { be_const_key(remove_cron, -1), be_const_closure(Tasmota_remove_cron_closure) }, - { be_const_key(hs2rgb, 21), be_const_closure(Tasmota_hs2rgb_closure) }, - { be_const_key(remove_driver, 30), be_const_closure(Tasmota_remove_driver_closure) }, - { be_const_key(add_driver, -1), be_const_closure(Tasmota_add_driver_closure) }, - { be_const_key(remove_cmd, -1), be_const_closure(Tasmota_remove_cmd_closure) }, - { be_const_key(gc, -1), be_const_closure(Tasmota_gc_closure) }, + { be_const_key(event, -1), be_const_closure(class_Tasmota_event_closure) }, + { be_const_key(exec_cmd, 12), be_const_closure(class_Tasmota_exec_cmd_closure) }, + { be_const_key(remove_cron, -1), be_const_closure(class_Tasmota_remove_cron_closure) }, + { be_const_key(hs2rgb, 21), be_const_closure(class_Tasmota_hs2rgb_closure) }, + { be_const_key(remove_driver, 30), be_const_closure(class_Tasmota_remove_driver_closure) }, + { be_const_key(add_driver, -1), be_const_closure(class_Tasmota_add_driver_closure) }, + { be_const_key(remove_cmd, -1), be_const_closure(class_Tasmota_remove_cmd_closure) }, + { be_const_key(gc, -1), be_const_closure(class_Tasmota_gc_closure) }, { be_const_key(_fl, 25), be_const_var(0) }, - { be_const_key(init, -1), be_const_closure(Tasmota_init_closure) }, + { be_const_key(init, -1), be_const_closure(class_Tasmota_init_closure) }, { be_const_key(_drivers, 48), be_const_var(5) }, - { be_const_key(try_rule, -1), be_const_closure(Tasmota_try_rule_closure) }, - { be_const_key(get_light, -1), be_const_closure(Tasmota_get_light_closure) }, + { be_const_key(try_rule, -1), be_const_closure(class_Tasmota_try_rule_closure) }, + { be_const_key(get_light, -1), be_const_closure(class_Tasmota_get_light_closure) }, { be_const_key(cmd_res, -1), be_const_var(8) }, - { be_const_key(exec_rules, -1), be_const_closure(Tasmota_exec_rules_closure) }, + { be_const_key(exec_rules, -1), be_const_closure(class_Tasmota_exec_rules_closure) }, { be_const_key(_ccmd, -1), be_const_var(4) }, - { be_const_key(find_list_i, 33), be_const_closure(Tasmota_find_list_i_closure) }, - { be_const_key(remove_fast_loop, -1), be_const_closure(Tasmota_remove_fast_loop_closure) }, - { be_const_key(check_not_method, 20), be_const_closure(Tasmota_check_not_method_closure) }, - { be_const_key(exec_tele, -1), be_const_closure(Tasmota_exec_tele_closure) }, - { be_const_key(run_deferred, -1), be_const_closure(Tasmota_run_deferred_closure) }, - { be_const_key(compile, -1), be_const_closure(Tasmota_compile_closure) }, + { be_const_key(find_list_i, 33), be_const_closure(class_Tasmota_find_list_i_closure) }, + { be_const_key(remove_fast_loop, -1), be_const_closure(class_Tasmota_remove_fast_loop_closure) }, + { be_const_key(check_not_method, 20), be_const_closure(class_Tasmota_check_not_method_closure) }, + { be_const_key(exec_tele, -1), be_const_closure(class_Tasmota_exec_tele_closure) }, + { be_const_key(run_deferred, -1), be_const_closure(class_Tasmota_run_deferred_closure) }, + { be_const_key(compile, -1), be_const_closure(class_Tasmota_compile_closure) }, { be_const_key(wire2, 42), be_const_var(7) }, - { be_const_key(remove_rule, 34), be_const_closure(Tasmota_remove_rule_closure) }, - { be_const_key(set_timer, -1), be_const_closure(Tasmota_set_timer_closure) }, - { be_const_key(gen_cb, -1), be_const_closure(Tasmota_gen_cb_closure) }, + { be_const_key(remove_rule, 34), be_const_closure(class_Tasmota_remove_rule_closure) }, + { be_const_key(set_timer, -1), be_const_closure(class_Tasmota_set_timer_closure) }, + { be_const_key(gen_cb, -1), be_const_closure(class_Tasmota_gen_cb_closure) }, { be_const_key(wire1, -1), be_const_var(6) }, - { be_const_key(wire_scan, -1), be_const_closure(Tasmota_wire_scan_closure) }, - { be_const_key(find_key_i, -1), be_const_closure(Tasmota_find_key_i_closure) }, - { be_const_key(urlfetch, -1), be_const_closure(Tasmota_urlfetch_closure) }, + { be_const_key(wire_scan, -1), be_const_closure(class_Tasmota_wire_scan_closure) }, + { be_const_key(find_key_i, -1), be_const_closure(class_Tasmota_find_key_i_closure) }, + { be_const_key(urlfetch, -1), be_const_closure(class_Tasmota_urlfetch_closure) }, { be_const_key(_debug_present, 9), be_const_var(12) }, { be_const_key(settings, -1), be_const_var(10) }, - { be_const_key(fast_loop, -1), be_const_closure(Tasmota_fast_loop_closure) }, - { be_const_key(next_cron, 31), be_const_closure(Tasmota_next_cron_closure) }, + { be_const_key(fast_loop, -1), be_const_closure(class_Tasmota_fast_loop_closure) }, + { be_const_key(next_cron, 31), be_const_closure(class_Tasmota_next_cron_closure) }, { be_const_key(_rules, 8), be_const_var(1) }, - { be_const_key(time_str, -1), be_const_closure(Tasmota_time_str_closure) }, - { be_const_key(remove_timer, -1), be_const_closure(Tasmota_remove_timer_closure) }, - { be_const_key(add_fast_loop, -1), be_const_closure(Tasmota_add_fast_loop_closure) }, - { be_const_key(run_cron, 18), be_const_closure(Tasmota_run_cron_closure) }, - { be_const_key(add_cron, -1), be_const_closure(Tasmota_add_cron_closure) }, + { be_const_key(time_str, -1), be_const_closure(class_Tasmota_time_str_closure) }, + { be_const_key(remove_timer, -1), be_const_closure(class_Tasmota_remove_timer_closure) }, + { be_const_key(add_fast_loop, -1), be_const_closure(class_Tasmota_add_fast_loop_closure) }, + { be_const_key(run_cron, 18), be_const_closure(class_Tasmota_run_cron_closure) }, + { be_const_key(add_cron, -1), be_const_closure(class_Tasmota_add_cron_closure) }, { be_const_key(_timers, -1), be_const_var(2) }, - { be_const_key(find_op, -1), be_const_closure(Tasmota_find_op_closure) }, - { be_const_key(add_rule, -1), be_const_closure(Tasmota_add_rule_closure) }, - { be_const_key(add_cmd, 4), be_const_closure(Tasmota_add_cmd_closure) }, - { be_const_key(set_light, 3), be_const_closure(Tasmota_set_light_closure) }, + { be_const_key(find_op, -1), be_const_closure(class_Tasmota_find_op_closure) }, + { be_const_key(add_rule, -1), be_const_closure(class_Tasmota_add_rule_closure) }, + { be_const_key(add_cmd, 4), be_const_closure(class_Tasmota_add_cmd_closure) }, + { be_const_key(set_light, 3), be_const_closure(class_Tasmota_set_light_closure) }, })), (bstring*) &be_const_str_Tasmota ); -/*******************************************************************/ - -void be_load_Tasmota_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Tasmota); - be_setglobal(vm, "Tasmota"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_trigger_class.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_trigger_class.h index 8373c3722..b917c6e09 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_trigger_class.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_trigger_class.h @@ -9,7 +9,8 @@ extern const bclass be_class_Trigger; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(Trigger_init, /* name */ +extern const bclass be_class_Trigger; +be_local_closure(class_Trigger_init, /* name */ be_nested_proto( 5, /* nstack */ 5, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(Trigger_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Trigger, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(trig), @@ -42,7 +43,8 @@ be_local_closure(Trigger_init, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(Trigger_tostring, /* name */ +extern const bclass be_class_Trigger; +be_local_closure(class_Trigger_tostring, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -50,7 +52,7 @@ be_local_closure(Trigger_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Trigger, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(_X3Cinstance_X3A_X20_X25s_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29), @@ -88,7 +90,8 @@ be_local_closure(Trigger_tostring, /* name */ /******************************************************************** ** Solidified function: time_reached ********************************************************************/ -be_local_closure(Trigger_time_reached, /* name */ +extern const bclass be_class_Trigger; +be_local_closure(class_Trigger_time_reached, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -96,7 +99,7 @@ be_local_closure(Trigger_time_reached, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Trigger, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str(o), @@ -128,7 +131,8 @@ be_local_closure(Trigger_time_reached, /* name */ /******************************************************************** ** Solidified function: next ********************************************************************/ -be_local_closure(Trigger_next, /* name */ +extern const bclass be_class_Trigger; +be_local_closure(class_Trigger_next, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -136,7 +140,7 @@ be_local_closure(Trigger_next, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_Trigger, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str(o), @@ -168,21 +172,14 @@ be_local_class(Trigger, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key(id, 2), be_const_var(2) }, { be_const_key(f, -1), be_const_var(1) }, - { be_const_key(next, -1), be_const_closure(Trigger_next_closure) }, + { be_const_key(next, -1), be_const_closure(class_Trigger_next_closure) }, { be_const_key(trig, 7), be_const_var(0) }, - { be_const_key(time_reached, -1), be_const_closure(Trigger_time_reached_closure) }, - { be_const_key(tostring, 4), be_const_closure(Trigger_tostring_closure) }, + { be_const_key(time_reached, -1), be_const_closure(class_Trigger_time_reached_closure) }, + { be_const_key(tostring, 4), be_const_closure(class_Trigger_tostring_closure) }, { be_const_key(o, -1), be_const_var(3) }, - { be_const_key(init, -1), be_const_closure(Trigger_init_closure) }, + { be_const_key(init, -1), be_const_closure(class_Trigger_init_closure) }, })), (bstring*) &be_const_str_Trigger ); -/*******************************************************************/ - -void be_load_Trigger_class(bvm *vm) { - be_pushntvclass(vm, &be_class_Trigger); - be_setglobal(vm, "Trigger"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_uuid.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_uuid.h index b02da5c7c..32ba659c0 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_uuid.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_uuid.h @@ -7,7 +7,7 @@ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(uuid__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 10, /* nstack */ 0, /* argc */ @@ -15,7 +15,7 @@ be_local_closure(uuid__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str(math), @@ -67,7 +67,7 @@ be_local_module(uuid, "uuid", be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key(uuid4, -1), be_const_closure(uuid__anonymous__closure) }, + { be_const_key(uuid4, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(uuid); diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee.h index 0c1dc7c27..33ee2991e 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee.h @@ -7,7 +7,8 @@ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(zb_device_tostring, /* name */ +extern const bclass be_class_zb_device; +be_local_closure(class_zb_device_tostring, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -15,7 +16,7 @@ be_local_closure(zb_device_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zb_device, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(json), diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zb_coord.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zb_coord.h index b39885b98..7539e57e7 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zb_coord.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zb_coord.h @@ -9,7 +9,8 @@ extern const bclass be_class_zb_coord; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(zb_coord_init, /* name */ +extern const bclass be_class_zb_coord; +be_local_closure(class_zb_coord_init, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(zb_coord_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zb_coord, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -40,7 +41,8 @@ be_local_closure(zb_coord_init, /* name */ /******************************************************************** ** Solidified function: add_handler ********************************************************************/ -be_local_closure(zb_coord_add_handler, /* name */ +extern const bclass be_class_zb_coord; +be_local_closure(class_zb_coord_add_handler, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -48,7 +50,7 @@ be_local_closure(zb_coord_add_handler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zb_coord, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(instance), @@ -95,7 +97,8 @@ be_local_closure(zb_coord_add_handler, /* name */ /******************************************************************** ** Solidified function: dispatch ********************************************************************/ -be_local_closure(zb_coord_dispatch, /* name */ +extern const bclass be_class_zb_coord; +be_local_closure(class_zb_coord_dispatch, /* name */ be_nested_proto( 19, /* nstack */ 5, /* argc */ @@ -103,7 +106,7 @@ be_local_closure(zb_coord_dispatch, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zb_coord, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(_handlers), @@ -203,7 +206,8 @@ be_local_closure(zb_coord_dispatch, /* name */ /******************************************************************** ** Solidified function: remove_handler ********************************************************************/ -be_local_closure(zb_coord_remove_handler, /* name */ +extern const bclass be_class_zb_coord; +be_local_closure(class_zb_coord_remove_handler, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -211,7 +215,7 @@ be_local_closure(zb_coord_remove_handler, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zb_coord, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_handlers), @@ -250,20 +254,13 @@ be_local_class(zb_coord, &be_class_zb_coord_ntv, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(zb_coord_init_closure) }, - { be_const_key_weak(remove_handler, 2), be_const_closure(zb_coord_remove_handler_closure) }, - { be_const_key_weak(add_handler, -1), be_const_closure(zb_coord_add_handler_closure) }, - { be_const_key_weak(dispatch, -1), be_const_closure(zb_coord_dispatch_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zb_coord_init_closure) }, + { be_const_key_weak(remove_handler, 2), be_const_closure(class_zb_coord_remove_handler_closure) }, + { be_const_key_weak(add_handler, -1), be_const_closure(class_zb_coord_add_handler_closure) }, + { be_const_key_weak(dispatch, -1), be_const_closure(class_zb_coord_dispatch_closure) }, { be_const_key_weak(_handlers, 1), be_const_var(0) }, })), be_str_weak(zb_coord) ); -/*******************************************************************/ - -void be_load_zb_coord_class(bvm *vm) { - be_pushntvclass(vm, &be_class_zb_coord); - be_setglobal(vm, "zb_coord"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_attribute.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_attribute.h index bbf637b6b..ccdf0d811 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_attribute.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_attribute.h @@ -9,7 +9,8 @@ extern const bclass be_class_zcl_attribute; /******************************************************************** ** Solidified function: tomap ********************************************************************/ -be_local_closure(zcl_attribute_tomap, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_tomap, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(zcl_attribute_tomap, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(tomap), @@ -58,7 +59,8 @@ be_local_closure(zcl_attribute_tomap, /* name */ /******************************************************************** ** Solidified function: key_tostring ********************************************************************/ -be_local_closure(zcl_attribute_key_tostring, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_key_tostring, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -66,7 +68,7 @@ be_local_closure(zcl_attribute_key_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(_X3Cundefined_X3E), @@ -164,7 +166,8 @@ be_local_closure(zcl_attribute_key_tostring, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(zcl_attribute_setmember, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_setmember, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -172,7 +175,7 @@ be_local_closure(zcl_attribute_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(cluster), @@ -270,7 +273,8 @@ be_local_closure(zcl_attribute_setmember, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(zcl_attribute_tostring, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_tostring, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -278,7 +282,7 @@ be_local_closure(zcl_attribute_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -357,7 +361,8 @@ be_local_closure(zcl_attribute_tostring, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(zcl_attribute_init, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -365,7 +370,7 @@ be_local_closure(zcl_attribute_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -395,7 +400,8 @@ be_local_closure(zcl_attribute_init, /* name */ /******************************************************************** ** Solidified function: deinit ********************************************************************/ -be_local_closure(zcl_attribute_deinit, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_deinit, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -403,7 +409,7 @@ be_local_closure(zcl_attribute_deinit, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(ismapped), @@ -427,7 +433,8 @@ be_local_closure(zcl_attribute_deinit, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(zcl_attribute_member, /* name */ +extern const bclass be_class_zcl_attribute; +be_local_closure(class_zcl_attribute_member, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -435,7 +442,7 @@ be_local_closure(zcl_attribute_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(cluster), @@ -549,30 +556,24 @@ be_local_class(zcl_attribute, &be_class_zcl_attribute_ntv, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(tomap, -1), be_const_closure(zcl_attribute_tomap_closure) }, - { be_const_key_weak(key_tostring, -1), be_const_closure(zcl_attribute_key_tostring_closure) }, - { be_const_key_weak(init, -1), be_const_closure(zcl_attribute_init_closure) }, - { be_const_key_weak(tostring, -1), be_const_closure(zcl_attribute_tostring_closure) }, - { be_const_key_weak(deinit, 2), be_const_closure(zcl_attribute_deinit_closure) }, - { be_const_key_weak(setmember, 4), be_const_closure(zcl_attribute_setmember_closure) }, - { be_const_key_weak(member, -1), be_const_closure(zcl_attribute_member_closure) }, + { be_const_key_weak(tomap, -1), be_const_closure(class_zcl_attribute_tomap_closure) }, + { be_const_key_weak(key_tostring, -1), be_const_closure(class_zcl_attribute_key_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_init_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_zcl_attribute_tostring_closure) }, + { be_const_key_weak(deinit, 2), be_const_closure(class_zcl_attribute_deinit_closure) }, + { be_const_key_weak(setmember, 4), be_const_closure(class_zcl_attribute_setmember_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_zcl_attribute_member_closure) }, })), be_str_weak(zcl_attribute) ); -/*******************************************************************/ - -void be_load_zcl_attribute_class(bvm *vm) { - be_pushntvclass(vm, &be_class_zcl_attribute); - be_setglobal(vm, "zcl_attribute"); - be_pop(vm, 1); -} extern const bclass be_class_zcl_attribute_list; /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(zcl_attribute_list_member, /* name */ +extern const bclass be_class_zcl_attribute_list; +be_local_closure(class_zcl_attribute_list_member, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -580,7 +581,7 @@ be_local_closure(zcl_attribute_list_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute_list, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(groupaddr), @@ -644,7 +645,8 @@ be_local_closure(zcl_attribute_list_member, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(zcl_attribute_list_setmember, /* name */ +extern const bclass be_class_zcl_attribute_list; +be_local_closure(class_zcl_attribute_list_setmember, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -652,7 +654,7 @@ be_local_closure(zcl_attribute_list_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute_list, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(groupaddr), @@ -713,7 +715,8 @@ be_local_closure(zcl_attribute_list_setmember, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(zcl_attribute_list_init, /* name */ +extern const bclass be_class_zcl_attribute_list; +be_local_closure(class_zcl_attribute_list_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -721,7 +724,7 @@ be_local_closure(zcl_attribute_list_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -751,7 +754,8 @@ be_local_closure(zcl_attribute_list_init, /* name */ /******************************************************************** ** Solidified function: deinit ********************************************************************/ -be_local_closure(zcl_attribute_list_deinit, /* name */ +extern const bclass be_class_zcl_attribute_list; +be_local_closure(class_zcl_attribute_list_deinit, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -759,7 +763,7 @@ be_local_closure(zcl_attribute_list_deinit, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute_list, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(ismapped), @@ -783,7 +787,8 @@ be_local_closure(zcl_attribute_list_deinit, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(zcl_attribute_list_tostring, /* name */ +extern const bclass be_class_zcl_attribute_list; +be_local_closure(class_zcl_attribute_list_tostring, /* name */ be_nested_proto( 11, /* nstack */ 1, /* argc */ @@ -791,7 +796,7 @@ be_local_closure(zcl_attribute_list_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_attribute_list, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -894,20 +899,13 @@ be_local_class(zcl_attribute_list, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(shortaddr, -1), be_const_var(0) }, - { be_const_key_weak(member, 2), be_const_closure(zcl_attribute_list_member_closure) }, - { be_const_key_weak(tostring, 5), be_const_closure(zcl_attribute_list_tostring_closure) }, - { be_const_key_weak(init, -1), be_const_closure(zcl_attribute_list_init_closure) }, - { be_const_key_weak(deinit, -1), be_const_closure(zcl_attribute_list_deinit_closure) }, - { be_const_key_weak(setmember, -1), be_const_closure(zcl_attribute_list_setmember_closure) }, + { be_const_key_weak(member, 2), be_const_closure(class_zcl_attribute_list_member_closure) }, + { be_const_key_weak(tostring, 5), be_const_closure(class_zcl_attribute_list_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_attribute_list_init_closure) }, + { be_const_key_weak(deinit, -1), be_const_closure(class_zcl_attribute_list_deinit_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_zcl_attribute_list_setmember_closure) }, })), be_str_weak(zcl_attribute_list) ); -/*******************************************************************/ - -void be_load_zcl_attribute_list_class(bvm *vm) { - be_pushntvclass(vm, &be_class_zcl_attribute_list); - be_setglobal(vm, "zcl_attribute_list"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_frame.h b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_frame.h index 33405b7c1..9c6ab3a5d 100644 --- a/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_frame.h +++ b/lib/libesp32/berry_tasmota/src/solidify/solidified_zigbee_zcl_frame.h @@ -9,7 +9,8 @@ extern const bclass be_class_zcl_frame; /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(zcl_frame_member, /* name */ +extern const bclass be_class_zcl_frame; +be_local_closure(class_zcl_frame_member, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(zcl_frame_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_frame, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(payload), @@ -52,7 +53,8 @@ be_local_closure(zcl_frame_member, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(zcl_frame_setmember, /* name */ +extern const bclass be_class_zcl_frame; +be_local_closure(class_zcl_frame_setmember, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -60,7 +62,7 @@ be_local_closure(zcl_frame_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_frame, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(payload), @@ -97,7 +99,8 @@ be_local_closure(zcl_frame_setmember, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(zcl_frame_init, /* name */ +extern const bclass be_class_zcl_frame; +be_local_closure(class_zcl_frame_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -105,7 +108,7 @@ be_local_closure(zcl_frame_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_frame, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -133,7 +136,8 @@ be_local_closure(zcl_frame_init, /* name */ /******************************************************************** ** Solidified function: tomap ********************************************************************/ -be_local_closure(zcl_frame_tomap, /* name */ +extern const bclass be_class_zcl_frame; +be_local_closure(class_zcl_frame_tomap, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -141,7 +145,7 @@ be_local_closure(zcl_frame_tomap, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_frame, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(tomap), @@ -175,7 +179,8 @@ be_local_closure(zcl_frame_tomap, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(zcl_frame_tostring, /* name */ +extern const bclass be_class_zcl_frame; +be_local_closure(class_zcl_frame_tostring, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -183,7 +188,7 @@ be_local_closure(zcl_frame_tostring, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_zcl_frame, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(tomap), @@ -213,20 +218,13 @@ be_local_class(zcl_frame, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(no_bytes, -1), be_const_var(0) }, - { be_const_key_weak(member, 2), be_const_closure(zcl_frame_member_closure) }, - { be_const_key_weak(tostring, 5), be_const_closure(zcl_frame_tostring_closure) }, - { be_const_key_weak(init, -1), be_const_closure(zcl_frame_init_closure) }, - { be_const_key_weak(tomap, -1), be_const_closure(zcl_frame_tomap_closure) }, - { be_const_key_weak(setmember, -1), be_const_closure(zcl_frame_setmember_closure) }, + { be_const_key_weak(member, 2), be_const_closure(class_zcl_frame_member_closure) }, + { be_const_key_weak(tostring, 5), be_const_closure(class_zcl_frame_tostring_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_zcl_frame_init_closure) }, + { be_const_key_weak(tomap, -1), be_const_closure(class_zcl_frame_tomap_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_zcl_frame_setmember_closure) }, })), be_str_weak(zcl_frame) ); -/*******************************************************************/ - -void be_load_zcl_frame_class(bvm *vm) { - be_pushntvclass(vm, &be_class_zcl_frame); - be_setglobal(vm, "zcl_frame"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_binding_berry/solidify_all.be b/lib/libesp32_lvgl/lv_binding_berry/solidify_all.be index 9f2e0f15e..2d2720ea9 100755 --- a/lib/libesp32_lvgl/lv_binding_berry/solidify_all.be +++ b/lib/libesp32_lvgl/lv_binding_berry/solidify_all.be @@ -67,6 +67,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lv.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lv.h index c8a8c84e7..3a7fdb769 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lv.h +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lv.h @@ -15,7 +15,7 @@ be_local_closure(lv_module_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(lv), diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_extra.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_extra.h index 1e68423b7..6c023695c 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_extra.h +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_extra.h @@ -9,7 +9,8 @@ extern const bclass be_class_lv_str_arr; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_str_arr_init, /* name */ +extern const bclass be_class_lv_str_arr; +be_local_closure(class_lv_str_arr_init, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(lv_str_arr_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_str_arr, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(l), @@ -76,7 +77,7 @@ be_local_class(lv_str_arr, &be_class_bytes, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_str_arr_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_str_arr_init_closure) }, { be_const_key_weak(l, 0), be_const_var(0) }, })), be_str_weak(lv_str_arr) @@ -87,7 +88,8 @@ extern const bclass be_class_lv_int_arr; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_int_arr_init, /* name */ +extern const bclass be_class_lv_int_arr; +be_local_closure(class_lv_int_arr_init, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -95,7 +97,7 @@ be_local_closure(lv_int_arr_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_int_arr, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(instance), @@ -177,7 +179,8 @@ be_local_closure(lv_int_arr_init, /* name */ /******************************************************************** ** Solidified function: item ********************************************************************/ -be_local_closure(lv_int_arr_item, /* name */ +extern const bclass be_class_lv_int_arr; +be_local_closure(class_lv_int_arr_item, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -185,7 +188,7 @@ be_local_closure(lv_int_arr_item, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_int_arr, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get), @@ -208,7 +211,8 @@ be_local_closure(lv_int_arr_item, /* name */ /******************************************************************** ** Solidified function: setitem ********************************************************************/ -be_local_closure(lv_int_arr_setitem, /* name */ +extern const bclass be_class_lv_int_arr; +be_local_closure(class_lv_int_arr_setitem, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -216,7 +220,7 @@ be_local_closure(lv_int_arr_setitem, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_int_arr, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set), @@ -246,9 +250,9 @@ be_local_class(lv_int_arr, &be_class_bytes, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_int_arr_init_closure) }, - { be_const_key_weak(item, -1), be_const_closure(lv_int_arr_item_closure) }, - { be_const_key_weak(setitem, -1), be_const_closure(lv_int_arr_setitem_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_int_arr_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_lv_int_arr_item_closure) }, + { be_const_key_weak(setitem, -1), be_const_closure(class_lv_int_arr_setitem_closure) }, })), be_str_weak(lv_int_arr) ); @@ -258,7 +262,8 @@ extern const bclass be_class_lv_point_arr; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_point_arr_init, /* name */ +extern const bclass be_class_lv_point_arr; +be_local_closure(class_lv_point_arr_init, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -266,7 +271,7 @@ be_local_closure(lv_point_arr_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_point_arr, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(instance), @@ -351,7 +356,7 @@ be_local_class(lv_point_arr, &be_class_bytes, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_point_arr_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_point_arr_init_closure) }, })), be_str_weak(lv_point_arr) ); @@ -359,7 +364,7 @@ be_local_class(lv_point_arr, /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(lv_extra__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -367,7 +372,7 @@ be_local_closure(lv_extra__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -416,7 +421,8 @@ extern const bclass be_class_lv_style_prop_arr; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_style_prop_arr_init, /* name */ +extern const bclass be_class_lv_style_prop_arr; +be_local_closure(class_lv_style_prop_arr_init, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -424,7 +430,7 @@ be_local_closure(lv_style_prop_arr_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_style_prop_arr, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(instance), @@ -490,7 +496,7 @@ be_local_class(lv_style_prop_arr, &be_class_bytes, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_style_prop_arr_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_style_prop_arr_init_closure) }, })), be_str_weak(lv_style_prop_arr) ); @@ -500,7 +506,8 @@ extern const bclass be_class_lv_coord_arr; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lv_coord_arr_init, /* name */ +extern const bclass be_class_lv_coord_arr; +be_local_closure(class_lv_coord_arr_init, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -508,7 +515,7 @@ be_local_closure(lv_coord_arr_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_coord_arr, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(instance), @@ -590,7 +597,8 @@ be_local_closure(lv_coord_arr_init, /* name */ /******************************************************************** ** Solidified function: item ********************************************************************/ -be_local_closure(lv_coord_arr_item, /* name */ +extern const bclass be_class_lv_coord_arr; +be_local_closure(class_lv_coord_arr_item, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -598,7 +606,7 @@ be_local_closure(lv_coord_arr_item, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_coord_arr, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get), @@ -621,7 +629,8 @@ be_local_closure(lv_coord_arr_item, /* name */ /******************************************************************** ** Solidified function: setitem ********************************************************************/ -be_local_closure(lv_coord_arr_setitem, /* name */ +extern const bclass be_class_lv_coord_arr; +be_local_closure(class_lv_coord_arr_setitem, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -629,7 +638,7 @@ be_local_closure(lv_coord_arr_setitem, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lv_coord_arr, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set), @@ -659,9 +668,9 @@ be_local_class(lv_coord_arr, &be_class_bytes, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lv_coord_arr_init_closure) }, - { be_const_key_weak(item, -1), be_const_closure(lv_coord_arr_item_closure) }, - { be_const_key_weak(setitem, -1), be_const_closure(lv_coord_arr_setitem_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lv_coord_arr_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_lv_coord_arr_item_closure) }, + { be_const_key_weak(setitem, -1), be_const_closure(class_lv_coord_arr_setitem_closure) }, })), be_str_weak(lv_coord_arr) ); @@ -676,7 +685,7 @@ be_local_module(lv_extra, { be_const_key_weak(lv_coord_arr, 4), be_const_class(be_class_lv_coord_arr) }, { be_const_key_weak(lv_int_arr, -1), be_const_class(be_class_lv_int_arr) }, { be_const_key_weak(lv_point_arr, -1), be_const_class(be_class_lv_point_arr) }, - { be_const_key_weak(init, -1), be_const_closure(lv_extra__anonymous__closure) }, + { be_const_key_weak(init, -1), be_const_closure(_anonymous__closure) }, { be_const_key_weak(lv_style_prop_arr, -1), be_const_class(be_class_lv_style_prop_arr) }, { be_const_key_weak(lv_str_arr, 0), be_const_class(be_class_lv_str_arr) }, })) diff --git a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_glob.h b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_glob.h index 862f36e6e..5801d36dc 100644 --- a/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_glob.h +++ b/lib/libesp32_lvgl/lv_binding_berry/src/solidify/solidified_lvgl_glob.h @@ -9,7 +9,8 @@ extern const bclass be_class_LVGL_glob; /******************************************************************** ** Solidified function: get_event_cb ********************************************************************/ -be_local_closure(LVGL_glob_get_event_cb, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_get_event_cb, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(LVGL_glob_get_event_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -28,7 +29,7 @@ be_local_closure(LVGL_glob_get_event_cb, /* name */ be_local_const_upval(1, 4), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(lvgl_event_dispatch), @@ -44,6 +45,7 @@ be_local_closure(LVGL_glob_get_event_cb, /* name */ 0x80040200, // 0005 RET 1 R1 }) ), + &be_class_LVGL_glob, }), 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ @@ -97,7 +99,8 @@ be_local_closure(LVGL_glob_get_event_cb, /* name */ /******************************************************************** ** Solidified function: add_cb_event_closure ********************************************************************/ -be_local_closure(LVGL_glob_add_cb_event_closure, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_add_cb_event_closure, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -105,7 +108,7 @@ be_local_closure(LVGL_glob_add_cb_event_closure, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(cb_event_closure), @@ -170,7 +173,8 @@ be_local_closure(LVGL_glob_add_cb_event_closure, /* name */ /******************************************************************** ** Solidified function: make_cb ********************************************************************/ -be_local_closure(LVGL_glob_make_cb, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_make_cb, /* name */ be_nested_proto( 11, /* nstack */ 4, /* argc */ @@ -178,7 +182,7 @@ be_local_closure(LVGL_glob_make_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -188,7 +192,7 @@ be_local_closure(LVGL_glob_make_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(remove_cb), @@ -212,7 +216,7 @@ be_local_closure(LVGL_glob_make_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(lvgl_timer_dispatch), @@ -227,6 +231,7 @@ be_local_closure(LVGL_glob_make_cb, /* name */ 0x80040200, // 0004 RET 1 R1 }) ), + &be_class_LVGL_glob, }), 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ @@ -330,7 +335,8 @@ be_local_closure(LVGL_glob_make_cb, /* name */ /******************************************************************** ** Solidified function: lvgl_timer_dispatch ********************************************************************/ -be_local_closure(LVGL_glob_lvgl_timer_dispatch, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_lvgl_timer_dispatch, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -338,7 +344,7 @@ be_local_closure(LVGL_glob_lvgl_timer_dispatch, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -387,7 +393,8 @@ be_local_closure(LVGL_glob_lvgl_timer_dispatch, /* name */ /******************************************************************** ** Solidified function: lvgl_event_dispatch ********************************************************************/ -be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_lvgl_event_dispatch, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -395,7 +402,7 @@ be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -463,7 +470,8 @@ be_local_closure(LVGL_glob_lvgl_event_dispatch, /* name */ /******************************************************************** ** Solidified function: deregister_obj ********************************************************************/ -be_local_closure(LVGL_glob_deregister_obj, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_deregister_obj, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -471,7 +479,7 @@ be_local_closure(LVGL_glob_deregister_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(cb_obj), @@ -507,7 +515,8 @@ be_local_closure(LVGL_glob_deregister_obj, /* name */ /******************************************************************** ** Solidified function: register_obj ********************************************************************/ -be_local_closure(LVGL_glob_register_obj, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_register_obj, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -515,7 +524,7 @@ be_local_closure(LVGL_glob_register_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(cb_obj), @@ -555,7 +564,8 @@ be_local_closure(LVGL_glob_register_obj, /* name */ /******************************************************************** ** Solidified function: widget_event_impl ********************************************************************/ -be_local_closure(LVGL_glob_widget_event_impl, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_widget_event_impl, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -563,7 +573,7 @@ be_local_closure(LVGL_glob_widget_event_impl, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -640,7 +650,8 @@ be_local_closure(LVGL_glob_widget_event_impl, /* name */ /******************************************************************** ** Solidified function: widget_dtor_impl ********************************************************************/ -be_local_closure(LVGL_glob_widget_dtor_impl, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_widget_dtor_impl, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -648,7 +659,7 @@ be_local_closure(LVGL_glob_widget_dtor_impl, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -693,7 +704,8 @@ be_local_closure(LVGL_glob_widget_dtor_impl, /* name */ /******************************************************************** ** Solidified function: widget_ctor_impl ********************************************************************/ -be_local_closure(LVGL_glob_widget_ctor_impl, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_widget_ctor_impl, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -701,7 +713,7 @@ be_local_closure(LVGL_glob_widget_ctor_impl, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -755,7 +767,7 @@ be_local_closure(LVGL_glob_widget_ctor_impl, /* name */ /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(LVGL_glob__anonymous_, /* name */ +be_local_closure(class_LVGL_glob__anonymous_, /* name */ be_nested_proto( 2, /* nstack */ 0, /* argc */ @@ -763,7 +775,7 @@ be_local_closure(LVGL_glob__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(LVG_X3A_X20call_X20to_X20unsupported_X20callback), @@ -784,7 +796,8 @@ be_local_closure(LVGL_glob__anonymous_, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(LVGL_glob_init, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -792,7 +805,7 @@ be_local_closure(LVGL_glob_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -802,7 +815,7 @@ be_local_closure(LVGL_glob_init, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(make_cb), @@ -819,6 +832,7 @@ be_local_closure(LVGL_glob_init, /* name */ 0x80040600, // 0006 RET 1 R3 }) ), + &be_class_LVGL_glob, }), 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ @@ -845,7 +859,8 @@ be_local_closure(LVGL_glob_init, /* name */ /******************************************************************** ** Solidified function: get_object_from_ptr ********************************************************************/ -be_local_closure(LVGL_glob_get_object_from_ptr, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_get_object_from_ptr, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -853,7 +868,7 @@ be_local_closure(LVGL_glob_get_object_from_ptr, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(cb_obj), @@ -881,7 +896,8 @@ be_local_closure(LVGL_glob_get_object_from_ptr, /* name */ /******************************************************************** ** Solidified function: create_custom_widget ********************************************************************/ -be_local_closure(LVGL_glob_create_custom_widget, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_create_custom_widget, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -889,7 +905,7 @@ be_local_closure(LVGL_glob_create_custom_widget, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[27]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -1018,7 +1034,8 @@ be_local_closure(LVGL_glob_create_custom_widget, /* name */ /******************************************************************** ** Solidified function: widget_cb ********************************************************************/ -be_local_closure(LVGL_glob_widget_cb, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_widget_cb, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1026,7 +1043,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 3]) { + ( &(const struct bproto*[ 4]) { be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1036,7 +1053,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(widget_ctor_impl), @@ -1061,7 +1078,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(widget_dtor_impl), @@ -1086,7 +1103,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(widget_event_impl), @@ -1102,6 +1119,7 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ 0x80040400, // 0005 RET 1 R2 }) ), + &be_class_LVGL_glob, }), 1, /* has constants */ ( &(const bvalue[15]) { /* constants */ @@ -1187,7 +1205,8 @@ be_local_closure(LVGL_glob_widget_cb, /* name */ /******************************************************************** ** Solidified function: remove_cb ********************************************************************/ -be_local_closure(LVGL_glob_remove_cb, /* name */ +extern const bclass be_class_LVGL_glob; +be_local_closure(class_LVGL_glob_remove_cb, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1195,7 +1214,7 @@ be_local_closure(LVGL_glob_remove_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_LVGL_glob, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -1225,43 +1244,36 @@ be_local_class(LVGL_glob, NULL, be_nested_map(28, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_event_cb, -1), be_const_closure(LVGL_glob_get_event_cb_closure) }, + { be_const_key_weak(get_event_cb, -1), be_const_closure(class_LVGL_glob_get_event_cb_closure) }, { be_const_key_weak(cb_event_closure, -1), be_const_var(1) }, - { be_const_key_weak(lvgl_timer_dispatch, -1), be_const_closure(LVGL_glob_lvgl_timer_dispatch_closure) }, - { be_const_key_weak(deregister_obj, -1), be_const_closure(LVGL_glob_deregister_obj_closure) }, + { be_const_key_weak(lvgl_timer_dispatch, -1), be_const_closure(class_LVGL_glob_lvgl_timer_dispatch_closure) }, + { be_const_key_weak(deregister_obj, -1), be_const_closure(class_LVGL_glob_deregister_obj_closure) }, { be_const_key_weak(event_cb, 2), be_const_var(2) }, - { be_const_key_weak(register_obj, -1), be_const_closure(LVGL_glob_register_obj_closure) }, - { be_const_key_weak(lvgl_event_dispatch, 20), be_const_closure(LVGL_glob_lvgl_event_dispatch_closure) }, - { be_const_key_weak(widget_event_impl, -1), be_const_closure(LVGL_glob_widget_event_impl_closure) }, + { be_const_key_weak(register_obj, -1), be_const_closure(class_LVGL_glob_register_obj_closure) }, + { be_const_key_weak(lvgl_event_dispatch, 20), be_const_closure(class_LVGL_glob_lvgl_event_dispatch_closure) }, + { be_const_key_weak(widget_event_impl, -1), be_const_closure(class_LVGL_glob_widget_event_impl_closure) }, { be_const_key_weak(widget_ctor_cb, 16), be_const_var(7) }, - { be_const_key_weak(make_cb, 3), be_const_closure(LVGL_glob_make_cb_closure) }, - { be_const_key_weak(create_custom_widget, 5), be_const_closure(LVGL_glob_create_custom_widget_closure) }, + { be_const_key_weak(make_cb, 3), be_const_closure(class_LVGL_glob_make_cb_closure) }, + { be_const_key_weak(create_custom_widget, 5), be_const_closure(class_LVGL_glob_create_custom_widget_closure) }, { be_const_key_weak(event, -1), be_const_var(4) }, - { be_const_key_weak(get_object_from_ptr, -1), be_const_closure(LVGL_glob_get_object_from_ptr_closure) }, + { be_const_key_weak(get_object_from_ptr, -1), be_const_closure(class_LVGL_glob_get_object_from_ptr_closure) }, { be_const_key_weak(widget_struct_default, 7), be_const_var(10) }, - { be_const_key_weak(widget_dtor_impl, -1), be_const_closure(LVGL_glob_widget_dtor_impl_closure) }, - { be_const_key_weak(widget_ctor_impl, -1), be_const_closure(LVGL_glob_widget_ctor_impl_closure) }, + { be_const_key_weak(widget_dtor_impl, -1), be_const_closure(class_LVGL_glob_widget_dtor_impl_closure) }, + { be_const_key_weak(widget_ctor_impl, -1), be_const_closure(class_LVGL_glob_widget_ctor_impl_closure) }, { be_const_key_weak(general_event_cb, -1), be_const_var(5) }, - { be_const_key_weak(cb_do_nothing, -1), be_const_static_closure(LVGL_glob__anonymous__closure) }, + { be_const_key_weak(cb_do_nothing, -1), be_const_static_closure(class_LVGL_glob__anonymous__closure) }, { be_const_key_weak(widget_event_cb, 17), be_const_var(9) }, - { be_const_key_weak(init, -1), be_const_closure(LVGL_glob_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_LVGL_glob_init_closure) }, { be_const_key_weak(timer_cb, -1), be_const_var(3) }, { be_const_key_weak(widget_dtor_cb, 12), be_const_var(8) }, { be_const_key_weak(cb_obj, 10), be_const_var(0) }, - { be_const_key_weak(widget_cb, -1), be_const_closure(LVGL_glob_widget_cb_closure) }, + { be_const_key_weak(widget_cb, -1), be_const_closure(class_LVGL_glob_widget_cb_closure) }, { be_const_key_weak(null_cb, -1), be_const_var(6) }, - { be_const_key_weak(add_cb_event_closure, 4), be_const_closure(LVGL_glob_add_cb_event_closure_closure) }, + { be_const_key_weak(add_cb_event_closure, 4), be_const_closure(class_LVGL_glob_add_cb_event_closure_closure) }, { be_const_key_weak(widget_struct_by_class, -1), be_const_var(11) }, - { be_const_key_weak(remove_cb, -1), be_const_closure(LVGL_glob_remove_cb_closure) }, + { be_const_key_weak(remove_cb, -1), be_const_closure(class_LVGL_glob_remove_cb_closure) }, })), be_str_weak(LVGL_glob) ); -/*******************************************************************/ - -void be_load_LVGL_glob_class(bvm *vm) { - be_pushntvclass(vm, &be_class_LVGL_glob); - be_setglobal(vm, "LVGL_glob"); - be_pop(vm, 1); -} /********************************************************************/ /* End of solidification */ diff --git a/lib/libesp32_lvgl/lv_haspmota/solidify_all.be b/lib/libesp32_lvgl/lv_haspmota/solidify_all.be index 32b034922..160d47188 100755 --- a/lib/libesp32_lvgl/lv_haspmota/solidify_all.be +++ b/lib/libesp32_lvgl/lv_haspmota/solidify_all.be @@ -80,6 +80,11 @@ def parse_file(fname, prefix_out) o = o.(subname) cl_name = obj_name obj_name = subname + if (type(o) == 'class') + obj_name = 'class_' + obj_name + elif (type(o) == 'module') + obj_name = 'module_' + obj_name + end end solidify.dump(o, weak, fout, cl_name) end diff --git a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h index 2ecaf4a30..db8b25d01 100644 --- a/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h +++ b/lib/libesp32_lvgl/lv_haspmota/src/solidify/solidified_lv_haspmota.h @@ -9,7 +9,8 @@ extern const bclass be_class_lvh_root; /******************************************************************** ** Solidified function: get_text ********************************************************************/ -be_local_closure(lvh_root_get_text, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_text, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -17,7 +18,7 @@ be_local_closure(lvh_root_get_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_text), @@ -34,7 +35,8 @@ be_local_closure(lvh_root_get_text, /* name */ /******************************************************************** ** Solidified function: get_text_rule_formula ********************************************************************/ -be_local_closure(lvh_root_get_text_rule_formula, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_text_rule_formula, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -42,7 +44,7 @@ be_local_closure(lvh_root_get_text_rule_formula, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule_formula), @@ -61,7 +63,8 @@ be_local_closure(lvh_root_get_text_rule_formula, /* name */ /******************************************************************** ** Solidified function: set_text_rule_formula ********************************************************************/ -be_local_closure(lvh_root_set_text_rule_formula, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_text_rule_formula, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -69,7 +72,7 @@ be_local_closure(lvh_root_set_text_rule_formula, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule_formula), @@ -119,7 +122,8 @@ be_local_closure(lvh_root_set_text_rule_formula, /* name */ /******************************************************************** ** Solidified function: get_text_rule ********************************************************************/ -be_local_closure(lvh_root_get_text_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_text_rule, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -127,7 +131,7 @@ be_local_closure(lvh_root_get_text_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule), @@ -146,7 +150,8 @@ be_local_closure(lvh_root_get_text_rule, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_root_set_text, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_text, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -154,7 +159,7 @@ be_local_closure(lvh_root_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 0, /* has constants */ NULL, /* no const */ be_str_weak(set_text), @@ -170,7 +175,8 @@ be_local_closure(lvh_root_set_text, /* name */ /******************************************************************** ** Solidified function: val_rule_matched ********************************************************************/ -be_local_closure(lvh_root_val_rule_matched, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_val_rule_matched, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -178,7 +184,7 @@ be_local_closure(lvh_root_val_rule_matched, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_val_rule_function), @@ -233,7 +239,8 @@ be_local_closure(lvh_root_val_rule_matched, /* name */ /******************************************************************** ** Solidified function: parse_font ********************************************************************/ -be_local_closure(lvh_root_parse_font, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_parse_font, /* name */ be_nested_proto( 15, /* nstack */ 2, /* argc */ @@ -241,7 +248,7 @@ be_local_closure(lvh_root_parse_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(int), @@ -423,7 +430,8 @@ be_local_closure(lvh_root_parse_font, /* name */ /******************************************************************** ** Solidified function: get_val_rule_formula ********************************************************************/ -be_local_closure(lvh_root_get_val_rule_formula, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_val_rule_formula, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -431,7 +439,7 @@ be_local_closure(lvh_root_get_val_rule_formula, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_val_rule_formula), @@ -450,7 +458,8 @@ be_local_closure(lvh_root_get_val_rule_formula, /* name */ /******************************************************************** ** Solidified function: post_config ********************************************************************/ -be_local_closure(lvh_root_post_config, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_post_config, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -458,7 +467,7 @@ be_local_closure(lvh_root_post_config, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -484,7 +493,8 @@ be_local_closure(lvh_root_post_config, /* name */ /******************************************************************** ** Solidified function: text_rule_matched ********************************************************************/ -be_local_closure(lvh_root_text_rule_matched, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_text_rule_matched, /* name */ be_nested_proto( 10, /* nstack */ 2, /* argc */ @@ -492,7 +502,7 @@ be_local_closure(lvh_root_text_rule_matched, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(int), @@ -562,7 +572,8 @@ be_local_closure(lvh_root_text_rule_matched, /* name */ /******************************************************************** ** Solidified function: get_meta ********************************************************************/ -be_local_closure(lvh_root_get_meta, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_meta, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -570,7 +581,7 @@ be_local_closure(lvh_root_get_meta, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_meta), @@ -589,7 +600,8 @@ be_local_closure(lvh_root_get_meta, /* name */ /******************************************************************** ** Solidified function: set_value_str ********************************************************************/ -be_local_closure(lvh_root_set_value_str, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_value_str, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -597,7 +609,7 @@ be_local_closure(lvh_root_set_value_str, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_text), @@ -618,7 +630,8 @@ be_local_closure(lvh_root_set_value_str, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lvh_root_init, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_init, /* name */ be_nested_proto( 9, /* nstack */ 6, /* argc */ @@ -626,7 +639,7 @@ be_local_closure(lvh_root_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_page), @@ -664,7 +677,8 @@ be_local_closure(lvh_root_init, /* name */ /******************************************************************** ** Solidified function: get_delete ********************************************************************/ -be_local_closure(lvh_root_get_delete, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_delete, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -672,7 +686,7 @@ be_local_closure(lvh_root_get_delete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(delete), @@ -692,7 +706,8 @@ be_local_closure(lvh_root_get_delete, /* name */ /******************************************************************** ** Solidified function: remove_trailing_zeroes ********************************************************************/ -be_local_closure(lvh_root_remove_trailing_zeroes, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_remove_trailing_zeroes, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -700,7 +715,7 @@ be_local_closure(lvh_root_remove_trailing_zeroes, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_lvh_root), @@ -744,7 +759,8 @@ be_local_closure(lvh_root_remove_trailing_zeroes, /* name */ /******************************************************************** ** Solidified function: set_val_rule ********************************************************************/ -be_local_closure(lvh_root_set_val_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_val_rule, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -752,7 +768,7 @@ be_local_closure(lvh_root_set_val_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -762,7 +778,7 @@ be_local_closure(lvh_root_set_val_rule, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(val_rule_matched), @@ -777,6 +793,7 @@ be_local_closure(lvh_root_set_val_rule, /* name */ 0x80040200, // 0004 RET 1 R1 }) ), + &be_class_lvh_root, }), 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ @@ -811,7 +828,8 @@ be_local_closure(lvh_root_set_val_rule, /* name */ /******************************************************************** ** Solidified function: get_val_rule ********************************************************************/ -be_local_closure(lvh_root_get_val_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_val_rule, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -819,7 +837,7 @@ be_local_closure(lvh_root_get_val_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_val_rule), @@ -838,7 +856,8 @@ be_local_closure(lvh_root_get_val_rule, /* name */ /******************************************************************** ** Solidified function: digits_to_style ********************************************************************/ -be_local_closure(lvh_root_digits_to_style, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_digits_to_style, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -846,7 +865,7 @@ be_local_closure(lvh_root_digits_to_style, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_const_int(0), @@ -911,7 +930,8 @@ be_local_closure(lvh_root_digits_to_style, /* name */ /******************************************************************** ** Solidified function: set_text_rule_format ********************************************************************/ -be_local_closure(lvh_root_set_text_rule_format, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_text_rule_format, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -919,7 +939,7 @@ be_local_closure(lvh_root_set_text_rule_format, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule_format), @@ -941,7 +961,8 @@ be_local_closure(lvh_root_set_text_rule_format, /* name */ /******************************************************************** ** Solidified function: remove_val_rule ********************************************************************/ -be_local_closure(lvh_root_remove_val_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_remove_val_rule, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -949,7 +970,7 @@ be_local_closure(lvh_root_remove_val_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_val_rule), @@ -978,7 +999,8 @@ be_local_closure(lvh_root_remove_val_rule, /* name */ /******************************************************************** ** Solidified function: delete ********************************************************************/ -be_local_closure(lvh_root_delete, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_delete, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -986,7 +1008,7 @@ be_local_closure(lvh_root_delete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 0, /* has constants */ NULL, /* no const */ be_str_weak(delete), @@ -1002,7 +1024,8 @@ be_local_closure(lvh_root_delete, /* name */ /******************************************************************** ** Solidified function: get_obj ********************************************************************/ -be_local_closure(lvh_root_get_obj, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_obj, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1010,7 +1033,7 @@ be_local_closure(lvh_root_get_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -1029,7 +1052,8 @@ be_local_closure(lvh_root_get_obj, /* name */ /******************************************************************** ** Solidified function: is_color_attribute ********************************************************************/ -be_local_closure(lvh_root_is_color_attribute, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_is_color_attribute, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1037,7 +1061,7 @@ be_local_closure(lvh_root_is_color_attribute, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -1064,7 +1088,8 @@ be_local_closure(lvh_root_is_color_attribute, /* name */ /******************************************************************** ** Solidified function: set_meta ********************************************************************/ -be_local_closure(lvh_root_set_meta, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_meta, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1072,7 +1097,7 @@ be_local_closure(lvh_root_set_meta, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_meta), @@ -1091,7 +1116,8 @@ be_local_closure(lvh_root_set_meta, /* name */ /******************************************************************** ** Solidified function: set_delete ********************************************************************/ -be_local_closure(lvh_root_set_delete, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_delete, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -1099,7 +1125,7 @@ be_local_closure(lvh_root_set_delete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(type_error), @@ -1119,7 +1145,8 @@ be_local_closure(lvh_root_set_delete, /* name */ /******************************************************************** ** Solidified function: get_value_str ********************************************************************/ -be_local_closure(lvh_root_get_value_str, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_value_str, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1127,7 +1154,7 @@ be_local_closure(lvh_root_get_value_str, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_text), @@ -1147,7 +1174,8 @@ be_local_closure(lvh_root_get_value_str, /* name */ /******************************************************************** ** Solidified function: parse_color ********************************************************************/ -be_local_closure(lvh_root_parse_color, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_parse_color, /* name */ be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -1155,7 +1183,7 @@ be_local_closure(lvh_root_parse_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 10, /* nstack */ 1, /* argc */ @@ -1163,7 +1191,7 @@ be_local_closure(lvh_root_parse_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -1253,6 +1281,7 @@ be_local_closure(lvh_root_parse_color, /* name */ 0x80040400, // 0042 RET 1 R2 }) ), + &be_class_lvh_root, }), 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ @@ -1319,7 +1348,8 @@ be_local_closure(lvh_root_parse_color, /* name */ /******************************************************************** ** Solidified function: get_text_rule_format ********************************************************************/ -be_local_closure(lvh_root_get_text_rule_format, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_get_text_rule_format, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -1327,7 +1357,7 @@ be_local_closure(lvh_root_get_text_rule_format, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule_format), @@ -1346,7 +1376,8 @@ be_local_closure(lvh_root_get_text_rule_format, /* name */ /******************************************************************** ** Solidified function: remove_text_rule ********************************************************************/ -be_local_closure(lvh_root_remove_text_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_remove_text_rule, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1354,7 +1385,7 @@ be_local_closure(lvh_root_remove_text_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_text_rule), @@ -1383,7 +1414,8 @@ be_local_closure(lvh_root_remove_text_rule, /* name */ /******************************************************************** ** Solidified function: set_val_rule_formula ********************************************************************/ -be_local_closure(lvh_root_set_val_rule_formula, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_val_rule_formula, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -1391,7 +1423,7 @@ be_local_closure(lvh_root_set_val_rule_formula, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_root, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_val_rule_formula), @@ -1441,7 +1473,8 @@ be_local_closure(lvh_root_set_val_rule_formula, /* name */ /******************************************************************** ** Solidified function: set_text_rule ********************************************************************/ -be_local_closure(lvh_root_set_text_rule, /* name */ +extern const bclass be_class_lvh_root; +be_local_closure(class_lvh_root_set_text_rule, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1449,7 +1482,7 @@ be_local_closure(lvh_root_set_text_rule, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1459,7 +1492,7 @@ be_local_closure(lvh_root_set_text_rule, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(text_rule_matched), @@ -1474,6 +1507,7 @@ be_local_closure(lvh_root_set_text_rule, /* name */ 0x80040200, // 0004 RET 1 R1 }) ), + &be_class_lvh_root, }), 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ @@ -1514,8 +1548,8 @@ be_local_class(lvh_root, be_nested_map(49, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_lv_obj, 18), be_const_var(1) }, - { be_const_key_weak(get_text, -1), be_const_closure(lvh_root_get_text_closure) }, - { be_const_key_weak(get_text_rule_formula, -1), be_const_closure(lvh_root_get_text_rule_formula_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_root_get_text_closure) }, + { be_const_key_weak(get_text_rule_formula, -1), be_const_closure(class_lvh_root_get_text_rule_formula_closure) }, { be_const_key_weak(_val, -1), be_const_var(5) }, { be_const_key_weak(_attr_map, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, @@ -1527,11 +1561,11 @@ be_local_class(lvh_root, { be_const_key_weak(end_angle, -1), be_nested_str_weak(bg_end_angle) }, { be_const_key_weak(end_angle1, 0), be_nested_str_weak(end_angle) }, })) ) } )) }, - { be_const_key_weak(remove_text_rule, -1), be_const_closure(lvh_root_remove_text_rule_closure) }, + { be_const_key_weak(remove_text_rule, -1), be_const_closure(class_lvh_root_remove_text_rule_closure) }, { be_const_key_weak(_page, -1), be_const_var(2) }, - { be_const_key_weak(val_rule_matched, -1), be_const_closure(lvh_root_val_rule_matched_closure) }, - { be_const_key_weak(get_text_rule_format, 43), be_const_closure(lvh_root_get_text_rule_format_closure) }, - { be_const_key_weak(parse_font, -1), be_const_closure(lvh_root_parse_font_closure) }, + { be_const_key_weak(val_rule_matched, -1), be_const_closure(class_lvh_root_val_rule_matched_closure) }, + { be_const_key_weak(get_text_rule_format, 43), be_const_closure(class_lvh_root_get_text_rule_format_closure) }, + { be_const_key_weak(parse_font, -1), be_const_closure(class_lvh_root_parse_font_closure) }, { be_const_key_weak(_val_rule_formula, 34), be_const_var(7) }, { be_const_key_weak(_digit2state, 3), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(6, @@ -1544,9 +1578,9 @@ be_local_class(lvh_root, be_const_int(160), })) ) } )) }, { be_const_key_weak(_text_rule, -1), be_const_var(9) }, - { be_const_key_weak(get_val_rule_formula, 4), be_const_closure(lvh_root_get_val_rule_formula_closure) }, + { be_const_key_weak(get_val_rule_formula, 4), be_const_closure(class_lvh_root_get_val_rule_formula_closure) }, { be_const_key_weak(_meta, -1), be_const_var(4) }, - { be_const_key_weak(text_rule_matched, -1), be_const_closure(lvh_root_text_rule_matched_closure) }, + { be_const_key_weak(text_rule_matched, -1), be_const_closure(class_lvh_root_text_rule_matched_closure) }, { be_const_key_weak(_text_rule_formula, 10), be_const_var(10) }, { be_const_key_weak(_digit2part, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(10, @@ -1563,13 +1597,13 @@ be_local_class(lvh_root, be_const_int(524288), })) ) } )) }, { be_const_key_weak(_text_rule_function, 44), be_const_var(11) }, - { be_const_key_weak(init, -1), be_const_closure(lvh_root_init_closure) }, - { be_const_key_weak(get_text_rule, 6), be_const_closure(lvh_root_get_text_rule_closure) }, - { be_const_key_weak(get_value_str, -1), be_const_closure(lvh_root_get_value_str_closure) }, - { be_const_key_weak(set_delete, -1), be_const_closure(lvh_root_set_delete_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lvh_root_init_closure) }, + { be_const_key_weak(get_text_rule, 6), be_const_closure(class_lvh_root_get_text_rule_closure) }, + { be_const_key_weak(get_value_str, -1), be_const_closure(class_lvh_root_get_value_str_closure) }, + { be_const_key_weak(set_delete, -1), be_const_closure(class_lvh_root_set_delete_closure) }, { be_const_key_weak(id, 12), be_const_var(0) }, - { be_const_key_weak(get_val_rule, -1), be_const_closure(lvh_root_get_val_rule_closure) }, - { be_const_key_weak(post_config, 8), be_const_closure(lvh_root_post_config_closure) }, + { be_const_key_weak(get_val_rule, -1), be_const_closure(class_lvh_root_get_val_rule_closure) }, + { be_const_key_weak(post_config, 8), be_const_closure(class_lvh_root_post_config_closure) }, { be_const_key_weak(_val_rule_function, -1), be_const_var(8) }, { be_const_key_weak(_attr_ignore, 40), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(9, @@ -1584,44 +1618,38 @@ be_local_class(lvh_root, be_nested_str_weak(back), be_nested_str_weak(berry_run), })) ) } )) }, - { be_const_key_weak(set_text_rule_format, -1), be_const_closure(lvh_root_set_text_rule_format_closure) }, - { be_const_key_weak(remove_val_rule, -1), be_const_closure(lvh_root_remove_val_rule_closure) }, + { be_const_key_weak(set_text_rule_format, -1), be_const_closure(class_lvh_root_set_text_rule_format_closure) }, + { be_const_key_weak(remove_val_rule, -1), be_const_closure(class_lvh_root_remove_val_rule_closure) }, { be_const_key_weak(_text_rule_format, -1), be_const_var(12) }, - { be_const_key_weak(set_text_rule_formula, 23), be_const_closure(lvh_root_set_text_rule_formula_closure) }, - { be_const_key_weak(delete, -1), be_const_closure(lvh_root_delete_closure) }, - { be_const_key_weak(set_text, 26), be_const_closure(lvh_root_set_text_closure) }, - { be_const_key_weak(get_meta, -1), be_const_closure(lvh_root_get_meta_closure) }, - { be_const_key_weak(is_color_attribute, -1), be_const_closure(lvh_root_is_color_attribute_closure) }, + { be_const_key_weak(set_text_rule_formula, 23), be_const_closure(class_lvh_root_set_text_rule_formula_closure) }, + { be_const_key_weak(delete, -1), be_const_closure(class_lvh_root_delete_closure) }, + { be_const_key_weak(set_text, 26), be_const_closure(class_lvh_root_set_text_closure) }, + { be_const_key_weak(get_meta, -1), be_const_closure(class_lvh_root_get_meta_closure) }, + { be_const_key_weak(is_color_attribute, -1), be_const_closure(class_lvh_root_is_color_attribute_closure) }, { be_const_key_weak(_val_rule, -1), be_const_var(6) }, - { be_const_key_weak(set_meta, -1), be_const_closure(lvh_root_set_meta_closure) }, - { be_const_key_weak(set_val_rule, 22), be_const_closure(lvh_root_set_val_rule_closure) }, - { be_const_key_weak(set_value_str, 21), be_const_closure(lvh_root_set_value_str_closure) }, - { be_const_key_weak(digits_to_style, -1), be_const_closure(lvh_root_digits_to_style_closure) }, - { be_const_key_weak(remove_trailing_zeroes, 14), be_const_static_closure(lvh_root_remove_trailing_zeroes_closure) }, - { be_const_key_weak(parse_color, -1), be_const_static_closure(lvh_root_parse_color_closure) }, + { be_const_key_weak(set_meta, -1), be_const_closure(class_lvh_root_set_meta_closure) }, + { be_const_key_weak(set_val_rule, 22), be_const_closure(class_lvh_root_set_val_rule_closure) }, + { be_const_key_weak(set_value_str, 21), be_const_closure(class_lvh_root_set_value_str_closure) }, + { be_const_key_weak(digits_to_style, -1), be_const_closure(class_lvh_root_digits_to_style_closure) }, + { be_const_key_weak(remove_trailing_zeroes, 14), be_const_static_closure(class_lvh_root_remove_trailing_zeroes_closure) }, + { be_const_key_weak(parse_color, -1), be_const_static_closure(class_lvh_root_parse_color_closure) }, { be_const_key_weak(_parent_lvh, -1), be_const_var(3) }, - { be_const_key_weak(get_delete, -1), be_const_closure(lvh_root_get_delete_closure) }, + { be_const_key_weak(get_delete, -1), be_const_closure(class_lvh_root_get_delete_closure) }, { be_const_key_weak(_lv_class, -1), be_const_nil() }, - { be_const_key_weak(get_obj, 5), be_const_closure(lvh_root_get_obj_closure) }, - { be_const_key_weak(set_val_rule_formula, -1), be_const_closure(lvh_root_set_val_rule_formula_closure) }, - { be_const_key_weak(set_text_rule, -1), be_const_closure(lvh_root_set_text_rule_closure) }, + { be_const_key_weak(get_obj, 5), be_const_closure(class_lvh_root_get_obj_closure) }, + { be_const_key_weak(set_val_rule_formula, -1), be_const_closure(class_lvh_root_set_val_rule_formula_closure) }, + { be_const_key_weak(set_text_rule, -1), be_const_closure(class_lvh_root_set_text_rule_closure) }, })), be_str_weak(lvh_root) ); -/*******************************************************************/ - -void be_load_lvh_root_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_root); - be_setglobal(vm, "lvh_root"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_obj; /******************************************************************** ** Solidified function: set_pad_bottom2 ********************************************************************/ -be_local_closure(lvh_obj_set_pad_bottom2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_pad_bottom2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1629,7 +1657,7 @@ be_local_closure(lvh_obj_set_pad_bottom2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -1665,7 +1693,8 @@ be_local_closure(lvh_obj_set_pad_bottom2, /* name */ /******************************************************************** ** Solidified function: set_toggle ********************************************************************/ -be_local_closure(lvh_obj_set_toggle, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_toggle, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1673,7 +1702,7 @@ be_local_closure(lvh_obj_set_toggle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -1730,7 +1759,8 @@ be_local_closure(lvh_obj_set_toggle, /* name */ /******************************************************************** ** Solidified function: set_pad_left2 ********************************************************************/ -be_local_closure(lvh_obj_set_pad_left2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_pad_left2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -1738,7 +1768,7 @@ be_local_closure(lvh_obj_set_pad_left2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -1774,7 +1804,8 @@ be_local_closure(lvh_obj_set_pad_left2, /* name */ /******************************************************************** ** Solidified function: get_pad_top ********************************************************************/ -be_local_closure(lvh_obj_get_pad_top, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_pad_top, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -1782,7 +1813,7 @@ be_local_closure(lvh_obj_get_pad_top, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -1816,7 +1847,8 @@ be_local_closure(lvh_obj_get_pad_top, /* name */ /******************************************************************** ** Solidified function: get_line_width ********************************************************************/ -be_local_closure(lvh_obj_get_line_width, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_line_width, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -1824,7 +1856,7 @@ be_local_closure(lvh_obj_get_line_width, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -1847,7 +1879,8 @@ be_local_closure(lvh_obj_get_line_width, /* name */ /******************************************************************** ** Solidified function: get_adjustable ********************************************************************/ -be_local_closure(lvh_obj_get_adjustable, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_adjustable, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -1855,7 +1888,7 @@ be_local_closure(lvh_obj_get_adjustable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -1881,7 +1914,8 @@ be_local_closure(lvh_obj_get_adjustable, /* name */ /******************************************************************** ** Solidified function: get_text ********************************************************************/ -be_local_closure(lvh_obj_get_text, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_text, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -1889,7 +1923,7 @@ be_local_closure(lvh_obj_get_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -1917,7 +1951,8 @@ be_local_closure(lvh_obj_get_text, /* name */ /******************************************************************** ** Solidified function: set_line_width ********************************************************************/ -be_local_closure(lvh_obj_set_line_width, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_line_width, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -1925,7 +1960,7 @@ be_local_closure(lvh_obj_set_line_width, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -1951,7 +1986,8 @@ be_local_closure(lvh_obj_set_line_width, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_obj_set_text, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_text, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -1959,7 +1995,7 @@ be_local_closure(lvh_obj_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(check_label), @@ -1987,7 +2023,8 @@ be_local_closure(lvh_obj_set_text, /* name */ /******************************************************************** ** Solidified function: set_align ********************************************************************/ -be_local_closure(lvh_obj_set_align, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_align, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -1995,7 +2032,7 @@ be_local_closure(lvh_obj_set_align, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_const_int(0), @@ -2056,7 +2093,8 @@ be_local_closure(lvh_obj_set_align, /* name */ /******************************************************************** ** Solidified function: get_value_color ********************************************************************/ -be_local_closure(lvh_obj_get_value_color, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_value_color, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2064,7 +2102,7 @@ be_local_closure(lvh_obj_get_value_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_value_color), @@ -2084,7 +2122,8 @@ be_local_closure(lvh_obj_get_value_color, /* name */ /******************************************************************** ** Solidified function: get_pad_right ********************************************************************/ -be_local_closure(lvh_obj_get_pad_right, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_pad_right, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -2092,7 +2131,7 @@ be_local_closure(lvh_obj_get_pad_right, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -2126,7 +2165,8 @@ be_local_closure(lvh_obj_get_pad_right, /* name */ /******************************************************************** ** Solidified function: get_text_color ********************************************************************/ -be_local_closure(lvh_obj_get_text_color, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_text_color, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2134,7 +2174,7 @@ be_local_closure(lvh_obj_get_text_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2157,7 +2197,8 @@ be_local_closure(lvh_obj_get_text_color, /* name */ /******************************************************************** ** Solidified function: get_action ********************************************************************/ -be_local_closure(lvh_obj_get_action, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_action, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2165,7 +2206,7 @@ be_local_closure(lvh_obj_get_action, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_action), @@ -2189,7 +2230,8 @@ be_local_closure(lvh_obj_get_action, /* name */ /******************************************************************** ** Solidified function: get_value_ofs_y ********************************************************************/ -be_local_closure(lvh_obj_get_value_ofs_y, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_value_ofs_y, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2197,7 +2239,7 @@ be_local_closure(lvh_obj_get_value_ofs_y, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -2219,7 +2261,8 @@ be_local_closure(lvh_obj_get_value_ofs_y, /* name */ /******************************************************************** ** Solidified function: set_pad_all2 ********************************************************************/ -be_local_closure(lvh_obj_set_pad_all2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_pad_all2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2227,7 +2270,7 @@ be_local_closure(lvh_obj_set_pad_all2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -2263,7 +2306,8 @@ be_local_closure(lvh_obj_set_pad_all2, /* name */ /******************************************************************** ** Solidified function: check_label ********************************************************************/ -be_local_closure(lvh_obj_check_label, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_check_label, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -2271,7 +2315,7 @@ be_local_closure(lvh_obj_check_label, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -2322,7 +2366,8 @@ be_local_closure(lvh_obj_check_label, /* name */ /******************************************************************** ** Solidified function: set_value_color ********************************************************************/ -be_local_closure(lvh_obj_set_value_color, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_value_color, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2330,7 +2375,7 @@ be_local_closure(lvh_obj_set_value_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_text_color), @@ -2351,7 +2396,8 @@ be_local_closure(lvh_obj_set_value_color, /* name */ /******************************************************************** ** Solidified function: get_flex_in_new_track ********************************************************************/ -be_local_closure(lvh_obj_get_flex_in_new_track, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_flex_in_new_track, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2359,7 +2405,7 @@ be_local_closure(lvh_obj_get_flex_in_new_track, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2385,7 +2431,8 @@ be_local_closure(lvh_obj_get_flex_in_new_track, /* name */ /******************************************************************** ** Solidified function: delete ********************************************************************/ -be_local_closure(lvh_obj_delete, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_delete, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2393,7 +2440,7 @@ be_local_closure(lvh_obj_delete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(remove_val_rule), @@ -2440,7 +2487,8 @@ be_local_closure(lvh_obj_delete, /* name */ /******************************************************************** ** Solidified function: get_value_ofs_x ********************************************************************/ -be_local_closure(lvh_obj_get_value_ofs_x, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_value_ofs_x, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2448,7 +2496,7 @@ be_local_closure(lvh_obj_get_value_ofs_x, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -2470,7 +2518,8 @@ be_local_closure(lvh_obj_get_value_ofs_x, /* name */ /******************************************************************** ** Solidified function: set_pad_top2 ********************************************************************/ -be_local_closure(lvh_obj_set_pad_top2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_pad_top2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -2478,7 +2527,7 @@ be_local_closure(lvh_obj_set_pad_top2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -2514,7 +2563,8 @@ be_local_closure(lvh_obj_set_pad_top2, /* name */ /******************************************************************** ** Solidified function: set_click ********************************************************************/ -be_local_closure(lvh_obj_set_click, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_click, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2522,7 +2572,7 @@ be_local_closure(lvh_obj_set_click, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_enabled), @@ -2543,7 +2593,8 @@ be_local_closure(lvh_obj_set_click, /* name */ /******************************************************************** ** Solidified function: set_adjustable ********************************************************************/ -be_local_closure(lvh_obj_set_adjustable, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_adjustable, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2551,7 +2602,7 @@ be_local_closure(lvh_obj_set_adjustable, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2585,7 +2636,8 @@ be_local_closure(lvh_obj_set_adjustable, /* name */ /******************************************************************** ** Solidified function: event_cb ********************************************************************/ -be_local_closure(lvh_obj_event_cb, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_event_cb, /* name */ be_nested_proto( 13, /* nstack */ 2, /* argc */ @@ -2593,7 +2645,7 @@ be_local_closure(lvh_obj_event_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 4, /* nstack */ 0, /* argc */ @@ -2605,7 +2657,7 @@ be_local_closure(lvh_obj_event_cb, /* name */ be_local_const_upval(1, 3), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(do_action), @@ -2630,7 +2682,7 @@ be_local_closure(lvh_obj_event_cb, /* name */ be_local_const_upval(1, 7), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -2646,6 +2698,7 @@ be_local_closure(lvh_obj_event_cb, /* name */ 0x80040000, // 0004 RET 1 R0 }) ), + &be_class_lvh_obj, }), 1, /* has constants */ ( &(const bvalue[22]) { /* constants */ @@ -2756,7 +2809,8 @@ be_local_closure(lvh_obj_event_cb, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lvh_obj_init, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_init, /* name */ be_nested_proto( 13, /* nstack */ 6, /* argc */ @@ -2764,7 +2818,7 @@ be_local_closure(lvh_obj_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(init), @@ -2792,7 +2846,8 @@ be_local_closure(lvh_obj_init, /* name */ /******************************************************************** ** Solidified function: get_enabled ********************************************************************/ -be_local_closure(lvh_obj_get_enabled, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_enabled, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2800,7 +2855,7 @@ be_local_closure(lvh_obj_get_enabled, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2829,7 +2884,8 @@ be_local_closure(lvh_obj_get_enabled, /* name */ /******************************************************************** ** Solidified function: get_click ********************************************************************/ -be_local_closure(lvh_obj_get_click, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_click, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2837,7 +2893,7 @@ be_local_closure(lvh_obj_get_click, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_enabled), @@ -2857,7 +2913,8 @@ be_local_closure(lvh_obj_get_click, /* name */ /******************************************************************** ** Solidified function: get_label_mode ********************************************************************/ -be_local_closure(lvh_obj_get_label_mode, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_label_mode, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2865,7 +2922,7 @@ be_local_closure(lvh_obj_get_label_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -2892,7 +2949,8 @@ be_local_closure(lvh_obj_get_label_mode, /* name */ /******************************************************************** ** Solidified function: get_toggle ********************************************************************/ -be_local_closure(lvh_obj_get_toggle, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_toggle, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2900,7 +2958,7 @@ be_local_closure(lvh_obj_get_toggle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2926,7 +2984,8 @@ be_local_closure(lvh_obj_get_toggle, /* name */ /******************************************************************** ** Solidified function: get_hidden ********************************************************************/ -be_local_closure(lvh_obj_get_hidden, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_hidden, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -2934,7 +2993,7 @@ be_local_closure(lvh_obj_get_hidden, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -2960,7 +3019,8 @@ be_local_closure(lvh_obj_get_hidden, /* name */ /******************************************************************** ** Solidified function: set_value_font ********************************************************************/ -be_local_closure(lvh_obj_set_value_font, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_value_font, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -2968,7 +3028,7 @@ be_local_closure(lvh_obj_set_value_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(set_text_font), @@ -2989,7 +3049,8 @@ be_local_closure(lvh_obj_set_value_font, /* name */ /******************************************************************** ** Solidified function: get_value_font ********************************************************************/ -be_local_closure(lvh_obj_get_value_font, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_value_font, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -2997,7 +3058,7 @@ be_local_closure(lvh_obj_get_value_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_text_font), @@ -3017,7 +3078,8 @@ be_local_closure(lvh_obj_get_value_font, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_obj_set_val, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_val, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3025,7 +3087,7 @@ be_local_closure(lvh_obj_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -3058,7 +3120,8 @@ be_local_closure(lvh_obj_set_val, /* name */ /******************************************************************** ** Solidified function: set_text_color ********************************************************************/ -be_local_closure(lvh_obj_set_text_color, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_text_color, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -3066,7 +3129,7 @@ be_local_closure(lvh_obj_set_text_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -3093,7 +3156,8 @@ be_local_closure(lvh_obj_set_text_color, /* name */ /******************************************************************** ** Solidified function: set_action ********************************************************************/ -be_local_closure(lvh_obj_set_action, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_action, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -3101,7 +3165,7 @@ be_local_closure(lvh_obj_set_action, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_action), @@ -3123,7 +3187,8 @@ be_local_closure(lvh_obj_set_action, /* name */ /******************************************************************** ** Solidified function: get_radius2 ********************************************************************/ -be_local_closure(lvh_obj_get_radius2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_radius2, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -3131,7 +3196,7 @@ be_local_closure(lvh_obj_get_radius2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -3165,7 +3230,8 @@ be_local_closure(lvh_obj_get_radius2, /* name */ /******************************************************************** ** Solidified function: set_pad_right2 ********************************************************************/ -be_local_closure(lvh_obj_set_pad_right2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_pad_right2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3173,7 +3239,7 @@ be_local_closure(lvh_obj_set_pad_right2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -3209,7 +3275,8 @@ be_local_closure(lvh_obj_set_pad_right2, /* name */ /******************************************************************** ** Solidified function: set_label_mode ********************************************************************/ -be_local_closure(lvh_obj_set_label_mode, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_label_mode, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -3217,7 +3284,7 @@ be_local_closure(lvh_obj_set_label_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(expand), @@ -3294,7 +3361,8 @@ be_local_closure(lvh_obj_set_label_mode, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(lvh_obj_setmember, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_setmember, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -3302,7 +3370,7 @@ be_local_closure(lvh_obj_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[24]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -3494,7 +3562,8 @@ be_local_closure(lvh_obj_setmember, /* name */ /******************************************************************** ** Solidified function: set_enabled ********************************************************************/ -be_local_closure(lvh_obj_set_enabled, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_enabled, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3502,7 +3571,7 @@ be_local_closure(lvh_obj_set_enabled, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -3536,7 +3605,8 @@ be_local_closure(lvh_obj_set_enabled, /* name */ /******************************************************************** ** Solidified function: get_align ********************************************************************/ -be_local_closure(lvh_obj_get_align, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_align, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3544,7 +3614,7 @@ be_local_closure(lvh_obj_get_align, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_const_int(0), @@ -3603,7 +3673,8 @@ be_local_closure(lvh_obj_get_align, /* name */ /******************************************************************** ** Solidified function: get_pad_left ********************************************************************/ -be_local_closure(lvh_obj_get_pad_left, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_pad_left, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -3611,7 +3682,7 @@ be_local_closure(lvh_obj_get_pad_left, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -3645,7 +3716,8 @@ be_local_closure(lvh_obj_get_pad_left, /* name */ /******************************************************************** ** Solidified function: set_value_ofs_x ********************************************************************/ -be_local_closure(lvh_obj_set_value_ofs_x, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_value_ofs_x, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -3653,7 +3725,7 @@ be_local_closure(lvh_obj_set_value_ofs_x, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(check_label), @@ -3681,7 +3753,8 @@ be_local_closure(lvh_obj_set_value_ofs_x, /* name */ /******************************************************************** ** Solidified function: set_flex_in_new_track ********************************************************************/ -be_local_closure(lvh_obj_set_flex_in_new_track, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_flex_in_new_track, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -3689,7 +3762,7 @@ be_local_closure(lvh_obj_set_flex_in_new_track, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -3723,7 +3796,8 @@ be_local_closure(lvh_obj_set_flex_in_new_track, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(lvh_obj_member, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_member, /* name */ be_nested_proto( 11, /* nstack */ 2, /* argc */ @@ -3731,7 +3805,7 @@ be_local_closure(lvh_obj_member, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -3890,7 +3964,8 @@ be_local_closure(lvh_obj_member, /* name */ /******************************************************************** ** Solidified function: get_text_font ********************************************************************/ -be_local_closure(lvh_obj_get_text_font, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_text_font, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -3898,7 +3973,7 @@ be_local_closure(lvh_obj_get_text_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_text_font), @@ -3914,7 +3989,8 @@ be_local_closure(lvh_obj_get_text_font, /* name */ /******************************************************************** ** Solidified function: set_value_ofs_y ********************************************************************/ -be_local_closure(lvh_obj_set_value_ofs_y, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_value_ofs_y, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -3922,7 +3998,7 @@ be_local_closure(lvh_obj_set_value_ofs_y, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(check_label), @@ -3950,7 +4026,8 @@ be_local_closure(lvh_obj_set_value_ofs_y, /* name */ /******************************************************************** ** Solidified function: set_radius2 ********************************************************************/ -be_local_closure(lvh_obj_set_radius2, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_radius2, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -3958,7 +4035,7 @@ be_local_closure(lvh_obj_set_radius2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -3994,7 +4071,8 @@ be_local_closure(lvh_obj_set_radius2, /* name */ /******************************************************************** ** Solidified function: set_hidden ********************************************************************/ -be_local_closure(lvh_obj_set_hidden, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_hidden, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -4002,7 +4080,7 @@ be_local_closure(lvh_obj_set_hidden, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4036,7 +4114,8 @@ be_local_closure(lvh_obj_set_hidden, /* name */ /******************************************************************** ** Solidified function: register_event_cb ********************************************************************/ -be_local_closure(lvh_obj_register_event_cb, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_register_event_cb, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -4044,7 +4123,7 @@ be_local_closure(lvh_obj_register_event_cb, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_page), @@ -4085,7 +4164,8 @@ be_local_closure(lvh_obj_register_event_cb, /* name */ /******************************************************************** ** Solidified function: set_text_font ********************************************************************/ -be_local_closure(lvh_obj_set_text_font, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_set_text_font, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4093,7 +4173,7 @@ be_local_closure(lvh_obj_set_text_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(parse_font), @@ -4125,7 +4205,8 @@ be_local_closure(lvh_obj_set_text_font, /* name */ /******************************************************************** ** Solidified function: get_pad_bottom ********************************************************************/ -be_local_closure(lvh_obj_get_pad_bottom, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_pad_bottom, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4133,7 +4214,7 @@ be_local_closure(lvh_obj_get_pad_bottom, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_part2_selector), @@ -4167,7 +4248,8 @@ be_local_closure(lvh_obj_get_pad_bottom, /* name */ /******************************************************************** ** Solidified function: get_pad_all ********************************************************************/ -be_local_closure(lvh_obj_get_pad_all, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_pad_all, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -4175,7 +4257,7 @@ be_local_closure(lvh_obj_get_pad_all, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_pad_all), @@ -4191,7 +4273,8 @@ be_local_closure(lvh_obj_get_pad_all, /* name */ /******************************************************************** ** Solidified function: get_val ********************************************************************/ -be_local_closure(lvh_obj_get_val, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_get_val, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4199,7 +4282,7 @@ be_local_closure(lvh_obj_get_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4221,7 +4304,8 @@ be_local_closure(lvh_obj_get_val, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_obj_post_init, /* name */ +extern const bclass be_class_lvh_obj; +be_local_closure(class_lvh_obj_post_init, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4229,7 +4313,7 @@ be_local_closure(lvh_obj_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_obj, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(register_event_cb), @@ -4255,55 +4339,55 @@ be_local_class(lvh_obj, &be_class_lvh_root, be_nested_map(61, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_text, -1), be_const_closure(lvh_obj_get_text_closure) }, - { be_const_key_weak(set_pad_bottom2, 8), be_const_closure(lvh_obj_set_pad_bottom2_closure) }, - { be_const_key_weak(set_toggle, 29), be_const_closure(lvh_obj_set_toggle_closure) }, - { be_const_key_weak(set_pad_left2, 35), be_const_closure(lvh_obj_set_pad_left2_closure) }, - { be_const_key_weak(get_pad_top, 7), be_const_closure(lvh_obj_get_pad_top_closure) }, - { be_const_key_weak(get_line_width, -1), be_const_closure(lvh_obj_get_line_width_closure) }, - { be_const_key_weak(get_adjustable, -1), be_const_closure(lvh_obj_get_adjustable_closure) }, - { be_const_key_weak(check_label, 0), be_const_closure(lvh_obj_check_label_closure) }, - { be_const_key_weak(set_value_color, -1), be_const_closure(lvh_obj_set_value_color_closure) }, - { be_const_key_weak(set_text, -1), be_const_closure(lvh_obj_set_text_closure) }, - { be_const_key_weak(set_align, -1), be_const_closure(lvh_obj_set_align_closure) }, - { be_const_key_weak(get_value_color, 56), be_const_closure(lvh_obj_get_value_color_closure) }, - { be_const_key_weak(get_pad_bottom, -1), be_const_closure(lvh_obj_get_pad_bottom_closure) }, - { be_const_key_weak(set_text_font, 24), be_const_closure(lvh_obj_set_text_font_closure) }, - { be_const_key_weak(get_action, -1), be_const_closure(lvh_obj_get_action_closure) }, - { be_const_key_weak(get_value_ofs_y, -1), be_const_closure(lvh_obj_get_value_ofs_y_closure) }, - { be_const_key_weak(set_pad_all2, 37), be_const_closure(lvh_obj_set_pad_all2_closure) }, - { be_const_key_weak(register_event_cb, -1), be_const_closure(lvh_obj_register_event_cb_closure) }, - { be_const_key_weak(set_adjustable, -1), be_const_closure(lvh_obj_set_adjustable_closure) }, - { be_const_key_weak(get_flex_in_new_track, -1), be_const_closure(lvh_obj_get_flex_in_new_track_closure) }, - { be_const_key_weak(delete, 31), be_const_closure(lvh_obj_delete_closure) }, - { be_const_key_weak(set_radius2, -1), be_const_closure(lvh_obj_set_radius2_closure) }, - { be_const_key_weak(get_enabled, -1), be_const_closure(lvh_obj_get_enabled_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_obj_get_text_closure) }, + { be_const_key_weak(set_pad_bottom2, 8), be_const_closure(class_lvh_obj_set_pad_bottom2_closure) }, + { be_const_key_weak(set_toggle, 29), be_const_closure(class_lvh_obj_set_toggle_closure) }, + { be_const_key_weak(set_pad_left2, 35), be_const_closure(class_lvh_obj_set_pad_left2_closure) }, + { be_const_key_weak(get_pad_top, 7), be_const_closure(class_lvh_obj_get_pad_top_closure) }, + { be_const_key_weak(get_line_width, -1), be_const_closure(class_lvh_obj_get_line_width_closure) }, + { be_const_key_weak(get_adjustable, -1), be_const_closure(class_lvh_obj_get_adjustable_closure) }, + { be_const_key_weak(check_label, 0), be_const_closure(class_lvh_obj_check_label_closure) }, + { be_const_key_weak(set_value_color, -1), be_const_closure(class_lvh_obj_set_value_color_closure) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_obj_set_text_closure) }, + { be_const_key_weak(set_align, -1), be_const_closure(class_lvh_obj_set_align_closure) }, + { be_const_key_weak(get_value_color, 56), be_const_closure(class_lvh_obj_get_value_color_closure) }, + { be_const_key_weak(get_pad_bottom, -1), be_const_closure(class_lvh_obj_get_pad_bottom_closure) }, + { be_const_key_weak(set_text_font, 24), be_const_closure(class_lvh_obj_set_text_font_closure) }, + { be_const_key_weak(get_action, -1), be_const_closure(class_lvh_obj_get_action_closure) }, + { be_const_key_weak(get_value_ofs_y, -1), be_const_closure(class_lvh_obj_get_value_ofs_y_closure) }, + { be_const_key_weak(set_pad_all2, 37), be_const_closure(class_lvh_obj_set_pad_all2_closure) }, + { be_const_key_weak(register_event_cb, -1), be_const_closure(class_lvh_obj_register_event_cb_closure) }, + { be_const_key_weak(set_adjustable, -1), be_const_closure(class_lvh_obj_set_adjustable_closure) }, + { be_const_key_weak(get_flex_in_new_track, -1), be_const_closure(class_lvh_obj_get_flex_in_new_track_closure) }, + { be_const_key_weak(delete, 31), be_const_closure(class_lvh_obj_delete_closure) }, + { be_const_key_weak(set_radius2, -1), be_const_closure(class_lvh_obj_set_radius2_closure) }, + { be_const_key_weak(get_enabled, -1), be_const_closure(class_lvh_obj_get_enabled_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_obj) }, - { be_const_key_weak(member, -1), be_const_closure(lvh_obj_member_closure) }, - { be_const_key_weak(set_flex_in_new_track, -1), be_const_closure(lvh_obj_set_flex_in_new_track_closure) }, - { be_const_key_weak(event_cb, -1), be_const_closure(lvh_obj_event_cb_closure) }, - { be_const_key_weak(init, -1), be_const_closure(lvh_obj_init_closure) }, + { be_const_key_weak(member, -1), be_const_closure(class_lvh_obj_member_closure) }, + { be_const_key_weak(set_flex_in_new_track, -1), be_const_closure(class_lvh_obj_set_flex_in_new_track_closure) }, + { be_const_key_weak(event_cb, -1), be_const_closure(class_lvh_obj_event_cb_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lvh_obj_init_closure) }, { be_const_key_weak(_lv_label, 22), be_const_var(0) }, { be_const_key_weak(_action, -1), be_const_var(1) }, { be_const_key_weak(_lv_part2_selector, -1), be_const_nil() }, - { be_const_key_weak(set_value_font, 18), be_const_closure(lvh_obj_set_value_font_closure) }, - { be_const_key_weak(get_text_color, 40), be_const_closure(lvh_obj_get_text_color_closure) }, - { be_const_key_weak(set_click, 47), be_const_closure(lvh_obj_set_click_closure) }, - { be_const_key_weak(get_hidden, -1), be_const_closure(lvh_obj_get_hidden_closure) }, - { be_const_key_weak(get_align, 23), be_const_closure(lvh_obj_get_align_closure) }, - { be_const_key_weak(set_line_width, 45), be_const_closure(lvh_obj_set_line_width_closure) }, - { be_const_key_weak(set_val, 41), be_const_closure(lvh_obj_set_val_closure) }, - { be_const_key_weak(set_text_color, -1), be_const_closure(lvh_obj_set_text_color_closure) }, - { be_const_key_weak(set_action, -1), be_const_closure(lvh_obj_set_action_closure) }, - { be_const_key_weak(get_radius2, 28), be_const_closure(lvh_obj_get_radius2_closure) }, - { be_const_key_weak(get_label_mode, -1), be_const_closure(lvh_obj_get_label_mode_closure) }, - { be_const_key_weak(set_label_mode, -1), be_const_closure(lvh_obj_set_label_mode_closure) }, - { be_const_key_weak(setmember, -1), be_const_closure(lvh_obj_setmember_closure) }, - { be_const_key_weak(set_enabled, -1), be_const_closure(lvh_obj_set_enabled_closure) }, - { be_const_key_weak(get_value_font, -1), be_const_closure(lvh_obj_get_value_font_closure) }, - { be_const_key_weak(get_pad_left, -1), be_const_closure(lvh_obj_get_pad_left_closure) }, - { be_const_key_weak(get_toggle, -1), be_const_closure(lvh_obj_get_toggle_closure) }, - { be_const_key_weak(set_value_ofs_x, -1), be_const_closure(lvh_obj_set_value_ofs_x_closure) }, + { be_const_key_weak(set_value_font, 18), be_const_closure(class_lvh_obj_set_value_font_closure) }, + { be_const_key_weak(get_text_color, 40), be_const_closure(class_lvh_obj_get_text_color_closure) }, + { be_const_key_weak(set_click, 47), be_const_closure(class_lvh_obj_set_click_closure) }, + { be_const_key_weak(get_hidden, -1), be_const_closure(class_lvh_obj_get_hidden_closure) }, + { be_const_key_weak(get_align, 23), be_const_closure(class_lvh_obj_get_align_closure) }, + { be_const_key_weak(set_line_width, 45), be_const_closure(class_lvh_obj_set_line_width_closure) }, + { be_const_key_weak(set_val, 41), be_const_closure(class_lvh_obj_set_val_closure) }, + { be_const_key_weak(set_text_color, -1), be_const_closure(class_lvh_obj_set_text_color_closure) }, + { be_const_key_weak(set_action, -1), be_const_closure(class_lvh_obj_set_action_closure) }, + { be_const_key_weak(get_radius2, 28), be_const_closure(class_lvh_obj_get_radius2_closure) }, + { be_const_key_weak(get_label_mode, -1), be_const_closure(class_lvh_obj_get_label_mode_closure) }, + { be_const_key_weak(set_label_mode, -1), be_const_closure(class_lvh_obj_set_label_mode_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_obj_setmember_closure) }, + { be_const_key_weak(set_enabled, -1), be_const_closure(class_lvh_obj_set_enabled_closure) }, + { be_const_key_weak(get_value_font, -1), be_const_closure(class_lvh_obj_get_value_font_closure) }, + { be_const_key_weak(get_pad_left, -1), be_const_closure(class_lvh_obj_get_pad_left_closure) }, + { be_const_key_weak(get_toggle, -1), be_const_closure(class_lvh_obj_get_toggle_closure) }, + { be_const_key_weak(set_value_ofs_x, -1), be_const_closure(class_lvh_obj_set_value_ofs_x_closure) }, { be_const_key_weak(_event_map, 25), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { @@ -4315,34 +4399,28 @@ be_local_class(lvh_obj, { be_const_key_int(5, -1), be_nested_str_weak(long) }, { be_const_key_int(6, -1), be_nested_str_weak(hold) }, })) ) } )) }, - { be_const_key_weak(set_pad_right2, 13), be_const_closure(lvh_obj_set_pad_right2_closure) }, - { be_const_key_weak(get_text_font, -1), be_const_closure(lvh_obj_get_text_font_closure) }, - { be_const_key_weak(set_value_ofs_y, -1), be_const_closure(lvh_obj_set_value_ofs_y_closure) }, - { be_const_key_weak(get_pad_right, 21), be_const_closure(lvh_obj_get_pad_right_closure) }, - { be_const_key_weak(set_hidden, -1), be_const_closure(lvh_obj_set_hidden_closure) }, - { be_const_key_weak(set_pad_top2, 17), be_const_closure(lvh_obj_set_pad_top2_closure) }, - { be_const_key_weak(get_value_ofs_x, -1), be_const_closure(lvh_obj_get_value_ofs_x_closure) }, - { be_const_key_weak(get_click, 12), be_const_closure(lvh_obj_get_click_closure) }, - { be_const_key_weak(get_pad_all, -1), be_const_closure(lvh_obj_get_pad_all_closure) }, - { be_const_key_weak(get_val, -1), be_const_closure(lvh_obj_get_val_closure) }, - { be_const_key_weak(post_init, -1), be_const_closure(lvh_obj_post_init_closure) }, + { be_const_key_weak(set_pad_right2, 13), be_const_closure(class_lvh_obj_set_pad_right2_closure) }, + { be_const_key_weak(get_text_font, -1), be_const_closure(class_lvh_obj_get_text_font_closure) }, + { be_const_key_weak(set_value_ofs_y, -1), be_const_closure(class_lvh_obj_set_value_ofs_y_closure) }, + { be_const_key_weak(get_pad_right, 21), be_const_closure(class_lvh_obj_get_pad_right_closure) }, + { be_const_key_weak(set_hidden, -1), be_const_closure(class_lvh_obj_set_hidden_closure) }, + { be_const_key_weak(set_pad_top2, 17), be_const_closure(class_lvh_obj_set_pad_top2_closure) }, + { be_const_key_weak(get_value_ofs_x, -1), be_const_closure(class_lvh_obj_get_value_ofs_x_closure) }, + { be_const_key_weak(get_click, 12), be_const_closure(class_lvh_obj_get_click_closure) }, + { be_const_key_weak(get_pad_all, -1), be_const_closure(class_lvh_obj_get_pad_all_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_obj_get_val_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_obj_post_init_closure) }, })), be_str_weak(lvh_obj) ); -/*******************************************************************/ - -void be_load_lvh_obj_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_obj); - be_setglobal(vm, "lvh_obj"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_fixed; /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_fixed_post_init, /* name */ +extern const bclass be_class_lvh_fixed; +be_local_closure(class_lvh_fixed_post_init, /* name */ be_nested_proto( 8, /* nstack */ 1, /* argc */ @@ -4350,7 +4428,7 @@ be_local_closure(lvh_fixed_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_fixed, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(post_init), @@ -4420,24 +4498,18 @@ be_local_class(lvh_fixed, &be_class_lvh_obj, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(post_init, -1), be_const_closure(lvh_fixed_post_init_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_fixed_post_init_closure) }, })), be_str_weak(lvh_fixed) ); -/*******************************************************************/ - -void be_load_lvh_fixed_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_fixed); - be_setglobal(vm, "lvh_fixed"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_flex; /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_flex_post_init, /* name */ +extern const bclass be_class_lvh_flex; +be_local_closure(class_lvh_flex_post_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4445,7 +4517,7 @@ be_local_closure(lvh_flex_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_flex, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(post_init), @@ -4483,24 +4555,18 @@ be_local_class(lvh_flex, &be_class_lvh_fixed, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(post_init, -1), be_const_closure(lvh_flex_post_init_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_flex_post_init_closure) }, })), be_str_weak(lvh_flex) ); -/*******************************************************************/ - -void be_load_lvh_flex_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_flex); - be_setglobal(vm, "lvh_flex"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_label; /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_label_post_init, /* name */ +extern const bclass be_class_lvh_label; +be_local_closure(class_lvh_label_post_init, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4508,7 +4574,7 @@ be_local_closure(lvh_label_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_label, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_label), @@ -4541,25 +4607,19 @@ be_local_class(lvh_label, &be_class_lvh_obj, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(post_init, -1), be_const_closure(lvh_label_post_init_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_label_post_init_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_label) }, })), be_str_weak(lvh_label) ); -/*******************************************************************/ - -void be_load_lvh_label_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_label); - be_setglobal(vm, "lvh_label"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_arc; /******************************************************************** ** Solidified function: get_type ********************************************************************/ -be_local_closure(lvh_arc_get_type, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_get_type, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4567,7 +4627,7 @@ be_local_closure(lvh_arc_get_type, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4589,7 +4649,8 @@ be_local_closure(lvh_arc_get_type, /* name */ /******************************************************************** ** Solidified function: refresh_label_to_angle ********************************************************************/ -be_local_closure(lvh_arc_refresh_label_to_angle, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_refresh_label_to_angle, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4597,7 +4658,7 @@ be_local_closure(lvh_arc_refresh_label_to_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_label_angle), @@ -4631,7 +4692,8 @@ be_local_closure(lvh_arc_refresh_label_to_angle, /* name */ /******************************************************************** ** Solidified function: set_min ********************************************************************/ -be_local_closure(lvh_arc_set_min, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_min, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4639,7 +4701,7 @@ be_local_closure(lvh_arc_set_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4670,7 +4732,8 @@ be_local_closure(lvh_arc_set_min, /* name */ /******************************************************************** ** Solidified function: get_line_width1 ********************************************************************/ -be_local_closure(lvh_arc_get_line_width1, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_get_line_width1, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4678,7 +4741,7 @@ be_local_closure(lvh_arc_get_line_width1, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4708,7 +4771,8 @@ be_local_closure(lvh_arc_get_line_width1, /* name */ /******************************************************************** ** Solidified function: set_type ********************************************************************/ -be_local_closure(lvh_arc_set_type, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_type, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -4716,7 +4780,7 @@ be_local_closure(lvh_arc_set_type, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_const_int(0), @@ -4764,7 +4828,8 @@ be_local_closure(lvh_arc_set_type, /* name */ /******************************************************************** ** Solidified function: set_line_width1 ********************************************************************/ -be_local_closure(lvh_arc_set_line_width1, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_line_width1, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4772,7 +4837,7 @@ be_local_closure(lvh_arc_set_line_width1, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4805,7 +4870,8 @@ be_local_closure(lvh_arc_set_line_width1, /* name */ /******************************************************************** ** Solidified function: get_min ********************************************************************/ -be_local_closure(lvh_arc_get_min, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_get_min, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4813,7 +4879,7 @@ be_local_closure(lvh_arc_get_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4835,7 +4901,8 @@ be_local_closure(lvh_arc_get_min, /* name */ /******************************************************************** ** Solidified function: set_line_width ********************************************************************/ -be_local_closure(lvh_arc_set_line_width, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_line_width, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -4843,7 +4910,7 @@ be_local_closure(lvh_arc_set_line_width, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4869,7 +4936,8 @@ be_local_closure(lvh_arc_set_line_width, /* name */ /******************************************************************** ** Solidified function: get_max ********************************************************************/ -be_local_closure(lvh_arc_get_max, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_get_max, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4877,7 +4945,7 @@ be_local_closure(lvh_arc_get_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -4899,7 +4967,8 @@ be_local_closure(lvh_arc_get_max, /* name */ /******************************************************************** ** Solidified function: set_label_to_angle ********************************************************************/ -be_local_closure(lvh_arc_set_label_to_angle, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_label_to_angle, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -4907,7 +4976,7 @@ be_local_closure(lvh_arc_set_label_to_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_label_angle), @@ -4932,7 +5001,8 @@ be_local_closure(lvh_arc_set_label_to_angle, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_arc_set_val, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_val, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -4940,7 +5010,7 @@ be_local_closure(lvh_arc_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(set_val), @@ -4967,7 +5037,8 @@ be_local_closure(lvh_arc_set_val, /* name */ /******************************************************************** ** Solidified function: post_config ********************************************************************/ -be_local_closure(lvh_arc_post_config, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_post_config, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -4975,7 +5046,7 @@ be_local_closure(lvh_arc_post_config, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(post_config), @@ -5001,7 +5072,8 @@ be_local_closure(lvh_arc_post_config, /* name */ /******************************************************************** ** Solidified function: get_line_width ********************************************************************/ -be_local_closure(lvh_arc_get_line_width, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_get_line_width, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5009,7 +5081,7 @@ be_local_closure(lvh_arc_get_line_width, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5032,7 +5104,8 @@ be_local_closure(lvh_arc_get_line_width, /* name */ /******************************************************************** ** Solidified function: set_max ********************************************************************/ -be_local_closure(lvh_arc_set_max, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_max, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -5040,7 +5113,7 @@ be_local_closure(lvh_arc_set_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5071,7 +5144,8 @@ be_local_closure(lvh_arc_set_max, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_arc_set_text, /* name */ +extern const bclass be_class_lvh_arc; +be_local_closure(class_lvh_arc_set_text, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5079,7 +5153,7 @@ be_local_closure(lvh_arc_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_arc, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(set_text), @@ -5113,40 +5187,34 @@ be_local_class(lvh_arc, be_nested_map(18, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_label_angle, -1), be_const_var(0) }, - { be_const_key_weak(refresh_label_to_angle, -1), be_const_closure(lvh_arc_refresh_label_to_angle_closure) }, - { be_const_key_weak(set_max, -1), be_const_closure(lvh_arc_set_max_closure) }, - { be_const_key_weak(get_line_width, -1), be_const_closure(lvh_arc_get_line_width_closure) }, - { be_const_key_weak(set_min, 13), be_const_closure(lvh_arc_set_min_closure) }, - { be_const_key_weak(post_config, -1), be_const_closure(lvh_arc_post_config_closure) }, - { be_const_key_weak(set_type, 11), be_const_closure(lvh_arc_set_type_closure) }, + { be_const_key_weak(refresh_label_to_angle, -1), be_const_closure(class_lvh_arc_refresh_label_to_angle_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_arc_set_max_closure) }, + { be_const_key_weak(get_line_width, -1), be_const_closure(class_lvh_arc_get_line_width_closure) }, + { be_const_key_weak(set_min, 13), be_const_closure(class_lvh_arc_set_min_closure) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_arc_post_config_closure) }, + { be_const_key_weak(set_type, 11), be_const_closure(class_lvh_arc_set_type_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_arc) }, - { be_const_key_weak(get_min, -1), be_const_closure(lvh_arc_get_min_closure) }, - { be_const_key_weak(set_line_width, -1), be_const_closure(lvh_arc_set_line_width_closure) }, - { be_const_key_weak(get_max, -1), be_const_closure(lvh_arc_get_max_closure) }, - { be_const_key_weak(set_line_width1, -1), be_const_closure(lvh_arc_set_line_width1_closure) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_arc_get_min_closure) }, + { be_const_key_weak(set_line_width, -1), be_const_closure(class_lvh_arc_set_line_width_closure) }, + { be_const_key_weak(get_max, -1), be_const_closure(class_lvh_arc_get_max_closure) }, + { be_const_key_weak(set_line_width1, -1), be_const_closure(class_lvh_arc_set_line_width1_closure) }, { be_const_key_weak(_lv_part2_selector, -1), be_const_int(196608) }, - { be_const_key_weak(set_label_to_angle, 0), be_const_closure(lvh_arc_set_label_to_angle_closure) }, - { be_const_key_weak(get_line_width1, 5), be_const_closure(lvh_arc_get_line_width1_closure) }, - { be_const_key_weak(set_val, 3), be_const_closure(lvh_arc_set_val_closure) }, - { be_const_key_weak(get_type, 2), be_const_closure(lvh_arc_get_type_closure) }, - { be_const_key_weak(set_text, -1), be_const_closure(lvh_arc_set_text_closure) }, + { be_const_key_weak(set_label_to_angle, 0), be_const_closure(class_lvh_arc_set_label_to_angle_closure) }, + { be_const_key_weak(get_line_width1, 5), be_const_closure(class_lvh_arc_get_line_width1_closure) }, + { be_const_key_weak(set_val, 3), be_const_closure(class_lvh_arc_set_val_closure) }, + { be_const_key_weak(get_type, 2), be_const_closure(class_lvh_arc_get_type_closure) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_arc_set_text_closure) }, })), be_str_weak(lvh_arc) ); -/*******************************************************************/ - -void be_load_lvh_arc_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_arc); - be_setglobal(vm, "lvh_arc"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_switch; /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_switch_set_val, /* name */ +extern const bclass be_class_lvh_switch; +be_local_closure(class_lvh_switch_set_val, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5154,7 +5222,7 @@ be_local_closure(lvh_switch_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_switch, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -5177,7 +5245,8 @@ be_local_closure(lvh_switch_set_val, /* name */ /******************************************************************** ** Solidified function: get_val ********************************************************************/ -be_local_closure(lvh_switch_get_val, /* name */ +extern const bclass be_class_lvh_switch; +be_local_closure(class_lvh_switch_get_val, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -5185,7 +5254,7 @@ be_local_closure(lvh_switch_get_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_switch, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(get_toggle), @@ -5211,27 +5280,21 @@ be_local_class(lvh_switch, &be_class_lvh_obj, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_val, 1), be_const_closure(lvh_switch_get_val_closure) }, - { be_const_key_weak(set_val, -1), be_const_closure(lvh_switch_set_val_closure) }, + { be_const_key_weak(get_val, 1), be_const_closure(class_lvh_switch_get_val_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_switch_set_val_closure) }, { be_const_key_weak(_lv_part2_selector, -1), be_const_int(196608) }, { be_const_key_weak(_lv_class, 0), be_const_class(be_class_lv_switch) }, })), be_str_weak(lvh_switch) ); -/*******************************************************************/ - -void be_load_lvh_switch_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_switch); - be_setglobal(vm, "lvh_switch"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_spinner; /******************************************************************** ** Solidified function: set_angle ********************************************************************/ -be_local_closure(lvh_spinner_set_angle, /* name */ +extern const bclass be_class_lvh_spinner; +be_local_closure(class_lvh_spinner_set_angle, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -5239,7 +5302,7 @@ be_local_closure(lvh_spinner_set_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spinner, 0, /* has constants */ NULL, /* no const */ be_str_weak(set_angle), @@ -5255,7 +5318,8 @@ be_local_closure(lvh_spinner_set_angle, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lvh_spinner_init, /* name */ +extern const bclass be_class_lvh_spinner; +be_local_closure(class_lvh_spinner_init, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -5263,7 +5327,7 @@ be_local_closure(lvh_spinner_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spinner, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(_page), @@ -5310,7 +5374,8 @@ be_local_closure(lvh_spinner_init, /* name */ /******************************************************************** ** Solidified function: get_speed ********************************************************************/ -be_local_closure(lvh_spinner_get_speed, /* name */ +extern const bclass be_class_lvh_spinner; +be_local_closure(class_lvh_spinner_get_speed, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5318,7 +5383,7 @@ be_local_closure(lvh_spinner_get_speed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spinner, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_speed), @@ -5334,7 +5399,8 @@ be_local_closure(lvh_spinner_get_speed, /* name */ /******************************************************************** ** Solidified function: get_angle ********************************************************************/ -be_local_closure(lvh_spinner_get_angle, /* name */ +extern const bclass be_class_lvh_spinner; +be_local_closure(class_lvh_spinner_get_angle, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5342,7 +5408,7 @@ be_local_closure(lvh_spinner_get_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spinner, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_angle), @@ -5358,7 +5424,8 @@ be_local_closure(lvh_spinner_get_angle, /* name */ /******************************************************************** ** Solidified function: set_speed ********************************************************************/ -be_local_closure(lvh_spinner_set_speed, /* name */ +extern const bclass be_class_lvh_spinner; +be_local_closure(class_lvh_spinner_set_speed, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -5366,7 +5433,7 @@ be_local_closure(lvh_spinner_set_speed, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spinner, 0, /* has constants */ NULL, /* no const */ be_str_weak(set_speed), @@ -5388,31 +5455,25 @@ be_local_class(lvh_spinner, &be_class_lvh_arc, be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_speed, 4), be_const_closure(lvh_spinner_set_speed_closure) }, + { be_const_key_weak(set_speed, 4), be_const_closure(class_lvh_spinner_set_speed_closure) }, { be_const_key_weak(_speed, -1), be_const_var(0) }, - { be_const_key_weak(get_angle, 6), be_const_closure(lvh_spinner_get_angle_closure) }, - { be_const_key_weak(init, 2), be_const_closure(lvh_spinner_init_closure) }, + { be_const_key_weak(get_angle, 6), be_const_closure(class_lvh_spinner_get_angle_closure) }, + { be_const_key_weak(init, 2), be_const_closure(class_lvh_spinner_init_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_spinner) }, { be_const_key_weak(_angle, -1), be_const_var(1) }, - { be_const_key_weak(get_speed, -1), be_const_closure(lvh_spinner_get_speed_closure) }, - { be_const_key_weak(set_angle, 0), be_const_closure(lvh_spinner_set_angle_closure) }, + { be_const_key_weak(get_speed, -1), be_const_closure(class_lvh_spinner_get_speed_closure) }, + { be_const_key_weak(set_angle, 0), be_const_closure(class_lvh_spinner_set_angle_closure) }, })), be_str_weak(lvh_spinner) ); -/*******************************************************************/ - -void be_load_lvh_spinner_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_spinner); - be_setglobal(vm, "lvh_spinner"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_img; /******************************************************************** ** Solidified function: set_src ********************************************************************/ -be_local_closure(lvh_img_set_src, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_set_src, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5420,7 +5481,7 @@ be_local_closure(lvh_img_set_src, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota_logo), @@ -5451,7 +5512,8 @@ be_local_closure(lvh_img_set_src, /* name */ /******************************************************************** ** Solidified function: get_auto_size ********************************************************************/ -be_local_closure(lvh_img_get_auto_size, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_get_auto_size, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5459,7 +5521,7 @@ be_local_closure(lvh_img_get_auto_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_auto_size), @@ -5475,7 +5537,8 @@ be_local_closure(lvh_img_get_auto_size, /* name */ /******************************************************************** ** Solidified function: set_auto_size ********************************************************************/ -be_local_closure(lvh_img_set_auto_size, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_set_auto_size, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5483,7 +5546,7 @@ be_local_closure(lvh_img_set_auto_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5510,7 +5573,8 @@ be_local_closure(lvh_img_set_auto_size, /* name */ /******************************************************************** ** Solidified function: set_angle ********************************************************************/ -be_local_closure(lvh_img_set_angle, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_set_angle, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5518,7 +5582,7 @@ be_local_closure(lvh_img_set_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5545,7 +5609,8 @@ be_local_closure(lvh_img_set_angle, /* name */ /******************************************************************** ** Solidified function: get_angle ********************************************************************/ -be_local_closure(lvh_img_get_angle, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_get_angle, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -5553,7 +5618,7 @@ be_local_closure(lvh_img_get_angle, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5575,7 +5640,8 @@ be_local_closure(lvh_img_get_angle, /* name */ /******************************************************************** ** Solidified function: set_raw ********************************************************************/ -be_local_closure(lvh_img_set_raw, /* name */ +extern const bclass be_class_lvh_img; +be_local_closure(class_lvh_img_set_raw, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -5583,7 +5649,7 @@ be_local_closure(lvh_img_set_raw, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_img, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(_raw), @@ -5643,32 +5709,26 @@ be_local_class(lvh_img, &be_class_lvh_obj, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_raw, -1), be_const_closure(lvh_img_set_raw_closure) }, - { be_const_key_weak(get_angle, 8), be_const_closure(lvh_img_get_angle_closure) }, - { be_const_key_weak(get_auto_size, -1), be_const_closure(lvh_img_get_auto_size_closure) }, + { be_const_key_weak(set_raw, -1), be_const_closure(class_lvh_img_set_raw_closure) }, + { be_const_key_weak(get_angle, 8), be_const_closure(class_lvh_img_get_angle_closure) }, + { be_const_key_weak(get_auto_size, -1), be_const_closure(class_lvh_img_get_auto_size_closure) }, { be_const_key_weak(_raw, -1), be_const_var(0) }, { be_const_key_weak(_imd_dsc, 5), be_const_var(1) }, - { be_const_key_weak(set_auto_size, -1), be_const_closure(lvh_img_set_auto_size_closure) }, - { be_const_key_weak(set_angle, 0), be_const_closure(lvh_img_set_angle_closure) }, - { be_const_key_weak(set_src, 1), be_const_closure(lvh_img_set_src_closure) }, + { be_const_key_weak(set_auto_size, -1), be_const_closure(class_lvh_img_set_auto_size_closure) }, + { be_const_key_weak(set_angle, 0), be_const_closure(class_lvh_img_set_angle_closure) }, + { be_const_key_weak(set_src, 1), be_const_closure(class_lvh_img_set_src_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_image) }, })), be_str_weak(lvh_img) ); -/*******************************************************************/ - -void be_load_lvh_img_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_img); - be_setglobal(vm, "lvh_img"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_qrcode; /******************************************************************** ** Solidified function: get_qr_dark_color ********************************************************************/ -be_local_closure(lvh_qrcode_get_qr_dark_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_qr_dark_color, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5676,7 +5736,7 @@ be_local_closure(lvh_qrcode_get_qr_dark_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_qr_dark_color), @@ -5692,7 +5752,8 @@ be_local_closure(lvh_qrcode_get_qr_dark_color, /* name */ /******************************************************************** ** Solidified function: set_qr_text ********************************************************************/ -be_local_closure(lvh_qrcode_set_qr_text, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_qr_text, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -5700,7 +5761,7 @@ be_local_closure(lvh_qrcode_set_qr_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(qr_text), @@ -5725,7 +5786,8 @@ be_local_closure(lvh_qrcode_set_qr_text, /* name */ /******************************************************************** ** Solidified function: set_light_color ********************************************************************/ -be_local_closure(lvh_qrcode_set_light_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_light_color, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -5733,7 +5795,7 @@ be_local_closure(lvh_qrcode_set_light_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5762,7 +5824,8 @@ be_local_closure(lvh_qrcode_set_light_color, /* name */ /******************************************************************** ** Solidified function: get_dark_color ********************************************************************/ -be_local_closure(lvh_qrcode_get_dark_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_dark_color, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5770,7 +5833,7 @@ be_local_closure(lvh_qrcode_get_dark_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_dark_color), @@ -5786,7 +5849,8 @@ be_local_closure(lvh_qrcode_get_dark_color, /* name */ /******************************************************************** ** Solidified function: set_qr_light_color ********************************************************************/ -be_local_closure(lvh_qrcode_set_qr_light_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_qr_light_color, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -5794,7 +5858,7 @@ be_local_closure(lvh_qrcode_set_qr_light_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5823,7 +5887,8 @@ be_local_closure(lvh_qrcode_set_qr_light_color, /* name */ /******************************************************************** ** Solidified function: get_qr_light_color ********************************************************************/ -be_local_closure(lvh_qrcode_get_qr_light_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_qr_light_color, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5831,7 +5896,7 @@ be_local_closure(lvh_qrcode_get_qr_light_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_qr_light_color), @@ -5847,7 +5912,8 @@ be_local_closure(lvh_qrcode_get_qr_light_color, /* name */ /******************************************************************** ** Solidified function: set_qr_size ********************************************************************/ -be_local_closure(lvh_qrcode_set_qr_size, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_qr_size, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5855,7 +5921,7 @@ be_local_closure(lvh_qrcode_set_qr_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5881,7 +5947,8 @@ be_local_closure(lvh_qrcode_set_qr_size, /* name */ /******************************************************************** ** Solidified function: get_light_color ********************************************************************/ -be_local_closure(lvh_qrcode_get_light_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_light_color, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5889,7 +5956,7 @@ be_local_closure(lvh_qrcode_get_light_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_light_color), @@ -5905,7 +5972,8 @@ be_local_closure(lvh_qrcode_get_light_color, /* name */ /******************************************************************** ** Solidified function: set_size ********************************************************************/ -be_local_closure(lvh_qrcode_set_size, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_size, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5913,7 +5981,7 @@ be_local_closure(lvh_qrcode_set_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5939,7 +6007,8 @@ be_local_closure(lvh_qrcode_set_size, /* name */ /******************************************************************** ** Solidified function: set_qr_dark_color ********************************************************************/ -be_local_closure(lvh_qrcode_set_qr_dark_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_qr_dark_color, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -5947,7 +6016,7 @@ be_local_closure(lvh_qrcode_set_qr_dark_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -5976,7 +6045,8 @@ be_local_closure(lvh_qrcode_set_qr_dark_color, /* name */ /******************************************************************** ** Solidified function: get_qr_text ********************************************************************/ -be_local_closure(lvh_qrcode_get_qr_text, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_qr_text, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -5984,7 +6054,7 @@ be_local_closure(lvh_qrcode_get_qr_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_qr_text), @@ -6000,7 +6070,8 @@ be_local_closure(lvh_qrcode_get_qr_text, /* name */ /******************************************************************** ** Solidified function: set_dark_color ********************************************************************/ -be_local_closure(lvh_qrcode_set_dark_color, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_set_dark_color, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -6008,7 +6079,7 @@ be_local_closure(lvh_qrcode_set_dark_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6037,7 +6108,8 @@ be_local_closure(lvh_qrcode_set_dark_color, /* name */ /******************************************************************** ** Solidified function: get_size ********************************************************************/ -be_local_closure(lvh_qrcode_get_size, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_size, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -6045,7 +6117,7 @@ be_local_closure(lvh_qrcode_get_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_size), @@ -6061,7 +6133,8 @@ be_local_closure(lvh_qrcode_get_size, /* name */ /******************************************************************** ** Solidified function: post_config ********************************************************************/ -be_local_closure(lvh_qrcode_post_config, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_post_config, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6069,7 +6142,7 @@ be_local_closure(lvh_qrcode_post_config, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(post_config), @@ -6095,7 +6168,8 @@ be_local_closure(lvh_qrcode_post_config, /* name */ /******************************************************************** ** Solidified function: _update ********************************************************************/ -be_local_closure(lvh_qrcode__update, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode__update, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -6103,7 +6177,7 @@ be_local_closure(lvh_qrcode__update, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(qr_text), @@ -6134,7 +6208,8 @@ be_local_closure(lvh_qrcode__update, /* name */ /******************************************************************** ** Solidified function: get_qr_size ********************************************************************/ -be_local_closure(lvh_qrcode_get_qr_size, /* name */ +extern const bclass be_class_lvh_qrcode; +be_local_closure(class_lvh_qrcode_get_qr_size, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -6142,7 +6217,7 @@ be_local_closure(lvh_qrcode_get_qr_size, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_qrcode, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_qr_size), @@ -6164,41 +6239,35 @@ be_local_class(lvh_qrcode, &be_class_lvh_obj, be_nested_map(18, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_qr_dark_color, 5), be_const_closure(lvh_qrcode_get_qr_dark_color_closure) }, - { be_const_key_weak(get_qr_size, -1), be_const_closure(lvh_qrcode_get_qr_size_closure) }, + { be_const_key_weak(get_qr_dark_color, 5), be_const_closure(class_lvh_qrcode_get_qr_dark_color_closure) }, + { be_const_key_weak(get_qr_size, -1), be_const_closure(class_lvh_qrcode_get_qr_size_closure) }, { be_const_key_weak(qr_text, 4), be_const_var(0) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_qrcode) }, - { be_const_key_weak(set_qr_light_color, -1), be_const_closure(lvh_qrcode_set_qr_light_color_closure) }, - { be_const_key_weak(get_qr_light_color, -1), be_const_closure(lvh_qrcode_get_qr_light_color_closure) }, - { be_const_key_weak(get_size, -1), be_const_closure(lvh_qrcode_get_size_closure) }, - { be_const_key_weak(set_qr_size, 3), be_const_closure(lvh_qrcode_set_qr_size_closure) }, - { be_const_key_weak(get_light_color, -1), be_const_closure(lvh_qrcode_get_light_color_closure) }, - { be_const_key_weak(set_size, -1), be_const_closure(lvh_qrcode_set_size_closure) }, - { be_const_key_weak(set_qr_dark_color, -1), be_const_closure(lvh_qrcode_set_qr_dark_color_closure) }, - { be_const_key_weak(get_qr_text, 6), be_const_closure(lvh_qrcode_get_qr_text_closure) }, - { be_const_key_weak(set_light_color, 13), be_const_closure(lvh_qrcode_set_light_color_closure) }, - { be_const_key_weak(set_dark_color, 16), be_const_closure(lvh_qrcode_set_dark_color_closure) }, - { be_const_key_weak(post_config, -1), be_const_closure(lvh_qrcode_post_config_closure) }, - { be_const_key_weak(_update, -1), be_const_closure(lvh_qrcode__update_closure) }, - { be_const_key_weak(get_dark_color, -1), be_const_closure(lvh_qrcode_get_dark_color_closure) }, - { be_const_key_weak(set_qr_text, 1), be_const_closure(lvh_qrcode_set_qr_text_closure) }, + { be_const_key_weak(set_qr_light_color, -1), be_const_closure(class_lvh_qrcode_set_qr_light_color_closure) }, + { be_const_key_weak(get_qr_light_color, -1), be_const_closure(class_lvh_qrcode_get_qr_light_color_closure) }, + { be_const_key_weak(get_size, -1), be_const_closure(class_lvh_qrcode_get_size_closure) }, + { be_const_key_weak(set_qr_size, 3), be_const_closure(class_lvh_qrcode_set_qr_size_closure) }, + { be_const_key_weak(get_light_color, -1), be_const_closure(class_lvh_qrcode_get_light_color_closure) }, + { be_const_key_weak(set_size, -1), be_const_closure(class_lvh_qrcode_set_size_closure) }, + { be_const_key_weak(set_qr_dark_color, -1), be_const_closure(class_lvh_qrcode_set_qr_dark_color_closure) }, + { be_const_key_weak(get_qr_text, 6), be_const_closure(class_lvh_qrcode_get_qr_text_closure) }, + { be_const_key_weak(set_light_color, 13), be_const_closure(class_lvh_qrcode_set_light_color_closure) }, + { be_const_key_weak(set_dark_color, 16), be_const_closure(class_lvh_qrcode_set_dark_color_closure) }, + { be_const_key_weak(post_config, -1), be_const_closure(class_lvh_qrcode_post_config_closure) }, + { be_const_key_weak(_update, -1), be_const_closure(class_lvh_qrcode__update_closure) }, + { be_const_key_weak(get_dark_color, -1), be_const_closure(class_lvh_qrcode_get_dark_color_closure) }, + { be_const_key_weak(set_qr_text, 1), be_const_closure(class_lvh_qrcode_set_qr_text_closure) }, })), be_str_weak(lvh_qrcode) ); -/*******************************************************************/ - -void be_load_lvh_qrcode_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_qrcode); - be_setglobal(vm, "lvh_qrcode"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_slider; /******************************************************************** ** Solidified function: set_max ********************************************************************/ -be_local_closure(lvh_slider_set_max, /* name */ +extern const bclass be_class_lvh_slider; +be_local_closure(class_lvh_slider_set_max, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -6206,7 +6275,7 @@ be_local_closure(lvh_slider_set_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_slider, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6234,7 +6303,8 @@ be_local_closure(lvh_slider_set_max, /* name */ /******************************************************************** ** Solidified function: get_min ********************************************************************/ -be_local_closure(lvh_slider_get_min, /* name */ +extern const bclass be_class_lvh_slider; +be_local_closure(class_lvh_slider_get_min, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6242,7 +6312,7 @@ be_local_closure(lvh_slider_get_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_slider, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6264,7 +6334,8 @@ be_local_closure(lvh_slider_get_min, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_slider_set_val, /* name */ +extern const bclass be_class_lvh_slider; +be_local_closure(class_lvh_slider_set_val, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -6272,7 +6343,7 @@ be_local_closure(lvh_slider_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_slider, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -6299,7 +6370,8 @@ be_local_closure(lvh_slider_set_val, /* name */ /******************************************************************** ** Solidified function: get_max ********************************************************************/ -be_local_closure(lvh_slider_get_max, /* name */ +extern const bclass be_class_lvh_slider; +be_local_closure(class_lvh_slider_get_max, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6307,7 +6379,7 @@ be_local_closure(lvh_slider_get_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_slider, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6329,7 +6401,8 @@ be_local_closure(lvh_slider_get_max, /* name */ /******************************************************************** ** Solidified function: set_min ********************************************************************/ -be_local_closure(lvh_slider_set_min, /* name */ +extern const bclass be_class_lvh_slider; +be_local_closure(class_lvh_slider_set_min, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -6337,7 +6410,7 @@ be_local_closure(lvh_slider_set_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_slider, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6371,29 +6444,23 @@ be_local_class(lvh_slider, &be_class_lvh_obj, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_min, 5), be_const_closure(lvh_slider_set_min_closure) }, + { be_const_key_weak(set_min, 5), be_const_closure(class_lvh_slider_set_min_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_slider) }, - { be_const_key_weak(get_min, -1), be_const_closure(lvh_slider_get_min_closure) }, - { be_const_key_weak(set_val, -1), be_const_closure(lvh_slider_set_val_closure) }, - { be_const_key_weak(set_max, 0), be_const_closure(lvh_slider_set_max_closure) }, - { be_const_key_weak(get_max, -1), be_const_closure(lvh_slider_get_max_closure) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_slider_get_min_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_slider_set_val_closure) }, + { be_const_key_weak(set_max, 0), be_const_closure(class_lvh_slider_set_max_closure) }, + { be_const_key_weak(get_max, -1), be_const_closure(class_lvh_slider_get_max_closure) }, })), be_str_weak(lvh_slider) ); -/*******************************************************************/ - -void be_load_lvh_slider_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_slider); - be_setglobal(vm, "lvh_slider"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_roller; /******************************************************************** ** Solidified function: set_options ********************************************************************/ -be_local_closure(lvh_roller_set_options, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_set_options, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -6401,7 +6468,7 @@ be_local_closure(lvh_roller_set_options, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6428,7 +6495,8 @@ be_local_closure(lvh_roller_set_options, /* name */ /******************************************************************** ** Solidified function: get_text ********************************************************************/ -be_local_closure(lvh_roller_get_text, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_get_text, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -6436,7 +6504,7 @@ be_local_closure(lvh_roller_get_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(resize), @@ -6476,7 +6544,8 @@ be_local_closure(lvh_roller_get_text, /* name */ /******************************************************************** ** Solidified function: get_options ********************************************************************/ -be_local_closure(lvh_roller_get_options, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_get_options, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6484,7 +6553,7 @@ be_local_closure(lvh_roller_get_options, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6506,7 +6575,8 @@ be_local_closure(lvh_roller_get_options, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_roller_set_val, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_set_val, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -6514,7 +6584,7 @@ be_local_closure(lvh_roller_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -6541,7 +6611,8 @@ be_local_closure(lvh_roller_set_val, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_roller_set_text, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_set_text, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -6549,7 +6620,7 @@ be_local_closure(lvh_roller_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(attribute_error), @@ -6569,7 +6640,8 @@ be_local_closure(lvh_roller_set_text, /* name */ /******************************************************************** ** Solidified function: get_val ********************************************************************/ -be_local_closure(lvh_roller_get_val, /* name */ +extern const bclass be_class_lvh_roller; +be_local_closure(class_lvh_roller_get_val, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6577,7 +6649,7 @@ be_local_closure(lvh_roller_get_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_roller, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6605,30 +6677,24 @@ be_local_class(lvh_roller, &be_class_lvh_obj, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_options, 2), be_const_closure(lvh_roller_set_options_closure) }, - { be_const_key_weak(get_text, -1), be_const_closure(lvh_roller_get_text_closure) }, - { be_const_key_weak(get_options, -1), be_const_closure(lvh_roller_get_options_closure) }, + { be_const_key_weak(set_options, 2), be_const_closure(class_lvh_roller_set_options_closure) }, + { be_const_key_weak(get_text, -1), be_const_closure(class_lvh_roller_get_text_closure) }, + { be_const_key_weak(get_options, -1), be_const_closure(class_lvh_roller_get_options_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_roller) }, - { be_const_key_weak(set_text, -1), be_const_closure(lvh_roller_set_text_closure) }, - { be_const_key_weak(set_val, 4), be_const_closure(lvh_roller_set_val_closure) }, - { be_const_key_weak(get_val, -1), be_const_closure(lvh_roller_get_val_closure) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_roller_set_text_closure) }, + { be_const_key_weak(set_val, 4), be_const_closure(class_lvh_roller_set_val_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_roller_get_val_closure) }, })), be_str_weak(lvh_roller) ); -/*******************************************************************/ - -void be_load_lvh_roller_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_roller); - be_setglobal(vm, "lvh_roller"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_led; /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_led_set_val, /* name */ +extern const bclass be_class_lvh_led; +be_local_closure(class_lvh_led_set_val, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -6636,7 +6702,7 @@ be_local_closure(lvh_led_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_led, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -6661,7 +6727,8 @@ be_local_closure(lvh_led_set_val, /* name */ /******************************************************************** ** Solidified function: get_color ********************************************************************/ -be_local_closure(lvh_led_get_color, /* name */ +extern const bclass be_class_lvh_led; +be_local_closure(class_lvh_led_get_color, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -6669,7 +6736,7 @@ be_local_closure(lvh_led_get_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_led, 0, /* has constants */ NULL, /* no const */ be_str_weak(get_color), @@ -6685,7 +6752,8 @@ be_local_closure(lvh_led_get_color, /* name */ /******************************************************************** ** Solidified function: get_val ********************************************************************/ -be_local_closure(lvh_led_get_val, /* name */ +extern const bclass be_class_lvh_led; +be_local_closure(class_lvh_led_get_val, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6693,7 +6761,7 @@ be_local_closure(lvh_led_get_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_led, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6715,7 +6783,8 @@ be_local_closure(lvh_led_get_val, /* name */ /******************************************************************** ** Solidified function: set_color ********************************************************************/ -be_local_closure(lvh_led_set_color, /* name */ +extern const bclass be_class_lvh_led; +be_local_closure(class_lvh_led_set_color, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -6723,7 +6792,7 @@ be_local_closure(lvh_led_set_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_led, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(parse_color), @@ -6756,28 +6825,22 @@ be_local_class(lvh_led, &be_class_lvh_obj, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_val, -1), be_const_closure(lvh_led_set_val_closure) }, - { be_const_key_weak(get_color, 3), be_const_closure(lvh_led_get_color_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_led_set_val_closure) }, + { be_const_key_weak(get_color, 3), be_const_closure(class_lvh_led_get_color_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_led) }, - { be_const_key_weak(get_val, -1), be_const_closure(lvh_led_get_val_closure) }, - { be_const_key_weak(set_color, -1), be_const_closure(lvh_led_set_color_closure) }, + { be_const_key_weak(get_val, -1), be_const_closure(class_lvh_led_get_val_closure) }, + { be_const_key_weak(set_color, -1), be_const_closure(class_lvh_led_set_color_closure) }, })), be_str_weak(lvh_led) ); -/*******************************************************************/ - -void be_load_lvh_led_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_led); - be_setglobal(vm, "lvh_led"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_dropdown; /******************************************************************** ** Solidified function: get_val ********************************************************************/ -be_local_closure(lvh_dropdown_get_val, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_get_val, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -6785,7 +6848,7 @@ be_local_closure(lvh_dropdown_get_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6807,7 +6870,8 @@ be_local_closure(lvh_dropdown_get_val, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_dropdown_set_text, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_set_text, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -6815,7 +6879,7 @@ be_local_closure(lvh_dropdown_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6838,7 +6902,8 @@ be_local_closure(lvh_dropdown_set_text, /* name */ /******************************************************************** ** Solidified function: set_direction ********************************************************************/ -be_local_closure(lvh_dropdown_set_direction, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_set_direction, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -6846,7 +6911,7 @@ be_local_closure(lvh_dropdown_set_direction, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_const_int(0), @@ -6916,7 +6981,8 @@ be_local_closure(lvh_dropdown_set_direction, /* name */ /******************************************************************** ** Solidified function: get_direction ********************************************************************/ -be_local_closure(lvh_dropdown_get_direction, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_get_direction, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -6924,7 +6990,7 @@ be_local_closure(lvh_dropdown_get_direction, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6963,7 +7029,8 @@ be_local_closure(lvh_dropdown_get_direction, /* name */ /******************************************************************** ** Solidified function: set_show_selected ********************************************************************/ -be_local_closure(lvh_dropdown_set_show_selected, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_set_show_selected, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -6971,7 +7038,7 @@ be_local_closure(lvh_dropdown_set_show_selected, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -6995,7 +7062,8 @@ be_local_closure(lvh_dropdown_set_show_selected, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_dropdown_set_val, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_set_val, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -7003,7 +7071,7 @@ be_local_closure(lvh_dropdown_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -7028,7 +7096,8 @@ be_local_closure(lvh_dropdown_set_val, /* name */ /******************************************************************** ** Solidified function: get_text ********************************************************************/ -be_local_closure(lvh_dropdown_get_text, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_get_text, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -7036,7 +7105,7 @@ be_local_closure(lvh_dropdown_get_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7086,7 +7155,8 @@ be_local_closure(lvh_dropdown_get_text, /* name */ /******************************************************************** ** Solidified function: get_show_selected ********************************************************************/ -be_local_closure(lvh_dropdown_get_show_selected, /* name */ +extern const bclass be_class_lvh_dropdown; +be_local_closure(class_lvh_dropdown_get_show_selected, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -7094,7 +7164,7 @@ be_local_closure(lvh_dropdown_get_show_selected, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7124,14 +7194,14 @@ be_local_class(lvh_dropdown, &be_class_lvh_obj, be_nested_map(11, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_show_selected, -1), be_const_closure(lvh_dropdown_get_show_selected_closure) }, - { be_const_key_weak(get_text, 2), be_const_closure(lvh_dropdown_get_text_closure) }, - { be_const_key_weak(set_val, 7), be_const_closure(lvh_dropdown_set_val_closure) }, + { be_const_key_weak(get_show_selected, -1), be_const_closure(class_lvh_dropdown_get_show_selected_closure) }, + { be_const_key_weak(get_text, 2), be_const_closure(class_lvh_dropdown_get_text_closure) }, + { be_const_key_weak(set_val, 7), be_const_closure(class_lvh_dropdown_set_val_closure) }, { be_const_key_weak(_symbol, -1), be_const_var(0) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_dropdown) }, - { be_const_key_weak(set_direction, -1), be_const_closure(lvh_dropdown_set_direction_closure) }, - { be_const_key_weak(get_val, 9), be_const_closure(lvh_dropdown_get_val_closure) }, - { be_const_key_weak(set_show_selected, -1), be_const_closure(lvh_dropdown_set_show_selected_closure) }, + { be_const_key_weak(set_direction, -1), be_const_closure(class_lvh_dropdown_set_direction_closure) }, + { be_const_key_weak(get_val, 9), be_const_closure(class_lvh_dropdown_get_val_closure) }, + { be_const_key_weak(set_show_selected, -1), be_const_closure(class_lvh_dropdown_set_show_selected_closure) }, { be_const_key_weak(_dir, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(4, ( (struct bvalue*) &(const bvalue[]) { @@ -7140,25 +7210,19 @@ be_local_class(lvh_dropdown, be_const_int(1), be_const_int(2), })) ) } )) }, - { be_const_key_weak(get_direction, -1), be_const_closure(lvh_dropdown_get_direction_closure) }, - { be_const_key_weak(set_text, 0), be_const_closure(lvh_dropdown_set_text_closure) }, + { be_const_key_weak(get_direction, -1), be_const_closure(class_lvh_dropdown_get_direction_closure) }, + { be_const_key_weak(set_text, 0), be_const_closure(class_lvh_dropdown_set_text_closure) }, })), be_str_weak(lvh_dropdown) ); -/*******************************************************************/ - -void be_load_lvh_dropdown_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_dropdown); - be_setglobal(vm, "lvh_dropdown"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_dropdown_list; /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_dropdown_list_post_init, /* name */ +extern const bclass be_class_lvh_dropdown_list; +be_local_closure(class_lvh_dropdown_list_post_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -7166,7 +7230,7 @@ be_local_closure(lvh_dropdown_list_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_dropdown_list, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7221,25 +7285,19 @@ be_local_class(lvh_dropdown_list, &be_class_lvh_obj, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(post_init, -1), be_const_closure(lvh_dropdown_list_post_init_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_dropdown_list_post_init_closure) }, { be_const_key_weak(_lv_class, -1), be_const_nil() }, })), be_str_weak(lvh_dropdown_list) ); -/*******************************************************************/ - -void be_load_lvh_dropdown_list_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_dropdown_list); - be_setglobal(vm, "lvh_dropdown_list"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_bar; /******************************************************************** ** Solidified function: get_max ********************************************************************/ -be_local_closure(lvh_bar_get_max, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_get_max, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -7247,7 +7305,7 @@ be_local_closure(lvh_bar_get_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7269,7 +7327,8 @@ be_local_closure(lvh_bar_get_max, /* name */ /******************************************************************** ** Solidified function: set_max ********************************************************************/ -be_local_closure(lvh_bar_set_max, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_set_max, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -7277,7 +7336,7 @@ be_local_closure(lvh_bar_set_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7306,7 +7365,8 @@ be_local_closure(lvh_bar_set_max, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_bar_post_init, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_post_init, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -7314,7 +7374,7 @@ be_local_closure(lvh_bar_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(post_init), @@ -7365,7 +7425,8 @@ be_local_closure(lvh_bar_post_init, /* name */ /******************************************************************** ** Solidified function: get_min ********************************************************************/ -be_local_closure(lvh_bar_get_min, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_get_min, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -7373,7 +7434,7 @@ be_local_closure(lvh_bar_get_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7395,7 +7456,8 @@ be_local_closure(lvh_bar_get_min, /* name */ /******************************************************************** ** Solidified function: set_min ********************************************************************/ -be_local_closure(lvh_bar_set_min, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_set_min, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -7403,7 +7465,7 @@ be_local_closure(lvh_bar_set_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7432,7 +7494,8 @@ be_local_closure(lvh_bar_set_min, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_bar_set_val, /* name */ +extern const bclass be_class_lvh_bar; +be_local_closure(class_lvh_bar_set_val, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -7440,7 +7503,7 @@ be_local_closure(lvh_bar_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_bar, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -7475,30 +7538,24 @@ be_local_class(lvh_bar, &be_class_lvh_obj, be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_val, -1), be_const_closure(lvh_bar_set_val_closure) }, - { be_const_key_weak(post_init, 6), be_const_closure(lvh_bar_post_init_closure) }, - { be_const_key_weak(get_min, -1), be_const_closure(lvh_bar_get_min_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_bar_set_val_closure) }, + { be_const_key_weak(post_init, 6), be_const_closure(class_lvh_bar_post_init_closure) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_bar_get_min_closure) }, { be_const_key_weak(_lv_class, 1), be_const_class(be_class_lv_bar) }, - { be_const_key_weak(get_max, 2), be_const_closure(lvh_bar_get_max_closure) }, - { be_const_key_weak(set_min, 0), be_const_closure(lvh_bar_set_min_closure) }, - { be_const_key_weak(set_max, -1), be_const_closure(lvh_bar_set_max_closure) }, + { be_const_key_weak(get_max, 2), be_const_closure(class_lvh_bar_get_max_closure) }, + { be_const_key_weak(set_min, 0), be_const_closure(class_lvh_bar_set_min_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_bar_set_max_closure) }, })), be_str_weak(lvh_bar) ); -/*******************************************************************/ - -void be_load_lvh_bar_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_bar); - be_setglobal(vm, "lvh_bar"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_line; /******************************************************************** ** Solidified function: set_points ********************************************************************/ -be_local_closure(lvh_line_set_points, /* name */ +extern const bclass be_class_lvh_line; +be_local_closure(class_lvh_line_set_points, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -7506,7 +7563,7 @@ be_local_closure(lvh_line_set_points, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_line, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_const_int(2), @@ -7605,24 +7662,18 @@ be_local_class(lvh_line, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_lv_points, -1), be_const_var(0) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_line) }, - { be_const_key_weak(set_points, -1), be_const_closure(lvh_line_set_points_closure) }, + { be_const_key_weak(set_points, -1), be_const_closure(class_lvh_line_set_points_closure) }, })), be_str_weak(lvh_line) ); -/*******************************************************************/ - -void be_load_lvh_line_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_line); - be_setglobal(vm, "lvh_line"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_scale; /******************************************************************** ** Solidified function: set_text_src ********************************************************************/ -be_local_closure(lvh_scale_set_text_src, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_set_text_src, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -7630,7 +7681,7 @@ be_local_closure(lvh_scale_set_text_src, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_const_int(0), @@ -7690,7 +7741,8 @@ be_local_closure(lvh_scale_set_text_src, /* name */ /******************************************************************** ** Solidified function: get_max ********************************************************************/ -be_local_closure(lvh_scale_get_max, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_get_max, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -7698,7 +7750,7 @@ be_local_closure(lvh_scale_get_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7720,7 +7772,8 @@ be_local_closure(lvh_scale_get_max, /* name */ /******************************************************************** ** Solidified function: set_min ********************************************************************/ -be_local_closure(lvh_scale_set_min, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_set_min, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -7728,7 +7781,7 @@ be_local_closure(lvh_scale_set_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7757,7 +7810,8 @@ be_local_closure(lvh_scale_set_min, /* name */ /******************************************************************** ** Solidified function: get_text_src ********************************************************************/ -be_local_closure(lvh_scale_get_text_src, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_get_text_src, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -7765,7 +7819,7 @@ be_local_closure(lvh_scale_get_text_src, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_options), @@ -7784,7 +7838,8 @@ be_local_closure(lvh_scale_get_text_src, /* name */ /******************************************************************** ** Solidified function: set_max ********************************************************************/ -be_local_closure(lvh_scale_set_max, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_set_max, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -7792,7 +7847,7 @@ be_local_closure(lvh_scale_set_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7821,7 +7876,8 @@ be_local_closure(lvh_scale_set_max, /* name */ /******************************************************************** ** Solidified function: get_min ********************************************************************/ -be_local_closure(lvh_scale_get_min, /* name */ +extern const bclass be_class_lvh_scale; +be_local_closure(class_lvh_scale_get_min, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -7829,7 +7885,7 @@ be_local_closure(lvh_scale_get_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -7858,31 +7914,25 @@ be_local_class(lvh_scale, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_options_arr, -1), be_const_var(1) }, - { be_const_key_weak(get_max, 0), be_const_closure(lvh_scale_get_max_closure) }, - { be_const_key_weak(set_max, -1), be_const_closure(lvh_scale_set_max_closure) }, - { be_const_key_weak(get_text_src, -1), be_const_closure(lvh_scale_get_text_src_closure) }, - { be_const_key_weak(set_min, -1), be_const_closure(lvh_scale_set_min_closure) }, + { be_const_key_weak(get_max, 0), be_const_closure(class_lvh_scale_get_max_closure) }, + { be_const_key_weak(set_max, -1), be_const_closure(class_lvh_scale_set_max_closure) }, + { be_const_key_weak(get_text_src, -1), be_const_closure(class_lvh_scale_get_text_src_closure) }, + { be_const_key_weak(set_min, -1), be_const_closure(class_lvh_scale_set_min_closure) }, { be_const_key_weak(_options, -1), be_const_var(0) }, - { be_const_key_weak(set_text_src, 3), be_const_closure(lvh_scale_set_text_src_closure) }, + { be_const_key_weak(set_text_src, 3), be_const_closure(class_lvh_scale_set_text_src_closure) }, { be_const_key_weak(_lv_class, 2), be_const_class(be_class_lv_scale) }, - { be_const_key_weak(get_min, -1), be_const_closure(lvh_scale_get_min_closure) }, + { be_const_key_weak(get_min, -1), be_const_closure(class_lvh_scale_get_min_closure) }, })), be_str_weak(lvh_scale) ); -/*******************************************************************/ - -void be_load_lvh_scale_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_scale); - be_setglobal(vm, "lvh_scale"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_scale_section; /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(lvh_scale_section_setmember, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_setmember, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -7890,7 +7940,7 @@ be_local_closure(lvh_scale_section_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[26]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -8073,7 +8123,8 @@ be_local_closure(lvh_scale_section_setmember, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_scale_section_post_init, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_post_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -8081,7 +8132,7 @@ be_local_closure(lvh_scale_section_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[19]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -8167,7 +8218,8 @@ be_local_closure(lvh_scale_section_post_init, /* name */ /******************************************************************** ** Solidified function: set_min ********************************************************************/ -be_local_closure(lvh_scale_section_set_min, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_set_min, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -8175,7 +8227,7 @@ be_local_closure(lvh_scale_section_set_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_max), @@ -8205,7 +8257,8 @@ be_local_closure(lvh_scale_section_set_min, /* name */ /******************************************************************** ** Solidified function: set_max ********************************************************************/ -be_local_closure(lvh_scale_section_set_max, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_set_max, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -8213,7 +8266,7 @@ be_local_closure(lvh_scale_section_set_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_min), @@ -8243,7 +8296,8 @@ be_local_closure(lvh_scale_section_set_max, /* name */ /******************************************************************** ** Solidified function: set_range ********************************************************************/ -be_local_closure(lvh_scale_section_set_range, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_set_range, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -8251,7 +8305,7 @@ be_local_closure(lvh_scale_section_set_range, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_min), @@ -8279,7 +8333,8 @@ be_local_closure(lvh_scale_section_set_range, /* name */ /******************************************************************** ** Solidified function: delete ********************************************************************/ -be_local_closure(lvh_scale_section_delete, /* name */ +extern const bclass be_class_lvh_scale_section; +be_local_closure(class_lvh_scale_section_delete, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -8287,7 +8342,7 @@ be_local_closure(lvh_scale_section_delete, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_section, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_style), @@ -8330,34 +8385,28 @@ be_local_class(lvh_scale_section, be_nested_map(12, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_style30, -1), be_const_var(2) }, - { be_const_key_weak(setmember, -1), be_const_closure(lvh_scale_section_setmember_closure) }, - { be_const_key_weak(post_init, 3), be_const_closure(lvh_scale_section_post_init_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_scale_section_setmember_closure) }, + { be_const_key_weak(post_init, 3), be_const_closure(class_lvh_scale_section_post_init_closure) }, { be_const_key_weak(_style10, -1), be_const_var(1) }, { be_const_key_weak(_max, 11), be_const_var(4) }, - { be_const_key_weak(delete, -1), be_const_closure(lvh_scale_section_delete_closure) }, + { be_const_key_weak(delete, -1), be_const_closure(class_lvh_scale_section_delete_closure) }, { be_const_key_weak(_min, -1), be_const_var(3) }, { be_const_key_weak(_style, 8), be_const_var(0) }, { be_const_key_weak(_lv_class, -1), be_const_nil() }, - { be_const_key_weak(set_range, -1), be_const_closure(lvh_scale_section_set_range_closure) }, - { be_const_key_weak(set_max, 5), be_const_closure(lvh_scale_section_set_max_closure) }, - { be_const_key_weak(set_min, -1), be_const_closure(lvh_scale_section_set_min_closure) }, + { be_const_key_weak(set_range, -1), be_const_closure(class_lvh_scale_section_set_range_closure) }, + { be_const_key_weak(set_max, 5), be_const_closure(class_lvh_scale_section_set_max_closure) }, + { be_const_key_weak(set_min, -1), be_const_closure(class_lvh_scale_section_set_min_closure) }, })), be_str_weak(lvh_scale_section) ); -/*******************************************************************/ - -void be_load_lvh_scale_section_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_scale_section); - be_setglobal(vm, "lvh_scale_section"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_scale_line; /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_scale_line_set_val, /* name */ +extern const bclass be_class_lvh_scale_line; +be_local_closure(class_lvh_scale_line_set_val, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -8365,7 +8414,7 @@ be_local_closure(lvh_scale_line_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_line, 1, /* has constants */ ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(set_val), @@ -8431,7 +8480,8 @@ be_local_closure(lvh_scale_line_set_val, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_scale_line_post_init, /* name */ +extern const bclass be_class_lvh_scale_line; +be_local_closure(class_lvh_scale_line_post_init, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -8439,7 +8489,7 @@ be_local_closure(lvh_scale_line_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_line, 1, /* has constants */ ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(_parent_lvh), @@ -8498,7 +8548,8 @@ be_local_closure(lvh_scale_line_post_init, /* name */ /******************************************************************** ** Solidified function: get_needle_length ********************************************************************/ -be_local_closure(lvh_scale_line_get_needle_length, /* name */ +extern const bclass be_class_lvh_scale_line; +be_local_closure(class_lvh_scale_line_get_needle_length, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -8506,7 +8557,7 @@ be_local_closure(lvh_scale_line_get_needle_length, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_line, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_needle_length), @@ -8525,7 +8576,8 @@ be_local_closure(lvh_scale_line_get_needle_length, /* name */ /******************************************************************** ** Solidified function: set_needle_length ********************************************************************/ -be_local_closure(lvh_scale_line_set_needle_length, /* name */ +extern const bclass be_class_lvh_scale_line; +be_local_closure(class_lvh_scale_line_set_needle_length, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -8533,7 +8585,7 @@ be_local_closure(lvh_scale_line_set_needle_length, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_scale_line, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_needle_length), @@ -8570,28 +8622,22 @@ be_local_class(lvh_scale_line, &be_class_lvh_line, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(set_val, 4), be_const_closure(lvh_scale_line_set_val_closure) }, - { be_const_key_weak(set_needle_length, -1), be_const_closure(lvh_scale_line_set_needle_length_closure) }, - { be_const_key_weak(get_needle_length, -1), be_const_closure(lvh_scale_line_get_needle_length_closure) }, + { be_const_key_weak(set_val, 4), be_const_closure(class_lvh_scale_line_set_val_closure) }, + { be_const_key_weak(set_needle_length, -1), be_const_closure(class_lvh_scale_line_set_needle_length_closure) }, + { be_const_key_weak(get_needle_length, -1), be_const_closure(class_lvh_scale_line_get_needle_length_closure) }, { be_const_key_weak(_needle_length, 1), be_const_var(0) }, - { be_const_key_weak(post_init, -1), be_const_closure(lvh_scale_line_post_init_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_scale_line_post_init_closure) }, })), be_str_weak(lvh_scale_line) ); -/*******************************************************************/ - -void be_load_lvh_scale_line_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_scale_line); - be_setglobal(vm, "lvh_scale_line"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_spangroup; /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_spangroup_post_init, /* name */ +extern const bclass be_class_lvh_spangroup; +be_local_closure(class_lvh_spangroup_post_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -8599,7 +8645,7 @@ be_local_closure(lvh_spangroup_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spangroup, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -8635,7 +8681,8 @@ be_local_closure(lvh_spangroup_post_init, /* name */ /******************************************************************** ** Solidified function: refr_mode ********************************************************************/ -be_local_closure(lvh_spangroup_refr_mode, /* name */ +extern const bclass be_class_lvh_spangroup; +be_local_closure(class_lvh_spangroup_refr_mode, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -8643,7 +8690,7 @@ be_local_closure(lvh_spangroup_refr_mode, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_spangroup, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -8671,26 +8718,20 @@ be_local_class(lvh_spangroup, &be_class_lvh_obj, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(refr_mode, -1), be_const_closure(lvh_spangroup_refr_mode_closure) }, + { be_const_key_weak(refr_mode, -1), be_const_closure(class_lvh_spangroup_refr_mode_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_spangroup) }, - { be_const_key_weak(post_init, 0), be_const_closure(lvh_spangroup_post_init_closure) }, + { be_const_key_weak(post_init, 0), be_const_closure(class_lvh_spangroup_post_init_closure) }, })), be_str_weak(lvh_spangroup) ); -/*******************************************************************/ - -void be_load_lvh_spangroup_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_spangroup); - be_setglobal(vm, "lvh_spangroup"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_span; /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(lvh_span_setmember, /* name */ +extern const bclass be_class_lvh_span; +be_local_closure(class_lvh_span_setmember, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -8698,7 +8739,7 @@ be_local_closure(lvh_span_setmember, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_span, 1, /* has constants */ ( &(const bvalue[21]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -8827,7 +8868,8 @@ be_local_closure(lvh_span_setmember, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_span_post_init, /* name */ +extern const bclass be_class_lvh_span; +be_local_closure(class_lvh_span_post_init, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -8835,7 +8877,7 @@ be_local_closure(lvh_span_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_span, 1, /* has constants */ ( &(const bvalue[ 8]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -8878,7 +8920,8 @@ be_local_closure(lvh_span_post_init, /* name */ /******************************************************************** ** Solidified function: set_text_font ********************************************************************/ -be_local_closure(lvh_span_set_text_font, /* name */ +extern const bclass be_class_lvh_span; +be_local_closure(class_lvh_span_set_text_font, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -8886,7 +8929,7 @@ be_local_closure(lvh_span_set_text_font, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_span, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(parse_font), @@ -8921,7 +8964,8 @@ be_local_closure(lvh_span_set_text_font, /* name */ /******************************************************************** ** Solidified function: set_text ********************************************************************/ -be_local_closure(lvh_span_set_text, /* name */ +extern const bclass be_class_lvh_span; +be_local_closure(class_lvh_span_set_text, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -8929,7 +8973,7 @@ be_local_closure(lvh_span_set_text, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_span, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -8960,29 +9004,23 @@ be_local_class(lvh_span, &be_class_lvh_root, be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(setmember, -1), be_const_closure(lvh_span_setmember_closure) }, + { be_const_key_weak(setmember, -1), be_const_closure(class_lvh_span_setmember_closure) }, { be_const_key_weak(_lv_class, 4), be_const_nil() }, - { be_const_key_weak(post_init, -1), be_const_closure(lvh_span_post_init_closure) }, - { be_const_key_weak(set_text_font, -1), be_const_closure(lvh_span_set_text_font_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_span_post_init_closure) }, + { be_const_key_weak(set_text_font, -1), be_const_closure(class_lvh_span_set_text_font_closure) }, { be_const_key_weak(_style, 0), be_const_var(0) }, - { be_const_key_weak(set_text, -1), be_const_closure(lvh_span_set_text_closure) }, + { be_const_key_weak(set_text, -1), be_const_closure(class_lvh_span_set_text_closure) }, })), be_str_weak(lvh_span) ); -/*******************************************************************/ - -void be_load_lvh_span_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_span); - be_setglobal(vm, "lvh_span"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_chart; /******************************************************************** ** Solidified function: get_y_min ********************************************************************/ -be_local_closure(lvh_chart_get_y_min, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_get_y_min, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -8990,7 +9028,7 @@ be_local_closure(lvh_chart_get_y_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_y_min), @@ -9009,7 +9047,8 @@ be_local_closure(lvh_chart_get_y_min, /* name */ /******************************************************************** ** Solidified function: add_point ********************************************************************/ -be_local_closure(lvh_chart_add_point, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_add_point, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9017,7 +9056,7 @@ be_local_closure(lvh_chart_add_point, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -9042,7 +9081,8 @@ be_local_closure(lvh_chart_add_point, /* name */ /******************************************************************** ** Solidified function: set_val2 ********************************************************************/ -be_local_closure(lvh_chart_set_val2, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_val2, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -9050,7 +9090,7 @@ be_local_closure(lvh_chart_set_val2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(add_point2), @@ -9071,7 +9111,8 @@ be_local_closure(lvh_chart_set_val2, /* name */ /******************************************************************** ** Solidified function: set_y_min ********************************************************************/ -be_local_closure(lvh_chart_set_y_min, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_y_min, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -9079,7 +9120,7 @@ be_local_closure(lvh_chart_set_y_min, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_y_min), @@ -9110,7 +9151,8 @@ be_local_closure(lvh_chart_set_y_min, /* name */ /******************************************************************** ** Solidified function: add_point2 ********************************************************************/ -be_local_closure(lvh_chart_add_point2, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_add_point2, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9118,7 +9160,7 @@ be_local_closure(lvh_chart_add_point2, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -9143,7 +9185,8 @@ be_local_closure(lvh_chart_add_point2, /* name */ /******************************************************************** ** Solidified function: set_series1_color ********************************************************************/ -be_local_closure(lvh_chart_set_series1_color, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_series1_color, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9151,7 +9194,7 @@ be_local_closure(lvh_chart_set_series1_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -9176,7 +9219,8 @@ be_local_closure(lvh_chart_set_series1_color, /* name */ /******************************************************************** ** Solidified function: set_series2_color ********************************************************************/ -be_local_closure(lvh_chart_set_series2_color, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_series2_color, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9184,7 +9228,7 @@ be_local_closure(lvh_chart_set_series2_color, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_obj), @@ -9209,7 +9253,8 @@ be_local_closure(lvh_chart_set_series2_color, /* name */ /******************************************************************** ** Solidified function: set_y_max ********************************************************************/ -be_local_closure(lvh_chart_set_y_max, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_y_max, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -9217,7 +9262,7 @@ be_local_closure(lvh_chart_set_y_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(_y_max), @@ -9248,7 +9293,8 @@ be_local_closure(lvh_chart_set_y_max, /* name */ /******************************************************************** ** Solidified function: post_init ********************************************************************/ -be_local_closure(lvh_chart_post_init, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_post_init, /* name */ be_nested_proto( 6, /* nstack */ 1, /* argc */ @@ -9256,7 +9302,7 @@ be_local_closure(lvh_chart_post_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(_y_min), @@ -9321,7 +9367,8 @@ be_local_closure(lvh_chart_post_init, /* name */ /******************************************************************** ** Solidified function: get_y_max ********************************************************************/ -be_local_closure(lvh_chart_get_y_max, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_get_y_max, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -9329,7 +9376,7 @@ be_local_closure(lvh_chart_get_y_max, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_y_max), @@ -9348,7 +9395,8 @@ be_local_closure(lvh_chart_get_y_max, /* name */ /******************************************************************** ** Solidified function: set_val ********************************************************************/ -be_local_closure(lvh_chart_set_val, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_val, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -9356,7 +9404,7 @@ be_local_closure(lvh_chart_set_val, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_val), @@ -9379,7 +9427,8 @@ be_local_closure(lvh_chart_set_val, /* name */ /******************************************************************** ** Solidified function: set_v_div_line_count ********************************************************************/ -be_local_closure(lvh_chart_set_v_div_line_count, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_v_div_line_count, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9387,7 +9436,7 @@ be_local_closure(lvh_chart_set_v_div_line_count, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_v_div), @@ -9414,7 +9463,8 @@ be_local_closure(lvh_chart_set_v_div_line_count, /* name */ /******************************************************************** ** Solidified function: set_h_div_line_count ********************************************************************/ -be_local_closure(lvh_chart_set_h_div_line_count, /* name */ +extern const bclass be_class_lvh_chart; +be_local_closure(class_lvh_chart_set_h_div_line_count, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -9422,7 +9472,7 @@ be_local_closure(lvh_chart_set_h_div_line_count, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_chart, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(_h_div), @@ -9455,43 +9505,37 @@ be_local_class(lvh_chart, &be_class_lvh_obj, be_nested_map(20, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_y_min, -1), be_const_closure(lvh_chart_get_y_min_closure) }, + { be_const_key_weak(get_y_min, -1), be_const_closure(class_lvh_chart_get_y_min_closure) }, { be_const_key_weak(_h_div, 16), be_const_var(4) }, - { be_const_key_weak(set_v_div_line_count, -1), be_const_closure(lvh_chart_set_v_div_line_count_closure) }, - { be_const_key_weak(set_val2, -1), be_const_closure(lvh_chart_set_val2_closure) }, - { be_const_key_weak(set_y_min, -1), be_const_closure(lvh_chart_set_y_min_closure) }, - { be_const_key_weak(add_point2, -1), be_const_closure(lvh_chart_add_point2_closure) }, + { be_const_key_weak(set_v_div_line_count, -1), be_const_closure(class_lvh_chart_set_v_div_line_count_closure) }, + { be_const_key_weak(set_val2, -1), be_const_closure(class_lvh_chart_set_val2_closure) }, + { be_const_key_weak(set_y_min, -1), be_const_closure(class_lvh_chart_set_y_min_closure) }, + { be_const_key_weak(add_point2, -1), be_const_closure(class_lvh_chart_add_point2_closure) }, { be_const_key_weak(_ser2, -1), be_const_var(1) }, { be_const_key_weak(_ser1, 11), be_const_var(0) }, { be_const_key_weak(_v_div, 18), be_const_var(5) }, - { be_const_key_weak(set_series2_color, -1), be_const_closure(lvh_chart_set_series2_color_closure) }, - { be_const_key_weak(set_y_max, 1), be_const_closure(lvh_chart_set_y_max_closure) }, + { be_const_key_weak(set_series2_color, -1), be_const_closure(class_lvh_chart_set_series2_color_closure) }, + { be_const_key_weak(set_y_max, 1), be_const_closure(class_lvh_chart_set_y_max_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_chart) }, { be_const_key_weak(_y_max, -1), be_const_var(3) }, - { be_const_key_weak(get_y_max, -1), be_const_closure(lvh_chart_get_y_max_closure) }, + { be_const_key_weak(get_y_max, -1), be_const_closure(class_lvh_chart_get_y_max_closure) }, { be_const_key_weak(_y_min, 13), be_const_var(2) }, - { be_const_key_weak(set_val, -1), be_const_closure(lvh_chart_set_val_closure) }, - { be_const_key_weak(post_init, -1), be_const_closure(lvh_chart_post_init_closure) }, - { be_const_key_weak(add_point, 2), be_const_closure(lvh_chart_add_point_closure) }, - { be_const_key_weak(set_series1_color, 0), be_const_closure(lvh_chart_set_series1_color_closure) }, - { be_const_key_weak(set_h_div_line_count, -1), be_const_closure(lvh_chart_set_h_div_line_count_closure) }, + { be_const_key_weak(set_val, -1), be_const_closure(class_lvh_chart_set_val_closure) }, + { be_const_key_weak(post_init, -1), be_const_closure(class_lvh_chart_post_init_closure) }, + { be_const_key_weak(add_point, 2), be_const_closure(class_lvh_chart_add_point_closure) }, + { be_const_key_weak(set_series1_color, 0), be_const_closure(class_lvh_chart_set_series1_color_closure) }, + { be_const_key_weak(set_h_div_line_count, -1), be_const_closure(class_lvh_chart_set_h_div_line_count_closure) }, })), be_str_weak(lvh_chart) ); -/*******************************************************************/ - -void be_load_lvh_chart_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_chart); - be_setglobal(vm, "lvh_chart"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_btnmatrix; /******************************************************************** ** Solidified function: set_options ********************************************************************/ -be_local_closure(lvh_btnmatrix_set_options, /* name */ +extern const bclass be_class_lvh_btnmatrix; +be_local_closure(class_lvh_btnmatrix_set_options, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -9499,7 +9543,7 @@ be_local_closure(lvh_btnmatrix_set_options, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_btnmatrix, 1, /* has constants */ ( &(const bvalue[10]) { /* constants */ /* K0 */ be_const_int(0), @@ -9559,7 +9603,8 @@ be_local_closure(lvh_btnmatrix_set_options, /* name */ /******************************************************************** ** Solidified function: get_options ********************************************************************/ -be_local_closure(lvh_btnmatrix_get_options, /* name */ +extern const bclass be_class_lvh_btnmatrix; +be_local_closure(class_lvh_btnmatrix_get_options, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -9567,7 +9612,7 @@ be_local_closure(lvh_btnmatrix_get_options, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_btnmatrix, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_options), @@ -9593,20 +9638,13 @@ be_local_class(lvh_btnmatrix, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_options, 1), be_const_var(0) }, - { be_const_key_weak(set_options, -1), be_const_closure(lvh_btnmatrix_set_options_closure) }, + { be_const_key_weak(set_options, -1), be_const_closure(class_lvh_btnmatrix_set_options_closure) }, { be_const_key_weak(_lv_class, -1), be_const_class(be_class_lv_buttonmatrix) }, { be_const_key_weak(_options_arr, -1), be_const_var(1) }, - { be_const_key_weak(get_options, -1), be_const_closure(lvh_btnmatrix_get_options_closure) }, + { be_const_key_weak(get_options, -1), be_const_closure(class_lvh_btnmatrix_get_options_closure) }, })), be_str_weak(lvh_btnmatrix) ); -/*******************************************************************/ - -void be_load_lvh_btnmatrix_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_btnmatrix); - be_setglobal(vm, "lvh_btnmatrix"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_btn; @@ -9623,13 +9661,6 @@ be_local_class(lvh_btn, })), be_str_weak(lvh_btn) ); -/*******************************************************************/ - -void be_load_lvh_btn_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_btn); - be_setglobal(vm, "lvh_btn"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_checkbox; @@ -9646,13 +9677,6 @@ be_local_class(lvh_checkbox, })), be_str_weak(lvh_checkbox) ); -/*******************************************************************/ - -void be_load_lvh_checkbox_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_checkbox); - be_setglobal(vm, "lvh_checkbox"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_scr; @@ -9669,20 +9693,14 @@ be_local_class(lvh_scr, })), be_str_weak(lvh_scr) ); -/*******************************************************************/ - -void be_load_lvh_scr_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_scr); - be_setglobal(vm, "lvh_scr"); - be_pop(vm, 1); -} extern const bclass be_class_lvh_page; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(lvh_page_init, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_init, /* name */ be_nested_proto( 10, /* nstack */ 3, /* argc */ @@ -9690,7 +9708,7 @@ be_local_closure(lvh_page_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[16]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -9788,7 +9806,8 @@ be_local_closure(lvh_page_init, /* name */ /******************************************************************** ** Solidified function: show ********************************************************************/ -be_local_closure(lvh_page_show, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_show, /* name */ be_nested_proto( 13, /* nstack */ 3, /* argc */ @@ -9796,7 +9815,7 @@ be_local_closure(lvh_page_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 2]) { + ( &(const struct bproto*[ 3]) { be_nested_proto( 3, /* nstack */ 0, /* argc */ @@ -9806,7 +9825,7 @@ be_local_closure(lvh_page_show, /* name */ be_local_const_upval(1, 3), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -9831,7 +9850,7 @@ be_local_closure(lvh_page_show, /* name */ be_local_const_upval(1, 4), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(tasmota), @@ -9847,6 +9866,7 @@ be_local_closure(lvh_page_show, /* name */ 0x80040000, // 0004 RET 1 R0 }) ), + &be_class_lvh_page, }), 1, /* has constants */ ( &(const bvalue[18]) { /* constants */ @@ -9947,7 +9967,8 @@ be_local_closure(lvh_page_show, /* name */ /******************************************************************** ** Solidified function: id ********************************************************************/ -be_local_closure(lvh_page_id, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_id, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -9955,7 +9976,7 @@ be_local_closure(lvh_page_id, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_page_id), @@ -9974,7 +9995,8 @@ be_local_closure(lvh_page_id, /* name */ /******************************************************************** ** Solidified function: get_scr ********************************************************************/ -be_local_closure(lvh_page_get_scr, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_get_scr, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -9982,7 +10004,7 @@ be_local_closure(lvh_page_get_scr, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(_lv_scr), @@ -10001,7 +10023,8 @@ be_local_closure(lvh_page_get_scr, /* name */ /******************************************************************** ** Solidified function: get_obj ********************************************************************/ -be_local_closure(lvh_page_get_obj, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_get_obj, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -10009,7 +10032,7 @@ be_local_closure(lvh_page_get_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(_obj_id), @@ -10032,7 +10055,8 @@ be_local_closure(lvh_page_get_obj, /* name */ /******************************************************************** ** Solidified function: add_obj ********************************************************************/ -be_local_closure(lvh_page_add_obj, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_add_obj, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -10040,7 +10064,7 @@ be_local_closure(lvh_page_add_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(_obj_id), @@ -10073,7 +10097,8 @@ be_local_closure(lvh_page_add_obj, /* name */ /******************************************************************** ** Solidified function: remove_obj ********************************************************************/ -be_local_closure(lvh_page_remove_obj, /* name */ +extern const bclass be_class_lvh_page; +be_local_closure(class_lvh_page_remove_obj, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -10081,7 +10106,7 @@ be_local_closure(lvh_page_remove_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_lvh_page, 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ /* K0 */ be_nested_str_weak(_obj_id), @@ -10129,11 +10154,11 @@ be_local_class(lvh_page, NULL, be_nested_map(15, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(lvh_page_init_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_lvh_page_init_closure) }, { be_const_key_weak(prev, 3), be_const_var(4) }, { be_const_key_weak(next, -1), be_const_var(5) }, { be_const_key_weak(back, 4), be_const_var(6) }, - { be_const_key_weak(remove_obj, 7), be_const_closure(lvh_page_remove_obj_closure) }, + { be_const_key_weak(remove_obj, 7), be_const_closure(class_lvh_page_remove_obj_closure) }, { be_const_key_weak(show_anim, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { @@ -10143,32 +10168,26 @@ be_local_class(lvh_page, { be_const_key_int(-1, -1), be_const_int(6) }, { be_const_key_int(-2, -1), be_const_int(7) }, })) ) } )) }, - { be_const_key_weak(id, 5), be_const_closure(lvh_page_id_closure) }, + { be_const_key_weak(id, 5), be_const_closure(class_lvh_page_id_closure) }, { be_const_key_weak(_page_id, 11), be_const_var(1) }, - { be_const_key_weak(get_obj, -1), be_const_closure(lvh_page_get_obj_closure) }, - { be_const_key_weak(add_obj, -1), be_const_closure(lvh_page_add_obj_closure) }, + { be_const_key_weak(get_obj, -1), be_const_closure(class_lvh_page_get_obj_closure) }, + { be_const_key_weak(add_obj, -1), be_const_closure(class_lvh_page_add_obj_closure) }, { be_const_key_weak(_obj_id, -1), be_const_var(0) }, { be_const_key_weak(_lv_scr, 13), be_const_var(2) }, { be_const_key_weak(_oh, -1), be_const_var(3) }, - { be_const_key_weak(get_scr, 14), be_const_closure(lvh_page_get_scr_closure) }, - { be_const_key_weak(show, -1), be_const_closure(lvh_page_show_closure) }, + { be_const_key_weak(get_scr, 14), be_const_closure(class_lvh_page_get_scr_closure) }, + { be_const_key_weak(show, -1), be_const_closure(class_lvh_page_show_closure) }, })), be_str_weak(lvh_page) ); -/*******************************************************************/ - -void be_load_lvh_page_class(bvm *vm) { - be_pushntvclass(vm, &be_class_lvh_page); - be_setglobal(vm, "lvh_page"); - be_pop(vm, 1); -} extern const bclass be_class_HASPmota; /******************************************************************** ** Solidified function: _load ********************************************************************/ -be_local_closure(HASPmota__load, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota__load, /* name */ be_nested_proto( 15, /* nstack */ 2, /* argc */ @@ -10176,7 +10195,7 @@ be_local_closure(HASPmota__load, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[26]) { /* constants */ /* K0 */ be_nested_str_weak(string), @@ -10303,7 +10322,8 @@ be_local_closure(HASPmota__load, /* name */ /******************************************************************** ** Solidified function: page_show ********************************************************************/ -be_local_closure(HASPmota_page_show, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_page_show, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -10311,7 +10331,7 @@ be_local_closure(HASPmota_page_show, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(lvh_pages), @@ -10406,7 +10426,8 @@ be_local_closure(HASPmota_page_show, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(HASPmota_init, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_init, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -10414,7 +10435,7 @@ be_local_closure(HASPmota_init, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(fix_lv_version), @@ -10443,7 +10464,8 @@ be_local_closure(HASPmota_init, /* name */ /******************************************************************** ** Solidified function: event_dispatch ********************************************************************/ -be_local_closure(HASPmota_event_dispatch, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_event_dispatch, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -10451,7 +10473,7 @@ be_local_closure(HASPmota_event_dispatch, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[11]) { /* constants */ /* K0 */ be_nested_str_weak(introspect), @@ -10512,7 +10534,8 @@ be_local_closure(HASPmota_event_dispatch, /* name */ /******************************************************************** ** Solidified function: pages_list_sorted ********************************************************************/ -be_local_closure(HASPmota_pages_list_sorted, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_pages_list_sorted, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -10520,7 +10543,7 @@ be_local_closure(HASPmota_pages_list_sorted, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_const_int(0), @@ -10592,7 +10615,8 @@ be_local_closure(HASPmota_pages_list_sorted, /* name */ /******************************************************************** ** Solidified function: get_page_cur ********************************************************************/ -be_local_closure(HASPmota_get_page_cur, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_get_page_cur, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -10600,7 +10624,7 @@ be_local_closure(HASPmota_get_page_cur, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 2]) { /* constants */ /* K0 */ be_nested_str_weak(lvh_pages), @@ -10622,7 +10646,8 @@ be_local_closure(HASPmota_get_page_cur, /* name */ /******************************************************************** ** Solidified function: fix_lv_version ********************************************************************/ -be_local_closure(HASPmota_fix_lv_version, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_fix_lv_version, /* name */ be_nested_proto( 6, /* nstack */ 0, /* argc */ @@ -10630,7 +10655,7 @@ be_local_closure(HASPmota_fix_lv_version, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_const_class(be_class_HASPmota), @@ -10667,7 +10692,8 @@ be_local_closure(HASPmota_fix_lv_version, /* name */ /******************************************************************** ** Solidified function: do_action ********************************************************************/ -be_local_closure(HASPmota_do_action, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_do_action, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -10675,7 +10701,7 @@ be_local_closure(HASPmota_do_action, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_nested_str_weak(lv), @@ -10704,7 +10730,8 @@ be_local_closure(HASPmota_do_action, /* name */ /******************************************************************** ** Solidified function: parse ********************************************************************/ -be_local_closure(HASPmota_parse, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_parse, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -10712,7 +10739,7 @@ be_local_closure(HASPmota_parse, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 9]) { /* constants */ /* K0 */ be_nested_str_weak(json), @@ -10758,7 +10785,8 @@ be_local_closure(HASPmota_parse, /* name */ /******************************************************************** ** Solidified function: register_event ********************************************************************/ -be_local_closure(HASPmota_register_event, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_register_event, /* name */ be_nested_proto( 13, /* nstack */ 3, /* argc */ @@ -10766,7 +10794,7 @@ be_local_closure(HASPmota_register_event, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 1, /* has sup protos */ - ( &(const struct bproto*[ 1]) { + ( &(const struct bproto*[ 2]) { be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -10776,7 +10804,7 @@ be_local_closure(HASPmota_register_event, /* name */ be_local_const_upval(1, 0), }), 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(event_dispatch), @@ -10791,6 +10819,7 @@ be_local_closure(HASPmota_register_event, /* name */ 0x80040200, // 0004 RET 1 R1 }) ), + &be_class_HASPmota, }), 1, /* has constants */ ( &(const bvalue[ 7]) { /* constants */ @@ -10834,7 +10863,8 @@ be_local_closure(HASPmota_register_event, /* name */ /******************************************************************** ** Solidified function: page_dir_to ********************************************************************/ -be_local_closure(HASPmota_page_dir_to, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_page_dir_to, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -10842,7 +10872,7 @@ be_local_closure(HASPmota_page_dir_to, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 5]) { /* constants */ /* K0 */ be_nested_str_weak(pages_list_sorted), @@ -10895,7 +10925,8 @@ be_local_closure(HASPmota_page_dir_to, /* name */ /******************************************************************** ** Solidified function: parse_page ********************************************************************/ -be_local_closure(HASPmota_parse_page, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_parse_page, /* name */ be_nested_proto( 9, /* nstack */ 2, /* argc */ @@ -10903,7 +10934,7 @@ be_local_closure(HASPmota_parse_page, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(has), @@ -10987,7 +11018,8 @@ be_local_closure(HASPmota_parse_page, /* name */ /******************************************************************** ** Solidified function: sort ********************************************************************/ -be_local_closure(HASPmota_sort, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_sort, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -10995,7 +11027,7 @@ be_local_closure(HASPmota_sort, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[ 4]) { /* constants */ /* K0 */ be_const_class(be_class_HASPmota), @@ -11045,7 +11077,8 @@ be_local_closure(HASPmota_sort, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(HASPmota_start, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_start, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -11053,7 +11086,7 @@ be_local_closure(HASPmota_start, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[33]) { /* constants */ /* K0 */ be_nested_str_weak(path), @@ -11207,7 +11240,8 @@ be_local_closure(HASPmota_start, /* name */ /******************************************************************** ** Solidified function: parse_obj ********************************************************************/ -be_local_closure(HASPmota_parse_obj, /* name */ +extern const bclass be_class_HASPmota; +be_local_closure(class_HASPmota_parse_obj, /* name */ be_nested_proto( 22, /* nstack */ 3, /* argc */ @@ -11215,7 +11249,7 @@ be_local_closure(HASPmota_parse_obj, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + &be_class_HASPmota, 1, /* has constants */ ( &(const bvalue[30]) { /* constants */ /* K0 */ be_nested_str_weak(global), @@ -11481,7 +11515,7 @@ be_local_class(HASPmota, NULL, be_nested_map(54, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(_load, -1), be_const_closure(HASPmota__load_closure) }, + { be_const_key_weak(_load, -1), be_const_closure(class_HASPmota__load_closure) }, { be_const_key_weak(lvh_switch, -1), be_const_class(be_class_lvh_switch) }, { be_const_key_weak(lvh_scr, -1), be_const_class(be_class_lvh_scr) }, { be_const_key_weak(lvh_root, 50), be_const_class(be_class_lvh_root) }, @@ -11489,50 +11523,50 @@ be_local_class(HASPmota, { be_const_key_weak(dark, 49), be_const_var(0) }, { be_const_key_weak(lvh_qrcode, -1), be_const_class(be_class_lvh_qrcode) }, { be_const_key_weak(lvh_led, -1), be_const_class(be_class_lvh_led) }, - { be_const_key_weak(parse_obj, 32), be_const_closure(HASPmota_parse_obj_closure) }, + { be_const_key_weak(parse_obj, 32), be_const_closure(class_HASPmota_parse_obj_closure) }, { be_const_key_weak(event_cb, 46), be_const_var(9) }, { be_const_key_weak(lvh_scale_section, -1), be_const_class(be_class_lvh_scale_section) }, { be_const_key_weak(lvh_span, -1), be_const_class(be_class_lvh_span) }, { be_const_key_weak(lvh_scale, -1), be_const_class(be_class_lvh_scale) }, { be_const_key_weak(r16, -1), be_const_var(4) }, - { be_const_key_weak(start, -1), be_const_closure(HASPmota_start_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_HASPmota_start_closure) }, { be_const_key_weak(event, -1), be_const_var(8) }, - { be_const_key_weak(event_dispatch, 1), be_const_closure(HASPmota_event_dispatch_closure) }, + { be_const_key_weak(event_dispatch, 1), be_const_closure(class_HASPmota_event_dispatch_closure) }, { be_const_key_weak(lvh_btnmatrix, -1), be_const_class(be_class_lvh_btnmatrix) }, { be_const_key_weak(lvh_page, 35), be_const_class(be_class_lvh_page) }, - { be_const_key_weak(sort, -1), be_const_static_closure(HASPmota_sort_closure) }, + { be_const_key_weak(sort, -1), be_const_static_closure(class_HASPmota_sort_closure) }, { be_const_key_weak(lvh_btn, 53), be_const_class(be_class_lvh_btn) }, { be_const_key_weak(lvh_img, -1), be_const_class(be_class_lvh_img) }, { be_const_key_weak(lvh_arc, -1), be_const_class(be_class_lvh_arc) }, { be_const_key_weak(lvh_obj, 52), be_const_class(be_class_lvh_obj) }, - { be_const_key_weak(pages_list_sorted, -1), be_const_closure(HASPmota_pages_list_sorted_closure) }, + { be_const_key_weak(pages_list_sorted, -1), be_const_closure(class_HASPmota_pages_list_sorted_closure) }, { be_const_key_weak(def_templ_name, -1), be_nested_str_weak(pages_X2Ejsonl) }, - { be_const_key_weak(get_page_cur, 8), be_const_closure(HASPmota_get_page_cur_closure) }, + { be_const_key_weak(get_page_cur, 8), be_const_closure(class_HASPmota_get_page_cur_closure) }, { be_const_key_weak(lvh_slider, -1), be_const_class(be_class_lvh_slider) }, { be_const_key_weak(lvh_pages, -1), be_const_var(5) }, - { be_const_key_weak(parse_page, -1), be_const_closure(HASPmota_parse_page_closure) }, + { be_const_key_weak(parse_page, -1), be_const_closure(class_HASPmota_parse_page_closure) }, { be_const_key_weak(lvh_dropdown_list, 3), be_const_class(be_class_lvh_dropdown_list) }, { be_const_key_weak(lvh_chart, -1), be_const_class(be_class_lvh_chart) }, { be_const_key_weak(lvh_roller, -1), be_const_class(be_class_lvh_roller) }, { be_const_key_weak(lvh_bar, -1), be_const_class(be_class_lvh_bar) }, - { be_const_key_weak(parse, -1), be_const_closure(HASPmota_parse_closure) }, - { be_const_key_weak(register_event, -1), be_const_closure(HASPmota_register_event_closure) }, + { be_const_key_weak(parse, -1), be_const_closure(class_HASPmota_parse_closure) }, + { be_const_key_weak(register_event, -1), be_const_closure(class_HASPmota_register_event_closure) }, { be_const_key_weak(re_page_target, 31), be_const_var(7) }, { be_const_key_weak(lvh_scale_line, -1), be_const_class(be_class_lvh_scale_line) }, { be_const_key_weak(lvh_line, -1), be_const_class(be_class_lvh_line) }, { be_const_key_weak(lvh_flex, 18), be_const_class(be_class_lvh_flex) }, - { be_const_key_weak(page_show, 38), be_const_closure(HASPmota_page_show_closure) }, + { be_const_key_weak(page_show, 38), be_const_closure(class_HASPmota_page_show_closure) }, { be_const_key_weak(scr, -1), be_const_var(3) }, - { be_const_key_weak(page_dir_to, 11), be_const_closure(HASPmota_page_dir_to_closure) }, + { be_const_key_weak(page_dir_to, 11), be_const_closure(class_HASPmota_page_dir_to_closure) }, { be_const_key_weak(vres, -1), be_const_var(2) }, { be_const_key_weak(lvh_page_cur_idx, 29), be_const_var(6) }, { be_const_key_weak(lvh_dropdown, 19), be_const_class(be_class_lvh_dropdown) }, { be_const_key_weak(hres, -1), be_const_var(1) }, { be_const_key_weak(lvh_spangroup, 14), be_const_class(be_class_lvh_spangroup) }, { be_const_key_weak(lvh_fixed, 13), be_const_class(be_class_lvh_fixed) }, - { be_const_key_weak(do_action, -1), be_const_closure(HASPmota_do_action_closure) }, - { be_const_key_weak(fix_lv_version, -1), be_const_static_closure(HASPmota_fix_lv_version_closure) }, - { be_const_key_weak(init, 4), be_const_closure(HASPmota_init_closure) }, + { be_const_key_weak(do_action, -1), be_const_closure(class_HASPmota_do_action_closure) }, + { be_const_key_weak(fix_lv_version, -1), be_const_static_closure(class_HASPmota_fix_lv_version_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_HASPmota_init_closure) }, { be_const_key_weak(lvh_checkbox, -1), be_const_class(be_class_lvh_checkbox) }, { be_const_key_weak(lvh_label, -1), be_const_class(be_class_lvh_label) }, })), @@ -11542,7 +11576,7 @@ be_local_class(HASPmota, /******************************************************************** ** Solidified function: _anonymous_ ********************************************************************/ -be_local_closure(haspmota__anonymous_, /* name */ +be_local_closure(_anonymous_, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -11550,7 +11584,7 @@ be_local_closure(haspmota__anonymous_, /* name */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ - NULL, /* no sub protos */ + NULL, 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ /* K0 */ be_nested_str_weak(HASPmota), @@ -11576,7 +11610,7 @@ be_local_module(haspmota, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(HASPmota, -1), be_const_class(be_class_HASPmota) }, - { be_const_key_weak(init, -1), be_const_closure(haspmota__anonymous__closure) }, + { be_const_key_weak(init, -1), be_const_closure(_anonymous__closure) }, })) ); BE_EXPORT_VARIABLE be_define_const_native_module(haspmota); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_energy.ino index dc8060649..6622f76f1 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_energy.ino @@ -32,8 +32,8 @@ \*********************************************************************************************/ extern "C" { - int32_t energy_update_total(struct bvm *vm); - int32_t energy_update_total(struct bvm *vm) { + int32_t module_energy_update_total(struct bvm *vm); + int32_t module_energy_update_total(struct bvm *vm) { EnergyUpdateTotal(); be_return_nil(vm); } From c161f63c9ad30386e55cdd4b576479b8f6573ff9 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Fri, 24 May 2024 22:59:19 +0200 Subject: [PATCH 51/88] Berry fix message for borrowed method (solidification) --- lib/libesp32/berry/src/be_solidifylib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libesp32/berry/src/be_solidifylib.c b/lib/libesp32/berry/src/be_solidifylib.c index c26c2a354..78d5c6b41 100644 --- a/lib/libesp32/berry/src/be_solidifylib.c +++ b/lib/libesp32/berry/src/be_solidifylib.c @@ -452,7 +452,7 @@ static void m_solidify_closure(bvm *vm, bbool str_literal, const bclosure *clo, char parentclass_prefix[strlen(parentclass_name) + 10]; snprintf(parentclass_prefix, sizeof(parentclass_prefix), "class_%s", parentclass_name); if (strcmp(parentclass_prefix, prefixname) != 0) { - logfmt("//--> Borrowed method from another class parentclass='%s' prefix='%s'<---\n", parentclass_prefix, prefixname); + logfmt("// Borrowed method '%s' from class '%s'\n", func_name, parentclass_prefix); logfmt("extern bclosure *%s_%s;\n", parentclass_prefix, func_name); return; } From 688f3ffb19f1153e90c1b6e710eab8e23f2ff9b0 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Sat, 25 May 2024 09:23:08 +0200 Subject: [PATCH 52/88] Small changes to berry_custom to better keep the local repository clean (#21491) * keep berry_custom clean with regards to GIT * keep .keep --- lib/libesp32/berry_custom/src/.gitignore | 5 ++++- pio-tools/solidify-from-url.py | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/libesp32/berry_custom/src/.gitignore b/lib/libesp32/berry_custom/src/.gitignore index 13a30a3a9..3031d39a7 100644 --- a/lib/libesp32/berry_custom/src/.gitignore +++ b/lib/libesp32/berry_custom/src/.gitignore @@ -1 +1,4 @@ -_temp* \ No newline at end of file +_temp* + +solidify/* +embedded/* diff --git a/pio-tools/solidify-from-url.py b/pio-tools/solidify-from-url.py index bdd5d564a..5a8d68ad6 100644 --- a/pio-tools/solidify-from-url.py +++ b/pio-tools/solidify-from-url.py @@ -39,10 +39,12 @@ def cleanFolder(): os.remove(join(BERRY_SOLIDIFY_DIR,"src",file)) tempfiles = [f for f in os.listdir(join(BERRY_SOLIDIFY_DIR,"src","embedded")) if ".gitignore" not in f] for file in tempfiles: - os.remove(join(BERRY_SOLIDIFY_DIR,"src","embedded",file)) + if file != ".keep": + os.remove(join(BERRY_SOLIDIFY_DIR,"src","embedded",file)) tempfiles = [f for f in os.listdir(join(BERRY_SOLIDIFY_DIR,"src","solidify")) if ".gitignore" not in f] for file in tempfiles: - os.remove(join(BERRY_SOLIDIFY_DIR,"src","solidify",file)) + if file != ".keep": + os.remove(join(BERRY_SOLIDIFY_DIR,"src","solidify",file)) def addEntryToModtab(source): From 662b84947b8c918b8b25e36d20ae7d2e79716517 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sat, 25 May 2024 13:36:55 +0200 Subject: [PATCH 53/88] ESP32 Platform 24.05.12 (#21493) --- platformio_tasmota32.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 839c02ae9..658a0726e 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -81,7 +81,7 @@ lib_ignore = ${esp32_defaults.lib_ignore} ccronexpr [core32] -platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.05.11/platform-espressif32-2024.05.11.zip +platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.05.12/platform-espressif32.zip platform_packages = build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} From 25a2a469173a5f770019406bb4d0321e4148f5e6 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 25 May 2024 19:51:00 +0200 Subject: [PATCH 54/88] Matter auto-fix IPv6 link-local zone id when network reconnects (#21494) --- CHANGELOG.md | 1 + lib/default/WiFiHelper/src/WiFiHelper.h | 7 ++++ .../WiFiHelper/src/WiFiHelper_ESP32.cpp | 39 +++++++++++++++++++ .../WiFiHelper/src/WiFiHelper_ESP8266.cpp | 2 + tasmota/tasmota_support/support_wifi.ino | 1 + 5 files changed, 50 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55d5a5226..26e2f2c77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ All notable changes to this project will be documented in this file. - Webradio crash with invalid url (#21446) - Zigbee crash when removing `ZbName` (#21449) - ESP32 BLE fix scanning (#21451) +- Matter auto-fix IPv6 link-local zone id when network reconnects ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/lib/default/WiFiHelper/src/WiFiHelper.h b/lib/default/WiFiHelper/src/WiFiHelper.h index 666ceba4d..6abcf583a 100644 --- a/lib/default/WiFiHelper/src/WiFiHelper.h +++ b/lib/default/WiFiHelper/src/WiFiHelper.h @@ -83,6 +83,13 @@ public: // With ESP32 Core3, the WiFi mac address is not valid until the wifi is actually started // this helper function always provide a valid mac address static String macAddress(void); + + // Auto-fix zone + // + // After a reconnect, the zone id may not be valid anymore + // In such case we detect any "%st" or "%en" zone identifier + // and replace with the current zone id + static void IPv6ZoneAutoFix(IPAddress &addr, const char* aHostname); }; diff --git a/lib/default/WiFiHelper/src/WiFiHelper_ESP32.cpp b/lib/default/WiFiHelper/src/WiFiHelper_ESP32.cpp index 6741652e1..000840e81 100644 --- a/lib/default/WiFiHelper/src/WiFiHelper_ESP32.cpp +++ b/lib/default/WiFiHelper/src/WiFiHelper_ESP32.cpp @@ -240,6 +240,44 @@ static void wifi32_dns_found_callback(const char *name, const ip_addr_t *ipaddr, // AddLog(LOG_LEVEL_DEBUG, "WIF: dns_found=%s", ipaddr ? IPAddress(*ipaddr).toString().c_str() : ""); } +// Auto-fix zone +// +// After a reconnect, the zone id may not be valid anymore +// In such case we detect any "%st" or "%en" zone identifier +// and replace with the current zone id +extern bool WifiGetIPv6LinkLocal(IPAddress *ip); +extern bool EthernetGetIPv6LinkLocal(IPAddress *ip); +void WiFiHelper::IPv6ZoneAutoFix(IPAddress &addr, const char* aHostname) { +#ifdef USE_IPV6 + if ((addr.type() == IPv6) && (addr.zone() == 0)) { + // check if hostname contains '%' + const char *zone_identifier = strchr(aHostname, '%'); + if (zone_identifier != nullptr) { + uint8_t zone_id = 0; + // check if zone id is valid + if (strncmp(zone_identifier, "%st", 3) == 0) { + IPAddress wifi_link_local; + if (WifiGetIPv6LinkLocal(&wifi_link_local)) { + zone_id = wifi_link_local.zone(); + } + } else if (strncmp(zone_identifier, "%en", 3) == 0) { + IPAddress eth_link_local; + if (EthernetGetIPv6LinkLocal(ð_link_local)) { + zone_id = eth_link_local.zone(); + } + } + if (zone_id) { + // convert to ip_addr_t which is currently the only way to change the zone_id + ip_addr_t ip_addr; + addr.to_ip_addr_t(&ip_addr); + ip_addr.u_addr.ip6.zone = zone_id; + addr = IPAddress(&ip_addr); + } + } + } +#endif +} + /** * Resolve the given hostname to an IP address. * @param aHostname Name to be resolved @@ -281,6 +319,7 @@ int WiFiHelper::hostByName(const char* aHostname, IPAddress& aResult, int32_t ti if (!ip_addr_isany_val(dns_ipaddr)) { #ifdef USE_IPV6 aResult.from_ip_addr_t(&dns_ipaddr); + WiFiHelper::IPv6ZoneAutoFix(aResult, aHostname); #else // USE_IPV6 aResult = ip_addr_get_ip4_u32(&dns_ipaddr); #endif // USE_IPV6 diff --git a/lib/default/WiFiHelper/src/WiFiHelper_ESP8266.cpp b/lib/default/WiFiHelper/src/WiFiHelper_ESP8266.cpp index ab92e459b..a705585d5 100644 --- a/lib/default/WiFiHelper/src/WiFiHelper_ESP8266.cpp +++ b/lib/default/WiFiHelper/src/WiFiHelper_ESP8266.cpp @@ -77,4 +77,6 @@ String WiFiHelper::macAddress(void) { return WiFi.macAddress(); } +void WiFiHelper::IPv6ZoneAutoFix(IPAddress &addr, const char* aHostname) { +} #endif // ESP8266 diff --git a/tasmota/tasmota_support/support_wifi.ino b/tasmota/tasmota_support/support_wifi.ino index 053f9a913..852664ad4 100644 --- a/tasmota/tasmota_support/support_wifi.ino +++ b/tasmota/tasmota_support/support_wifi.ino @@ -1278,6 +1278,7 @@ bool WifiHostByName(const char* aHostname, IPAddress& aResult) { #if ESP_IDF_VERSION_MAJOR >= 5 // try converting directly to IP if (aResult.fromString(aHostname)) { + WiFiHelper::IPv6ZoneAutoFix(aResult, aHostname); return true; // we're done } #endif From a78169b43ab656393437c990b1226796e1be4ae5 Mon Sep 17 00:00:00 2001 From: btsimonh Date: Sat, 25 May 2024 18:51:46 +0100 Subject: [PATCH 55/88] Webcamshutdown - use FUNC_ABOUT_TO_RESTART (#21462) * use FUNC_ABOUT_TO_RESTART for webcam shutdown in webcamv2 * fix an annoying compile warning - lengths are pre-checked to fit anyway. --- tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino | 6 +++++- tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino index 9ec245ce0..bf36b2f08 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino @@ -3012,7 +3012,10 @@ bool Xdrv99(uint32_t function) { WcSetStreamserver(Settings->webcam_config.stream); WCStartOperationTask(); break; - case FUNC_SAVE_BEFORE_RESTART: { + + case FUNC_ABOUT_TO_RESTART: { + // this code will kill off the cam completely, allowing nice clean restarts + // stop cam clock #ifdef WEBCAM_DEV_DEBUG AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: FUNC_SAVE_BEFORE_RESTART")); @@ -3037,6 +3040,7 @@ bool Xdrv99(uint32_t function) { AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: FUNC_SAVE_BEFORE_RESTART after delay")); #endif } break; + case FUNC_ACTIVE: result = true; break; diff --git a/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino b/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino index cde5b99e7..73a1acaba 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi_ble.ino @@ -2789,7 +2789,7 @@ void HandleMI32Key(){ WSContentSend_P(HTTP_KEY_ADDED, mac, key); - strncat(key, mac, sizeof(key)); + strcat(key, mac); MI32AddKey(key, nullptr); // WSContentSpaceButton(BUTTON_CONFIGURATION); From e56f6a150d40992def56d6b98f4eb156f8528b34 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sun, 26 May 2024 23:05:43 +0200 Subject: [PATCH 56/88] Berry add reuse of methods for interface-like code reuse (#21500) --- CHANGELOG.md | 1 + lib/libesp32/berry/src/be_code.c | 6 +-- lib/libesp32/berry/src/be_code.h | 2 +- lib/libesp32/berry/src/be_debug.c | 2 +- lib/libesp32/berry/src/be_object.h | 10 ++--- lib/libesp32/berry/src/be_opcodes.h | 3 +- lib/libesp32/berry/src/be_parser.c | 53 ++++++++++++++++---------- lib/libesp32/berry/src/be_vm.c | 5 ++- lib/libesp32/berry/tests/set_method.be | 40 +++++++++++++++++++ 9 files changed, 88 insertions(+), 34 deletions(-) create mode 100644 lib/libesp32/berry/tests/set_method.be diff --git a/CHANGELOG.md b/CHANGELOG.md index 26e2f2c77..59e2d3840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file. - Optional command ``WebRun`` (as WebQuery extension) (#21364) - Support for Knx dimmer and color (#21434) - Support for Matter 1.3 Water leak detectors (#21456) +- Berry add reuse of methods for interface-like code reuse ### Breaking Changed diff --git a/lib/libesp32/berry/src/be_code.c b/lib/libesp32/berry/src/be_code.c index d6e1be99e..ba8ea7dba 100644 --- a/lib/libesp32/berry/src/be_code.c +++ b/lib/libesp32/berry/src/be_code.c @@ -695,7 +695,7 @@ static void setsfxvar(bfuncinfo *finfo, bopcode op, bexpdesc *e1, int src) /* e1 must be in a register and have a valid idx */ /* if `keep_reg` is true, do not release register */ /* return 1 if assignment was possible, 0 if type is not compatible */ -int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg) +int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg, bbool ismethod) { /* free_e2 indicates special case where ETINDEX or ETMEMBER need to be freed if top of registers */ bbool free_e2 = (e2->type == ETINDEX || e2->type == ETMEMBER) && (e2->v.ss.idx != e1->v.idx) && (e2->v.ss.idx == finfo->freereg - 1); @@ -729,7 +729,7 @@ int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg) break; case ETMEMBER: /* store to member R(A).RK(B) <- RK(C) */ case ETINDEX: /* store to member R(A)[RK(B)] <- RK(C) */ - setsfxvar(finfo, (e1->type == ETMEMBER) ? OP_SETMBR : OP_SETIDX, e1, src); + setsfxvar(finfo, (e1->type == ETMEMBER) ? (ismethod ? OP_SETMET : OP_SETMBR) : OP_SETIDX, e1, src); if (keep_reg && e2->type == ETREG && e1->v.ss.obj >= be_list_count(finfo->local)) { /* special case of walrus assignemnt when we need to recreate an ETREG */ code_move(finfo, e1->v.ss.obj, src); /* move from ETREG to MEMBER instance*/ @@ -923,7 +923,7 @@ void be_code_import(bfuncinfo *finfo, bexpdesc *m, bexpdesc *v) codeABC(finfo, OP_IMPORT, dst, src, 0); m->type = ETREG; m->v.idx = dst; - be_code_setvar(finfo, v, m, bfalse); + be_code_setvar(finfo, v, m, bfalse, bfalse); } } diff --git a/lib/libesp32/berry/src/be_code.h b/lib/libesp32/berry/src/be_code.h index f0ef2e194..454a1c913 100644 --- a/lib/libesp32/berry/src/be_code.h +++ b/lib/libesp32/berry/src/be_code.h @@ -16,7 +16,7 @@ int be_code_allocregs(bfuncinfo *finfo, int count); void be_code_prebinop(bfuncinfo *finfo, int op, bexpdesc *e); void be_code_binop(bfuncinfo *finfo, int op, bexpdesc *e1, bexpdesc *e2, int dst); int be_code_unop(bfuncinfo *finfo, int op, bexpdesc *e); -int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg); +int be_code_setvar(bfuncinfo *finfo, bexpdesc *e1, bexpdesc *e2, bbool keep_reg, bbool ismethod); int be_code_nextreg(bfuncinfo *finfo, bexpdesc *e); int be_code_jump(bfuncinfo *finfo); void be_code_jumpto(bfuncinfo *finfo, int dst); diff --git a/lib/libesp32/berry/src/be_debug.c b/lib/libesp32/berry/src/be_debug.c index 142c4ea5e..32cb7fbe4 100644 --- a/lib/libesp32/berry/src/be_debug.c +++ b/lib/libesp32/berry/src/be_debug.c @@ -62,7 +62,7 @@ void be_print_inst(binstruction ins, int pc, void* fout) case OP_ADD: case OP_SUB: case OP_MUL: case OP_DIV: case OP_MOD: case OP_LT: case OP_LE: case OP_EQ: case OP_NE: case OP_GT: case OP_GE: case OP_CONNECT: - case OP_GETMBR: case OP_SETMBR: case OP_GETMET: + case OP_GETMBR: case OP_SETMBR: case OP_GETMET: case OP_SETMET: case OP_GETIDX: case OP_SETIDX: case OP_AND: case OP_OR: case OP_XOR: case OP_SHL: case OP_SHR: logbuf("%s\tR%d\t%c%d\t%c%d", opc2str(op), IGET_RA(ins), diff --git a/lib/libesp32/berry/src/be_object.h b/lib/libesp32/berry/src/be_object.h index c7b4b8af6..e386cfa25 100644 --- a/lib/libesp32/berry/src/be_object.h +++ b/lib/libesp32/berry/src/be_object.h @@ -21,7 +21,7 @@ #define BE_FUNCTION 6 #define BE_GCOBJECT 16 /* from this type can be gced */ -#define BE_GCOBJECT_MAX (3<<5) /* from this type can't be gced */ +#define BE_GCOBJECT_MAX (3<<5) /* 96 - from this type can't be gced */ #define BE_STRING 16 #define BE_CLASS 17 @@ -32,10 +32,10 @@ #define BE_MODULE 22 #define BE_COMOBJ 23 /* common object */ -#define BE_NTVFUNC ((0 << 5) | BE_FUNCTION) /* 6 */ -#define BE_CLOSURE ((1 << 5) | BE_FUNCTION) /* 38 */ -#define BE_NTVCLOS ((2 << 5) | BE_FUNCTION) /* 70 */ -#define BE_CTYPE_FUNC ((3 << 5) | BE_FUNCTION) /* 102 */ +#define BE_NTVFUNC ((0 << 5) | BE_FUNCTION) /* 6 - cannot be gced */ +#define BE_CLOSURE ((1 << 5) | BE_FUNCTION) /* 38 - can be gced */ +#define BE_NTVCLOS ((2 << 5) | BE_FUNCTION) /* 70 - can be gced*/ +#define BE_CTYPE_FUNC ((3 << 5) | BE_FUNCTION) /* 102 - cannot be gced */ #define BE_STATIC (1 << 7) /* 128 */ /* values for bproto.varg */ diff --git a/lib/libesp32/berry/src/be_opcodes.h b/lib/libesp32/berry/src/be_opcodes.h index 12c3781e0..ef80fa254 100644 --- a/lib/libesp32/berry/src/be_opcodes.h +++ b/lib/libesp32/berry/src/be_opcodes.h @@ -54,4 +54,5 @@ OPCODE(CATCH), /* A, B, C | ... */ OPCODE(RAISE), /* A, B, C | RAISE(B,C) B is code, C is description. A==0 only B provided, A==1 B and C are provided, A==2 rethrow with both parameters already on stack */ OPCODE(CLASS), /* Bx | init class in K[Bx] */ OPCODE(GETNGBL), /* A, B | R(A) <- GLOBAL[RK(B)] by name */ -OPCODE(SETNGBL) /* A, B | R(A) -> GLOBAL[RK(B)] by name */ +OPCODE(SETNGBL), /* A, B | R(A) -> GLOBAL[RK(B)] by name */ +OPCODE(SETMET), /* A, B, C | R(A).RK(B) <- RK(C) only if R(A) is a class, and RK(C) is marked as non-static */ diff --git a/lib/libesp32/berry/src/be_parser.c b/lib/libesp32/berry/src/be_parser.c index dcb4386b0..1bec0863f 100644 --- a/lib/libesp32/berry/src/be_parser.c +++ b/lib/libesp32/berry/src/be_parser.c @@ -640,7 +640,7 @@ static bproto* funcbody(bparser *parser, bstring *name, bclass *c, int type) new_var(parser, parser_newstr(parser, "_class"), &e1); /* new implicit variable '_class' */ init_exp(&e2, ETCONST, 0); be_code_implicit_class(parser->finfo, &e2, c); - be_code_setvar(parser->finfo, &e1, &e2, bfalse); + be_code_setvar(parser->finfo, &e1, &e2, bfalse, bfalse); finfo.proto->varg |= BE_VA_STATICMETHOD; } stmtlist(parser); /* parse statement without final `end` */ @@ -744,7 +744,7 @@ static void map_nextmember(bparser *parser, bexpdesc *l) match_token(parser, OptColon); /* ':' */ expr(parser, &e); /* value in `e` */ check_var(parser, &e); /* check if value is correct */ - be_code_setvar(finfo, &v, &e, bfalse); /* set suffi INDEX value to e */ + be_code_setvar(finfo, &v, &e, bfalse, bfalse); /* set suffi INDEX value to e */ } static void list_expr(bparser *parser, bexpdesc *e) @@ -1024,7 +1024,7 @@ static void assign_expr(bparser *parser) if (check_newvar(parser, &e)) { /* new variable */ new_var(parser, e.v.s, &e); } - if (be_code_setvar(parser->finfo, &e, &e1, bfalse)) { + if (be_code_setvar(parser->finfo, &e, &e1, bfalse, bfalse)) { parser->lexer.linenumber = line; parser_error(parser, "try to assign constant expressions."); @@ -1127,7 +1127,7 @@ static void walrus_expr(bparser *parser, bexpdesc *e) if (check_newvar(parser, &e1)) { /* new variable */ new_var(parser, e1.v.s, &e1); } - if (be_code_setvar(parser->finfo, &e1, e, btrue /* do not release register */ )) { + if (be_code_setvar(parser->finfo, &e1, e, btrue /* do not release register */, bfalse)) { parser->lexer.linenumber = line; parser_error(parser, "try to assign constant expressions."); @@ -1260,7 +1260,7 @@ static void for_iter(bparser *parser, bstring *var, bexpdesc *it) finfo->binfo->beginpc = finfo->pc; /* itvar = .it() */ init_exp(&e, ETLOCAL, new_localvar(parser, var)); /* new itvar */ - be_code_setvar(finfo, &e, it, bfalse); /* code function to variable '.it' */ + be_code_setvar(finfo, &e, it, bfalse, bfalse); /* code function to variable '.it' */ be_code_call(finfo, e.v.idx, 0); /* itvar <- call .it() */ stmtlist(parser); } @@ -1441,7 +1441,7 @@ static void classvar_stmt(bparser *parser, bclass *c) } } -static void class_static_assignment_expr(bparser *parser, bexpdesc *e, bstring *name) +static void class_static_assignment_expr(bparser *parser, bexpdesc *e, bstring *name, bbool ismethod) { if (match_skip(parser, OptAssign)) { /* '=' */ bexpdesc e1, e2; @@ -1454,22 +1454,32 @@ static void class_static_assignment_expr(bparser *parser, bexpdesc *e, bstring * key.v.s = name; be_code_member(parser->finfo, &e1, &key); /* compute member accessor */ - be_code_setvar(parser->finfo, &e1, &e2, bfalse); /* set member */ + be_code_setvar(parser->finfo, &e1, &e2, bfalse, ismethod); /* set member */ } } -static void classdef_stmt(bparser *parser, bclass *c, bbool is_static) +static void classdef_stmt(bparser *parser, bclass *c, bexpdesc *e, bbool is_static) { - bexpdesc e; + bexpdesc e1; bstring *name; bproto *proto; /* 'def' ID '(' varlist ')' block 'end' */ + /* 'def' ID = funcname */ + /* 'def' ID = classname '.' method */ scan_next_token(parser); /* skip 'def' */ - name = func_name(parser, &e, 1); - check_class_attr(parser, c, name); - proto = funcbody(parser, name, c, is_static ? FUNC_STATIC : FUNC_METHOD); - be_class_method_bind(parser->vm, c, proto->name, proto, is_static); - be_stackpop(parser->vm, 1); + name = func_name(parser, &e1, 1); + check_class_attr(parser, c, name); /* check that we don't redefine an existing name within the class */ + if (next_type(parser) == OptAssign) { + /* 'def' ID = funcname */ + /* 'def' ID = classname '.' method */ + be_class_member_bind(parser->vm, c, name, bfalse); + class_static_assignment_expr(parser, e, name, !is_static); + } else { + /* 'def' ID '(' varlist ')' block 'end' */ + proto = funcbody(parser, name, c, is_static ? FUNC_STATIC : FUNC_METHOD); + be_class_method_bind(parser->vm, c, proto->name, proto, is_static); + be_stackpop(parser->vm, 1); + } } static void classstaticclass_stmt(bparser *parser, bclass *c_out, bexpdesc *e_out); @@ -1479,9 +1489,10 @@ static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e) bstring *name; /* 'static' ['var'] ID ['=' expr] {',' ID ['=' expr] } */ /* 'static' 'def' ID '(' varlist ')' block 'end' */ + /* 'static' 'def' ID '=' func */ scan_next_token(parser); /* skip 'static' */ if (next_type(parser) == KeyDef) { /* 'static' 'def' ... */ - classdef_stmt(parser, c, btrue); + classdef_stmt(parser, c, e, btrue); } else if (next_type(parser) == KeyClass) { /* 'static' 'class' ... */ classstaticclass_stmt(parser, c, e); } else { @@ -1491,13 +1502,13 @@ static void classstatic_stmt(bparser *parser, bclass *c, bexpdesc *e) if (match_id(parser, name) != NULL) { check_class_attr(parser, c, name); be_class_member_bind(parser->vm, c, name, bfalse); - class_static_assignment_expr(parser, e, name); + class_static_assignment_expr(parser, e, name, bfalse); while (match_skip(parser, OptComma)) { /* ',' */ if (match_id(parser, name) != NULL) { check_class_attr(parser, c, name); be_class_member_bind(parser->vm, c, name, bfalse); - class_static_assignment_expr(parser, e, name); + class_static_assignment_expr(parser, e, name, bfalse); } else { parser_error(parser, "class static error"); } @@ -1527,7 +1538,7 @@ static void class_block(bparser *parser, bclass *c, bexpdesc *e) switch (next_type(parser)) { case KeyVar: classvar_stmt(parser, c); break; case KeyStatic: classstatic_stmt(parser, c, e); break; - case KeyDef: classdef_stmt(parser, c, bfalse); break; + case KeyDef: classdef_stmt(parser, c, e, bfalse); break; case OptSemic: scan_next_token(parser); break; default: push_error(parser, "unexpected token '%s'", token2str(parser)); @@ -1554,7 +1565,7 @@ static void class_stmt(bparser *parser) bexpdesc e1; /* if inline class, we add a second local variable for _class */ init_exp(&e1, ETLOCAL, 0); e1.v.idx = new_localvar(parser, class_str); - be_code_setvar(parser->finfo, &e1, &e, 1); + be_code_setvar(parser->finfo, &e1, &e, btrue, bfalse); begin_varinfo(parser, class_str); @@ -1592,7 +1603,7 @@ static void classstaticclass_stmt(bparser *parser, bclass *c_out, bexpdesc *e_ou key.v.s = name; /* assign the class to the static member */ be_code_member(parser->finfo, &e1, &key); /* compute member accessor */ - be_code_setvar(parser->finfo, &e1, &e_class, bfalse); /* set member */ + be_code_setvar(parser->finfo, &e1, &e_class, bfalse, bfalse); /* set member */ } else { parser_error(parser, "class name error"); } @@ -1644,7 +1655,7 @@ static void var_field(bparser *parser) init_exp(&e2, ETNIL, 0); } new_var(parser, name, &e1); /* new variable */ - be_code_setvar(parser->finfo, &e1, &e2, bfalse); + be_code_setvar(parser->finfo, &e1, &e2, bfalse, bfalse); } static void var_stmt(bparser *parser) diff --git a/lib/libesp32/berry/src/be_vm.c b/lib/libesp32/berry/src/be_vm.c index 37352e588..709b84c9e 100644 --- a/lib/libesp32/berry/src/be_vm.c +++ b/lib/libesp32/berry/src/be_vm.c @@ -969,7 +969,7 @@ newframe: /* a new call frame */ } } else if (var_isclass(a)) { /* in this case we have a class in a static or non-static member */ - /* it's always treated like a statif function */ + /* it's always treated like a static function */ a[1] = result; var_settype(a, NOT_METHOD); } else { @@ -994,6 +994,7 @@ newframe: /* a new call frame */ } dispatch(); } + opcase(SETMET): opcase(SETMBR): { #if BE_USE_PERF_COUNTERS vm->counter_set++; @@ -1020,7 +1021,7 @@ newframe: /* a new call frame */ bclass *obj = var_toobj(a); bstring *attr = var_tostr(b); bvalue result = *c; - if (var_isfunction(&result)) { + if (var_isfunction(&result) && (IGET_OP(ins) == OP_SETMBR)) { /* don't mark as static if SETMET was used */ var_markstatic(&result); } if (!be_class_setmember(vm, obj, attr, &result)) { diff --git a/lib/libesp32/berry/tests/set_method.be b/lib/libesp32/berry/tests/set_method.be new file mode 100644 index 000000000..b2fdc5d96 --- /dev/null +++ b/lib/libesp32/berry/tests/set_method.be @@ -0,0 +1,40 @@ +# test setting methods as an external class + +class A + var a + def init(a) + self.a = a + end + def f0(x) return self end + def f1(x) return x end + def f2(x) return self.a end + static def ff0(x) return _class end + static def ff1(x) return x end +end + +class B + var b + def init(b) + self.b = b + end +end + +class C : B + var a + def init(a) + self.a = a + end + + def fc0 = A.f0 + def fc1 = A.f1 + def fc2 = A.f2 + static def ffc0 = A.ff0 + static def ffc1 = A.ff1 +end + +c = C(10) +assert(c.fc0(1) == c) +assert(c.fc1(1) == 1) +assert(c.fc2(1) == 10) +assert(c.ffc0(1) == A) +assert(c.ffc1(1) == 1) From e07b0e42b3f3ec0af76cc30f4627c02dcad614ba Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Mon, 27 May 2024 13:11:54 +0200 Subject: [PATCH 57/88] SML: Fix compile error when median-filter is disabled (#21495) Co-authored-by: Roland Praml --- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index fb8b6698c..e33c324d0 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -3633,7 +3633,11 @@ next_line: sml_globs.sml_mf = (struct SML_MEDIAN_FILTER*)calloc(sml_globs.maxvars, sizeof(struct SML_MEDIAN_FILTER)); #endif - if (!sml_globs.maxvars || !sml_globs.meter_vars || !sml_globs.dvalid || !sml_globs.sml_mf) { + if (!sml_globs.maxvars || !sml_globs.meter_vars || !sml_globs.dvalid +#ifdef USE_SML_MEDIAN_FILTER + || !sml_globs.sml_mf +#endif + ) { AddLog(LOG_LEVEL_INFO, PSTR("sml memory error!")); return; } From 00694abbde1853866d7b0fb0a5f2141344cc8e6e Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 27 May 2024 14:07:18 +0200 Subject: [PATCH 58/88] Update changelogs --- CHANGELOG.md | 11 ++++++++--- RELEASENOTES.md | 8 ++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59e2d3840..078b27c25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ All notable changes to this project will be documented in this file. - Optional command ``WebRun`` (as WebQuery extension) (#21364) - Support for Knx dimmer and color (#21434) - Support for Matter 1.3 Water leak detectors (#21456) -- Berry add reuse of methods for interface-like code reuse +- Berry add reuse of methods for interface-like code reuse (#21500) ### Breaking Changed @@ -18,9 +18,11 @@ All notable changes to this project will be documented in this file. - On universal display remove default backlight power if a PWM channel is used for backlight - Berry binary compiled with gcc (#21426) - GPIOViewer from v1.5.2 to v1.5.3 (No functional change) +- Berry allow easy solidification of external Berry (#21430) - ESP32 I2S audio improvements (#21433) - Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET -- Berry change internal storage of parent class for methods +- Berry change internal storage of parent class for methods (#21490) +- ESP32 Core3 platform update from 2024.05.11 to 2024.05.12 (#21493) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 (#21281) @@ -31,7 +33,10 @@ All notable changes to this project will be documented in this file. - Webradio crash with invalid url (#21446) - Zigbee crash when removing `ZbName` (#21449) - ESP32 BLE fix scanning (#21451) -- Matter auto-fix IPv6 link-local zone id when network reconnects +- I2S APLL not supported on all SOCs (#21483) +- UfsServe watchdog on large folder (#21486) +- Matter auto-fix IPv6 link-local zone id when network reconnects (#21494) +- SML compile error when median-filter is disabled (#21495) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index afc45730b..e5ad9604a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -124,27 +124,35 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) - Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) - Enabled watchdog for ESP32 and variants [#21422](https://github.com/arendst/Tasmota/issues/21422) +- Berry add reuse of methods for interface-like code reuse [#21500](https://github.com/arendst/Tasmota/issues/21500) - Support for Matter 1.3 Water leak detectors [#21456](https://github.com/arendst/Tasmota/issues/21456) ### Breaking Changed ### Changed +- ESP32 Core3 platform update from 2024.05.11 to 2024.05.12 [#21493](https://github.com/arendst/Tasmota/issues/21493) - GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight - Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) - ESP32 I2S audio improvements [#21433](https://github.com/arendst/Tasmota/issues/21433) - Berry binary compiled with gcc [#21426](https://github.com/arendst/Tasmota/issues/21426) +- Berry allow easy solidification of external Berry [#21430](https://github.com/arendst/Tasmota/issues/21430) +- Berry change internal storage of parent class for methods [#21490](https://github.com/arendst/Tasmota/issues/21490) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters [#21401](https://github.com/arendst/Tasmota/issues/21401) - Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) +- UfsServe watchdog on large folder [#21486](https://github.com/arendst/Tasmota/issues/21486) +- SML compile error when median-filter is disabled [#21495](https://github.com/arendst/Tasmota/issues/21495) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) +- I2S APLL not supported on all SOCs [#21483](https://github.com/arendst/Tasmota/issues/21483) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) +- Matter auto-fix IPv6 link-local zone id when network reconnects [#21494](https://github.com/arendst/Tasmota/issues/21494) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) From 33f491a8e62eff02be0a18b4fa348cc6d168be7a Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Mon, 27 May 2024 15:17:09 +0200 Subject: [PATCH 59/88] scan wifi asynchronously (#21498) --- tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index 0dcf52a14..de9b796ba 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -1987,7 +1987,11 @@ void HandleWifiConfiguration(void) { #ifdef USE_EMULATION UdpDisconnect(); #endif // USE_EMULATION - int n = WiFi.scanNetworks(); + int n = WiFi.scanNetworks(true); + while(n<0){ + delay(50); // some magic number - maybe non optimal + n = WiFi.scanComplete(); + } AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_WIFI D_SCAN_DONE)); if (0 == n) { From 0fe893b01d0ab80708c1f134ff14b2b203e49830 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 27 May 2024 15:37:15 +0200 Subject: [PATCH 60/88] Fix unsupported %.2f (#21508) --- tasmota/tasmota_xdrv_driver/xdrv_48_timeprop.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_72_pipsolar.ino | 3 ++- tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino | 2 +- tasmota/tasmota_xsns_sensor/xsns_90_hrg15.ino | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_48_timeprop.ino b/tasmota/tasmota_xdrv_driver/xdrv_48_timeprop.ino index 035bf8869..636b904a3 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_48_timeprop.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_48_timeprop.ino @@ -312,7 +312,7 @@ void ShowValues(void) { ResponseAppend_P(PSTR("\"CycleTime\":%d,"),cycleTimes[i]); ResponseAppend_P(PSTR("\"DeadTime\":%d,"),deadTimes[i]); ResponseAppend_P(PSTR("\"OutputInvert\":%d,"),opInverts[i]); - ResponseAppend_P(PSTR("\"FallbackPower\":%.2f,"),fallbacks[i]); + ResponseAppend_P(PSTR("\"FallbackPower\":%2_f,"),&fallbacks[i]); ResponseAppend_P(PSTR("\"MaxUpdateInterval\":%d"),maxIntervals[i]); ResponseAppend_P(iERROR{m}Success: %u
Error: %u
CurrentError: %u
Max CurrentError: %u
ErrorRate %.2f %%{e}"), PIPSOLAR.successPoll, PIPSOLAR.errorPoll, PIPSOLAR.currentErrorPoll, PIPSOLAR.maxCurrentErrorPoll, percentError); + WSContentSend_PD(PSTR("{s}

ERROR

{m}Success: %u
Error: %u
CurrentError: %u
Max CurrentError: %u
ErrorRate %2_f %%{e}"), + PIPSOLAR.successPoll, PIPSOLAR.errorPoll, PIPSOLAR.currentErrorPoll, PIPSOLAR.maxCurrentErrorPoll, &percentError); #endif // USE_WEBSERVER } } diff --git a/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino b/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino index b702e3d8d..924267e55 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_62_esp32_mi.ino @@ -417,7 +417,7 @@ int MI32_decryptPacket(char * _buf, uint16_t _bufSize, uint8_t * _payload, uint3 br_ccm_run(&ctx, 0, _payload, dataLen); if(br_ccm_check_tag(&ctx, &tag)) return 0; - // AddLog(LOG_LEVEL_DEBUG,PSTR("M32: decrypted in %.2f mSec"),enctime); + // AddLog(LOG_LEVEL_DEBUG,PSTR("M32: decrypted in %2_f mSec"), &enctime); // AddLogBuffer(LOG_LEVEL_DEBUG,(uint8_t*) _payload, dataLen); if(_version == 3 && _payload[1] == 0x10) return 0; // no known way to really verify decryption, but 0x10 is expected here for button events return -1; // wrong key ... maybe corrupt data packet too diff --git a/tasmota/tasmota_xsns_sensor/xsns_90_hrg15.ino b/tasmota/tasmota_xsns_sensor/xsns_90_hrg15.ino index 0f2f45244..0fb34e868 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_90_hrg15.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_90_hrg15.ino @@ -216,10 +216,10 @@ void Rg15Show(bool json) { // if the parsing wasn't completely successful then skip the update if( !isnan(Rg15.acc) && !isnan(Rg15.event) && !isnan(Rg15.total) && !isnan(Rg15.rate) ) { ResponseAppend_P(PSTR(",\"" RG15_NAME "\":{")); - ResponseAppend_P(PSTR("\"%s\":%.2f, "), D_JSON_ACTIVE, Rg15.acc); - ResponseAppend_P(PSTR("\"%s\":%.2f, "), D_JSON_EVENT, Rg15.event); - ResponseAppend_P(PSTR("\"%s\":%.2f, "), D_JSON_TOTAL, Rg15.total); - ResponseAppend_P(PSTR("\"%s\":%.2f"), D_JSON_FLOWRATE, Rg15.rate); + ResponseAppend_P(PSTR("\"%s\":%2_f,"), D_JSON_ACTIVE, &Rg15.acc); + ResponseAppend_P(PSTR("\"%s\":%2_f,"), D_JSON_EVENT, &Rg15.event); + ResponseAppend_P(PSTR("\"%s\":%2_f,"), D_JSON_TOTAL, &Rg15.total); + ResponseAppend_P(PSTR("\"%s\":%2_f"), D_JSON_FLOWRATE, &Rg15.rate); ResponseAppend_P(PSTR("}")); } #ifdef USE_WEBSERVER From 2aa8787884d176f7e63edde524ea946e0b7501c8 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon, 27 May 2024 15:40:16 +0200 Subject: [PATCH 61/88] disable ESP32 WDT (#21509) --- tasmota/my_user_config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 72c8bcb3b..c69d73210 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -1106,7 +1106,7 @@ #ifdef ESP32 -#define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called +//#define USE_ESP32_WDT // Enable Watchdog for ESP32, trigger a restart if loop has not responded for 5s, and if `yield();` was not called #define SET_ESP32_STACK_SIZE (8 * 1024) // Set the stack size for Tasmota. The default value is 8192 for Arduino, some builds might need to increase it From 5085a8bbbb60df7c25551affb781416595e6116f Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 27 May 2024 15:46:15 +0200 Subject: [PATCH 62/88] Bump version v14.0.0.2 --- CHANGELOG.md | 18 +++++++++++++++--- RELEASENOTES.md | 4 ++-- tasmota/include/tasmota_version.h | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 078b27c25..f442c8694 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,20 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - Development -## [14.0.0.1] +## [14.0.0.2] +### Added +- Disabled watchdog for ESP32 and variants (#21509) + +### Breaking Changed + +### Changed + +### Fixed + +### Removed + + +## [14.0.0.1] 20240527 ### Added - Enabled watchdog for ESP32 and variants (#21422) - Optional command ``WebRun`` (as WebQuery extension) (#21364) @@ -11,8 +24,6 @@ All notable changes to this project will be documented in this file. - Support for Matter 1.3 Water leak detectors (#21456) - Berry add reuse of methods for interface-like code reuse (#21500) -### Breaking Changed - ### Changed - ESP32 compiler option from `target-align` to `no-target-align` (#21407) - On universal display remove default backlight power if a PWM channel is used for backlight @@ -37,6 +48,7 @@ All notable changes to this project will be documented in this file. - UfsServe watchdog on large folder (#21486) - Matter auto-fix IPv6 link-local zone id when network reconnects (#21494) - SML compile error when median-filter is disabled (#21495) +- Hydreon RG15 malformed JSON string (#21508) ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 (#21417) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e5ad9604a..9400ca8d3 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -119,11 +119,10 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v14.0.0.1 +## Changelog v14.0.0.2 ### Added - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) - Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) -- Enabled watchdog for ESP32 and variants [#21422](https://github.com/arendst/Tasmota/issues/21422) - Berry add reuse of methods for interface-like code reuse [#21500](https://github.com/arendst/Tasmota/issues/21500) - Support for Matter 1.3 Water leak detectors [#21456](https://github.com/arendst/Tasmota/issues/21456) @@ -146,6 +145,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) - UfsServe watchdog on large folder [#21486](https://github.com/arendst/Tasmota/issues/21486) - SML compile error when median-filter is disabled [#21495](https://github.com/arendst/Tasmota/issues/21495) +- Hydreon RG15 malformed JSON string [#21508](https://github.com/arendst/Tasmota/issues/21508) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) diff --git a/tasmota/include/tasmota_version.h b/tasmota/include/tasmota_version.h index 2f9a1e447..dda041532 100644 --- a/tasmota/include/tasmota_version.h +++ b/tasmota/include/tasmota_version.h @@ -22,6 +22,6 @@ #define TASMOTA_SHA_SHORT // Filled by Github sed -const uint32_t TASMOTA_VERSION = 0x0E000001; // 14.0.0.1 +const uint32_t TASMOTA_VERSION = 0x0E000002; // 14.0.0.2 #endif // _TASMOTA_VERSION_H_ From 0a2990de597e363e02da2fa5c01f4d8601c4cd5e Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Mon, 27 May 2024 18:21:05 +0200 Subject: [PATCH 63/88] Update Telegram CA (Go Daddy Root Certificate Authority - G2) (#21510) --- CHANGELOG.md | 1 + tasmota/my_user_config.h | 2 +- tasmota/tasmota_support/tasmota_ca.ino | 76 +++++++++++++++----------- 3 files changed, 45 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f442c8694..c971d9113 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. ### Breaking Changed ### Changed +- Update Telegram CA (Go Daddy Root Certificate Authority - G2) ### Fixed diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index c69d73210..c51acbd2e 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -460,7 +460,7 @@ // -- Telegram Protocol --------------------------- //#define USE_TELEGRAM // Support for Telegram protocol (+49k code, +7.0k mem and +4.8k additional during connection handshake) - #define USE_TELEGRAM_FINGERPRINT "\xB2\x72\x47\xA6\x69\x8C\x3C\x69\xF9\x58\x6C\xF3\x60\x02\xFB\x83\xFA\x8B\x1F\x23" // Telegram api.telegram.org TLS public key fingerpring + #define USE_TELEGRAM_FINGERPRINT "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" // Telegram api.telegram.org TLS public key fingerpring // -- KNX IP Protocol ----------------------------- //#define USE_KNX // Enable KNX IP Protocol Support (+9.4k code, +3k7 mem) diff --git a/tasmota/tasmota_support/tasmota_ca.ino b/tasmota/tasmota_support/tasmota_ca.ino index 291ea844e..e42f0cb40 100644 --- a/tasmota/tasmota_support/tasmota_ca.ino +++ b/tasmota/tasmota_support/tasmota_ca.ino @@ -225,52 +225,62 @@ const size_t Tasmota_TA_size = nitems(Tasmota_TA); // we add a separate CA for telegram /*********************************************************************************************\ - * GoDaddy Daddy Secure Certificate Authority - G2, RSA 2048 bits SHA 256, valid until 20220523 + * Go Daddy Root Certificate Authority - G2, RSA 2048 bits SHA 256, valid until 20310503 * * to convert do: "brssl ta GoDaddyCA.pem" * then copy and paste below, chain the generic names to the same as below * remove "static" and add "PROGMEM" \*********************************************************************************************/ -const unsigned char GoDaddyCAG2_DN[] PROGMEM = { - 0x30, 0x3E, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, - 0x18, 0x44, 0x6F, 0x6D, 0x61, 0x69, 0x6E, 0x20, 0x43, 0x6F, 0x6E, 0x74, - 0x72, 0x6F, 0x6C, 0x20, 0x56, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, - 0x61, 0x70, 0x69, 0x2E, 0x74, 0x65, 0x6C, 0x65, 0x67, 0x72, 0x61, 0x6D, - 0x2E, 0x6F, 0x72, 0x67 +const unsigned char PROGMEM GoDaddyCAG2_DN[] = { + 0x30, 0x81, 0xB4, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, + 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, + 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7A, 0x6F, 0x6E, 0x61, 0x31, 0x13, + 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0A, 0x53, 0x63, 0x6F, + 0x74, 0x74, 0x73, 0x64, 0x61, 0x6C, 0x65, 0x31, 0x1A, 0x30, 0x18, 0x06, + 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x47, 0x6F, 0x44, 0x61, 0x64, 0x64, + 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x31, + 0x2D, 0x30, 0x2B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x24, 0x68, 0x74, + 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x67, + 0x6F, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, + 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2F, 0x31, 0x33, + 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2A, 0x47, 0x6F, 0x20, + 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2D, + 0x20, 0x47, 0x32 }; -const unsigned char GoDaddyCAG2_RSA_N[] PROGMEM = { - 0xB4, 0xA3, 0x16, 0x9E, 0x5C, 0x57, 0xC9, 0x89, 0x65, 0xED, 0xEA, 0x78, - 0x0B, 0xAE, 0x8A, 0x58, 0x2F, 0xAE, 0x5A, 0xC8, 0x6E, 0x49, 0x8D, 0xFC, - 0x57, 0xA5, 0x98, 0x88, 0x78, 0x2E, 0x0B, 0x3C, 0x40, 0x3C, 0x21, 0x2E, - 0x9A, 0x94, 0x98, 0x33, 0xA7, 0xE3, 0x42, 0xA7, 0x85, 0xFA, 0xD0, 0x73, - 0x84, 0x01, 0x1C, 0x72, 0x39, 0x37, 0x23, 0xB5, 0x56, 0x1D, 0x43, 0xA5, - 0x71, 0x14, 0x08, 0x24, 0xA5, 0x39, 0xCC, 0xDE, 0x58, 0x53, 0x94, 0x8E, - 0x2A, 0x42, 0xA7, 0x4E, 0x2D, 0x07, 0x32, 0x9E, 0xBA, 0x8B, 0xD3, 0x2A, - 0xA9, 0x9E, 0xC0, 0xE3, 0xCE, 0x9A, 0x10, 0x96, 0x45, 0x58, 0x7A, 0xC7, - 0x1E, 0x45, 0x14, 0x23, 0x92, 0xBB, 0x54, 0x82, 0x88, 0x94, 0x49, 0xB6, - 0xBE, 0x81, 0x21, 0x00, 0x29, 0x6D, 0xC9, 0xCE, 0x8B, 0x39, 0x3A, 0xDC, - 0x35, 0x15, 0xD9, 0xEB, 0x47, 0x9C, 0xEF, 0xBA, 0x09, 0x0E, 0x16, 0xE4, - 0xD9, 0xEB, 0x72, 0x30, 0xFA, 0x49, 0xAB, 0x98, 0x31, 0x7C, 0xB3, 0xAC, - 0x2B, 0x29, 0x91, 0x87, 0x08, 0x41, 0x72, 0x5E, 0x35, 0xC7, 0x87, 0x04, - 0x22, 0xF5, 0x48, 0x76, 0x30, 0x6D, 0x88, 0xDF, 0xF2, 0xA5, 0x29, 0x13, - 0x70, 0xB3, 0x87, 0x02, 0xD5, 0x6B, 0x58, 0xB1, 0xE8, 0x73, 0xC7, 0xE4, - 0xEF, 0x79, 0x86, 0xA4, 0x07, 0x5F, 0x67, 0xB4, 0x79, 0x8D, 0xA4, 0x25, - 0x01, 0x82, 0x8C, 0xE0, 0x30, 0x17, 0xCB, 0x4B, 0x5C, 0xFB, 0xEB, 0x4C, - 0x12, 0x51, 0xB9, 0xC9, 0x04, 0x1F, 0x7E, 0xD2, 0xF8, 0xBA, 0xF5, 0x35, - 0x8D, 0x8A, 0x1C, 0x37, 0x82, 0xF0, 0x15, 0x73, 0x00, 0x6E, 0x3D, 0x1C, - 0x76, 0x8B, 0x01, 0x74, 0x81, 0x3D, 0xE4, 0x2C, 0xA7, 0xCC, 0x2F, 0x66, - 0xDC, 0x44, 0xA8, 0x27, 0x3F, 0xEA, 0xD0, 0xA7, 0xA8, 0xF1, 0xCB, 0xEA, - 0xDA, 0x07, 0x38, 0xBD +const unsigned char PROGMEM GoDaddyCAG2_RSA_N[] = { + 0xB9, 0xE0, 0xCB, 0x10, 0xD4, 0xAF, 0x76, 0xBD, 0xD4, 0x93, 0x62, 0xEB, + 0x30, 0x64, 0xB8, 0x81, 0x08, 0x6C, 0xC3, 0x04, 0xD9, 0x62, 0x17, 0x8E, + 0x2F, 0xFF, 0x3E, 0x65, 0xCF, 0x8F, 0xCE, 0x62, 0xE6, 0x3C, 0x52, 0x1C, + 0xDA, 0x16, 0x45, 0x4B, 0x55, 0xAB, 0x78, 0x6B, 0x63, 0x83, 0x62, 0x90, + 0xCE, 0x0F, 0x69, 0x6C, 0x99, 0xC8, 0x1A, 0x14, 0x8B, 0x4C, 0xCC, 0x45, + 0x33, 0xEA, 0x88, 0xDC, 0x9E, 0xA3, 0xAF, 0x2B, 0xFE, 0x80, 0x61, 0x9D, + 0x79, 0x57, 0xC4, 0xCF, 0x2E, 0xF4, 0x3F, 0x30, 0x3C, 0x5D, 0x47, 0xFC, + 0x9A, 0x16, 0xBC, 0xC3, 0x37, 0x96, 0x41, 0x51, 0x8E, 0x11, 0x4B, 0x54, + 0xF8, 0x28, 0xBE, 0xD0, 0x8C, 0xBE, 0xF0, 0x30, 0x38, 0x1E, 0xF3, 0xB0, + 0x26, 0xF8, 0x66, 0x47, 0x63, 0x6D, 0xDE, 0x71, 0x26, 0x47, 0x8F, 0x38, + 0x47, 0x53, 0xD1, 0x46, 0x1D, 0xB4, 0xE3, 0xDC, 0x00, 0xEA, 0x45, 0xAC, + 0xBD, 0xBC, 0x71, 0xD9, 0xAA, 0x6F, 0x00, 0xDB, 0xDB, 0xCD, 0x30, 0x3A, + 0x79, 0x4F, 0x5F, 0x4C, 0x47, 0xF8, 0x1D, 0xEF, 0x5B, 0xC2, 0xC4, 0x9D, + 0x60, 0x3B, 0xB1, 0xB2, 0x43, 0x91, 0xD8, 0xA4, 0x33, 0x4E, 0xEA, 0xB3, + 0xD6, 0x27, 0x4F, 0xAD, 0x25, 0x8A, 0xA5, 0xC6, 0xF4, 0xD5, 0xD0, 0xA6, + 0xAE, 0x74, 0x05, 0x64, 0x57, 0x88, 0xB5, 0x44, 0x55, 0xD4, 0x2D, 0x2A, + 0x3A, 0x3E, 0xF8, 0xB8, 0xBD, 0xE9, 0x32, 0x0A, 0x02, 0x94, 0x64, 0xC4, + 0x16, 0x3A, 0x50, 0xF1, 0x4A, 0xAE, 0xE7, 0x79, 0x33, 0xAF, 0x0C, 0x20, + 0x07, 0x7F, 0xE8, 0xDF, 0x04, 0x39, 0xC2, 0x69, 0x02, 0x6C, 0x63, 0x52, + 0xFA, 0x77, 0xC1, 0x1B, 0xC8, 0x74, 0x87, 0xC8, 0xB9, 0x93, 0x18, 0x50, + 0x54, 0x35, 0x4B, 0x69, 0x4E, 0xBC, 0x3B, 0xD3, 0x49, 0x2E, 0x1F, 0xDC, + 0xC1, 0xD2, 0x52, 0xFB }; -const unsigned char GoDaddyCAG2_RSA_E[] PROGMEM = { +const unsigned char PROGMEM GoDaddyCAG2_RSA_E[] = { 0x01, 0x00, 0x01 }; -const br_x509_trust_anchor GoDaddyCAG2_TA PROGMEM = { +const br_x509_trust_anchor PROGMEM GoDaddyCAG2_TA = { { (unsigned char *)GoDaddyCAG2_DN, sizeof GoDaddyCAG2_DN }, 0, { From bb406422258df793a16dc416c43d515fe1e2f737 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Mon, 27 May 2024 22:31:27 +0200 Subject: [PATCH 64/88] Fix Telegram TLS fingerprint, remove CA validation (#21514) --- CHANGELOG.md | 1 + tasmota/my_user_config.h | 2 +- tasmota/tasmota_support/tasmota_ca.ino | 132 +++++++++--------- .../tasmota_xdrv_driver/xdrv_40_telegram.ino | 22 ++- 4 files changed, 83 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c971d9113..3d6eef6be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file. - Update Telegram CA (Go Daddy Root Certificate Authority - G2) ### Fixed +- Telegram TLS fingerprint, remove CA validation ### Removed diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index c51acbd2e..8bc62baae 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -460,7 +460,7 @@ // -- Telegram Protocol --------------------------- //#define USE_TELEGRAM // Support for Telegram protocol (+49k code, +7.0k mem and +4.8k additional during connection handshake) - #define USE_TELEGRAM_FINGERPRINT "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" // Telegram api.telegram.org TLS public key fingerpring + #define USE_TELEGRAM_FINGERPRINT "\x4E\x7F\xF5\x6D\x1E\x29\x40\x58\xAB\x84\xDE\x63\x69\x7B\xCD\xDF\x44\x2E\xD2\xF6" // Telegram api.telegram.org TLS public key fingerpring // -- KNX IP Protocol ----------------------------- //#define USE_KNX // Enable KNX IP Protocol Support (+9.4k code, +3k7 mem) diff --git a/tasmota/tasmota_support/tasmota_ca.ino b/tasmota/tasmota_support/tasmota_ca.ino index e42f0cb40..c5056218c 100644 --- a/tasmota/tasmota_support/tasmota_ca.ino +++ b/tasmota/tasmota_support/tasmota_ca.ino @@ -220,77 +220,77 @@ const br_x509_trust_anchor PROGMEM Tasmota_TA[] = { const size_t Tasmota_TA_size = nitems(Tasmota_TA); -#if defined(USE_TELEGRAM) +// #if defined(USE_TELEGRAM) -// we add a separate CA for telegram +// // we add a separate CA for telegram -/*********************************************************************************************\ - * Go Daddy Root Certificate Authority - G2, RSA 2048 bits SHA 256, valid until 20310503 - * - * to convert do: "brssl ta GoDaddyCA.pem" - * then copy and paste below, chain the generic names to the same as below - * remove "static" and add "PROGMEM" -\*********************************************************************************************/ +// /*********************************************************************************************\ +// * Go Daddy Root Certificate Authority - G2, RSA 2048 bits SHA 256, valid until 20310503 +// * +// * to convert do: "brssl ta GoDaddyCA.pem" +// * then copy and paste below, chain the generic names to the same as below +// * remove "static" and add "PROGMEM" +// \*********************************************************************************************/ -const unsigned char PROGMEM GoDaddyCAG2_DN[] = { - 0x30, 0x81, 0xB4, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, - 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, - 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7A, 0x6F, 0x6E, 0x61, 0x31, 0x13, - 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0A, 0x53, 0x63, 0x6F, - 0x74, 0x74, 0x73, 0x64, 0x61, 0x6C, 0x65, 0x31, 0x1A, 0x30, 0x18, 0x06, - 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x47, 0x6F, 0x44, 0x61, 0x64, 0x64, - 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x31, - 0x2D, 0x30, 0x2B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x24, 0x68, 0x74, - 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x67, - 0x6F, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, - 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2F, 0x31, 0x33, - 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2A, 0x47, 0x6F, 0x20, - 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2D, - 0x20, 0x47, 0x32 -}; +// const unsigned char PROGMEM GoDaddyCAG2_DN[] = { +// 0x30, 0x81, 0xB4, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, +// 0x13, 0x02, 0x55, 0x53, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, +// 0x08, 0x13, 0x07, 0x41, 0x72, 0x69, 0x7A, 0x6F, 0x6E, 0x61, 0x31, 0x13, +// 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0A, 0x53, 0x63, 0x6F, +// 0x74, 0x74, 0x73, 0x64, 0x61, 0x6C, 0x65, 0x31, 0x1A, 0x30, 0x18, 0x06, +// 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x47, 0x6F, 0x44, 0x61, 0x64, 0x64, +// 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x31, +// 0x2D, 0x30, 0x2B, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x24, 0x68, 0x74, +// 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2E, 0x67, +// 0x6F, 0x64, 0x61, 0x64, 0x64, 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, +// 0x65, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x6F, 0x72, 0x79, 0x2F, 0x31, 0x33, +// 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2A, 0x47, 0x6F, 0x20, +// 0x44, 0x61, 0x64, 0x64, 0x79, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, +// 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, +// 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2D, +// 0x20, 0x47, 0x32 +// }; -const unsigned char PROGMEM GoDaddyCAG2_RSA_N[] = { - 0xB9, 0xE0, 0xCB, 0x10, 0xD4, 0xAF, 0x76, 0xBD, 0xD4, 0x93, 0x62, 0xEB, - 0x30, 0x64, 0xB8, 0x81, 0x08, 0x6C, 0xC3, 0x04, 0xD9, 0x62, 0x17, 0x8E, - 0x2F, 0xFF, 0x3E, 0x65, 0xCF, 0x8F, 0xCE, 0x62, 0xE6, 0x3C, 0x52, 0x1C, - 0xDA, 0x16, 0x45, 0x4B, 0x55, 0xAB, 0x78, 0x6B, 0x63, 0x83, 0x62, 0x90, - 0xCE, 0x0F, 0x69, 0x6C, 0x99, 0xC8, 0x1A, 0x14, 0x8B, 0x4C, 0xCC, 0x45, - 0x33, 0xEA, 0x88, 0xDC, 0x9E, 0xA3, 0xAF, 0x2B, 0xFE, 0x80, 0x61, 0x9D, - 0x79, 0x57, 0xC4, 0xCF, 0x2E, 0xF4, 0x3F, 0x30, 0x3C, 0x5D, 0x47, 0xFC, - 0x9A, 0x16, 0xBC, 0xC3, 0x37, 0x96, 0x41, 0x51, 0x8E, 0x11, 0x4B, 0x54, - 0xF8, 0x28, 0xBE, 0xD0, 0x8C, 0xBE, 0xF0, 0x30, 0x38, 0x1E, 0xF3, 0xB0, - 0x26, 0xF8, 0x66, 0x47, 0x63, 0x6D, 0xDE, 0x71, 0x26, 0x47, 0x8F, 0x38, - 0x47, 0x53, 0xD1, 0x46, 0x1D, 0xB4, 0xE3, 0xDC, 0x00, 0xEA, 0x45, 0xAC, - 0xBD, 0xBC, 0x71, 0xD9, 0xAA, 0x6F, 0x00, 0xDB, 0xDB, 0xCD, 0x30, 0x3A, - 0x79, 0x4F, 0x5F, 0x4C, 0x47, 0xF8, 0x1D, 0xEF, 0x5B, 0xC2, 0xC4, 0x9D, - 0x60, 0x3B, 0xB1, 0xB2, 0x43, 0x91, 0xD8, 0xA4, 0x33, 0x4E, 0xEA, 0xB3, - 0xD6, 0x27, 0x4F, 0xAD, 0x25, 0x8A, 0xA5, 0xC6, 0xF4, 0xD5, 0xD0, 0xA6, - 0xAE, 0x74, 0x05, 0x64, 0x57, 0x88, 0xB5, 0x44, 0x55, 0xD4, 0x2D, 0x2A, - 0x3A, 0x3E, 0xF8, 0xB8, 0xBD, 0xE9, 0x32, 0x0A, 0x02, 0x94, 0x64, 0xC4, - 0x16, 0x3A, 0x50, 0xF1, 0x4A, 0xAE, 0xE7, 0x79, 0x33, 0xAF, 0x0C, 0x20, - 0x07, 0x7F, 0xE8, 0xDF, 0x04, 0x39, 0xC2, 0x69, 0x02, 0x6C, 0x63, 0x52, - 0xFA, 0x77, 0xC1, 0x1B, 0xC8, 0x74, 0x87, 0xC8, 0xB9, 0x93, 0x18, 0x50, - 0x54, 0x35, 0x4B, 0x69, 0x4E, 0xBC, 0x3B, 0xD3, 0x49, 0x2E, 0x1F, 0xDC, - 0xC1, 0xD2, 0x52, 0xFB -}; +// const unsigned char PROGMEM GoDaddyCAG2_RSA_N[] = { +// 0xB9, 0xE0, 0xCB, 0x10, 0xD4, 0xAF, 0x76, 0xBD, 0xD4, 0x93, 0x62, 0xEB, +// 0x30, 0x64, 0xB8, 0x81, 0x08, 0x6C, 0xC3, 0x04, 0xD9, 0x62, 0x17, 0x8E, +// 0x2F, 0xFF, 0x3E, 0x65, 0xCF, 0x8F, 0xCE, 0x62, 0xE6, 0x3C, 0x52, 0x1C, +// 0xDA, 0x16, 0x45, 0x4B, 0x55, 0xAB, 0x78, 0x6B, 0x63, 0x83, 0x62, 0x90, +// 0xCE, 0x0F, 0x69, 0x6C, 0x99, 0xC8, 0x1A, 0x14, 0x8B, 0x4C, 0xCC, 0x45, +// 0x33, 0xEA, 0x88, 0xDC, 0x9E, 0xA3, 0xAF, 0x2B, 0xFE, 0x80, 0x61, 0x9D, +// 0x79, 0x57, 0xC4, 0xCF, 0x2E, 0xF4, 0x3F, 0x30, 0x3C, 0x5D, 0x47, 0xFC, +// 0x9A, 0x16, 0xBC, 0xC3, 0x37, 0x96, 0x41, 0x51, 0x8E, 0x11, 0x4B, 0x54, +// 0xF8, 0x28, 0xBE, 0xD0, 0x8C, 0xBE, 0xF0, 0x30, 0x38, 0x1E, 0xF3, 0xB0, +// 0x26, 0xF8, 0x66, 0x47, 0x63, 0x6D, 0xDE, 0x71, 0x26, 0x47, 0x8F, 0x38, +// 0x47, 0x53, 0xD1, 0x46, 0x1D, 0xB4, 0xE3, 0xDC, 0x00, 0xEA, 0x45, 0xAC, +// 0xBD, 0xBC, 0x71, 0xD9, 0xAA, 0x6F, 0x00, 0xDB, 0xDB, 0xCD, 0x30, 0x3A, +// 0x79, 0x4F, 0x5F, 0x4C, 0x47, 0xF8, 0x1D, 0xEF, 0x5B, 0xC2, 0xC4, 0x9D, +// 0x60, 0x3B, 0xB1, 0xB2, 0x43, 0x91, 0xD8, 0xA4, 0x33, 0x4E, 0xEA, 0xB3, +// 0xD6, 0x27, 0x4F, 0xAD, 0x25, 0x8A, 0xA5, 0xC6, 0xF4, 0xD5, 0xD0, 0xA6, +// 0xAE, 0x74, 0x05, 0x64, 0x57, 0x88, 0xB5, 0x44, 0x55, 0xD4, 0x2D, 0x2A, +// 0x3A, 0x3E, 0xF8, 0xB8, 0xBD, 0xE9, 0x32, 0x0A, 0x02, 0x94, 0x64, 0xC4, +// 0x16, 0x3A, 0x50, 0xF1, 0x4A, 0xAE, 0xE7, 0x79, 0x33, 0xAF, 0x0C, 0x20, +// 0x07, 0x7F, 0xE8, 0xDF, 0x04, 0x39, 0xC2, 0x69, 0x02, 0x6C, 0x63, 0x52, +// 0xFA, 0x77, 0xC1, 0x1B, 0xC8, 0x74, 0x87, 0xC8, 0xB9, 0x93, 0x18, 0x50, +// 0x54, 0x35, 0x4B, 0x69, 0x4E, 0xBC, 0x3B, 0xD3, 0x49, 0x2E, 0x1F, 0xDC, +// 0xC1, 0xD2, 0x52, 0xFB +// }; -const unsigned char PROGMEM GoDaddyCAG2_RSA_E[] = { - 0x01, 0x00, 0x01 -}; +// const unsigned char PROGMEM GoDaddyCAG2_RSA_E[] = { +// 0x01, 0x00, 0x01 +// }; -const br_x509_trust_anchor PROGMEM GoDaddyCAG2_TA = { - { (unsigned char *)GoDaddyCAG2_DN, sizeof GoDaddyCAG2_DN }, - 0, - { - BR_KEYTYPE_RSA, - { .rsa = { - (unsigned char *)GoDaddyCAG2_RSA_N, sizeof GoDaddyCAG2_RSA_N, - (unsigned char *)GoDaddyCAG2_RSA_E, sizeof GoDaddyCAG2_RSA_E, - } } - } -}; -#endif +// const br_x509_trust_anchor PROGMEM GoDaddyCAG2_TA = { +// { (unsigned char *)GoDaddyCAG2_DN, sizeof GoDaddyCAG2_DN }, +// 0, +// { +// BR_KEYTYPE_RSA, +// { .rsa = { +// (unsigned char *)GoDaddyCAG2_RSA_N, sizeof GoDaddyCAG2_RSA_N, +// (unsigned char *)GoDaddyCAG2_RSA_E, sizeof GoDaddyCAG2_RSA_E, +// } } +// } +// }; +// #endif #endif // defined(USE_TLS) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino index fddd5eed3..5ab39c972 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino @@ -83,11 +83,11 @@ bool TelegramInit(void) { if (!telegramClient) { telegramClient = new BearSSL::WiFiClientSecure_light(tls_rx_size, tls_tx_size); - if (Settings->flag5.tls_use_fingerprint) { // SetOption132 - (TLS) Use fingerprint validation instead of CA based - telegramClient->setPubKeyFingerprint(Telegram_Fingerprint, Telegram_Fingerprint, false); // check server fingerprint - } else { - telegramClient->setTrustAnchor(&GoDaddyCAG2_TA, 1); - } + // if (Settings->flag5.tls_use_fingerprint) { // SetOption132 - (TLS) Use fingerprint validation instead of CA based + telegramClient->setPubKeyFingerprint(Telegram_Fingerprint, Telegram_Fingerprint, false); // check server fingerprint + // } else { + // telegramClient->setTrustAnchor(&GoDaddyCAG2_TA, 1); + // } Telegram.message_count = 0; // Number of received messages Telegram.next_update_id = 0; // Code of last read Message @@ -113,8 +113,8 @@ String TelegramConnectToTelegram(const String &command) { uint32_t tls_connect_time = millis(); if (telegramClient->connect(host.c_str(), 443)) { -// AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Connected in %d ms, max ThunkStack used %d"), millis() - tls_connect_time, telegramClient->getMaxThunkStackUse()); - + AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Connected in %d ms, max ThunkStack used %d"), millis() - tls_connect_time, telegramClient->getMaxThunkStackUse()); + // telegramClient->println("GET /"+command); // Fails after 20210621 String request = "GET /" + command + " HTTP/1.1\r\nHost: " + host + "\r\nConnection: close\r\n\r\n"; telegramClient->print(request); @@ -155,6 +155,14 @@ String TelegramConnectToTelegram(const String &command) { } telegramClient->stop(); + } else { + AddLog(LOG_LEVEL_INFO, PSTR("TGM: TLS connection error: %d"), telegramClient->getLastError()); + + const uint8_t *recv_fingerprint = telegramClient->getRecvPubKeyFingerprint(); + // create a printable version of the fingerprint received + char buf_fingerprint[64]; + ToHex_P(recv_fingerprint, 20, buf_fingerprint, sizeof(buf_fingerprint), ' '); + AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Telegram fingerprint: %s"), buf_fingerprint); } return response; From 7b478f718ca391aa45537e5dea669800a864c3e8 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 27 May 2024 22:47:08 +0200 Subject: [PATCH 65/88] Update changelogs --- CHANGELOG.md | 2 +- RELEASENOTES.md | 1 + tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d6eef6be..da11df8ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ All notable changes to this project will be documented in this file. - Update Telegram CA (Go Daddy Root Certificate Authority - G2) ### Fixed -- Telegram TLS fingerprint, remove CA validation +- Telegram TLS fingerprint, remove CA validation (#21514) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 9400ca8d3..db05707ad 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -146,6 +146,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - UfsServe watchdog on large folder [#21486](https://github.com/arendst/Tasmota/issues/21486) - SML compile error when median-filter is disabled [#21495](https://github.com/arendst/Tasmota/issues/21495) - Hydreon RG15 malformed JSON string [#21508](https://github.com/arendst/Tasmota/issues/21508) +- Telegram TLS fingerprint, remove CA validation [#21514](https://github.com/arendst/Tasmota/issues/21514) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino index 5ab39c972..97cc6be36 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino @@ -35,7 +35,7 @@ * * Tested with defines * #define USE_TELEGRAM // Support for Telegram protocol - * #define USE_TELEGRAM_FINGERPRINT "\xB2\x72\x47\xA6\x69\x8C\x3C\x69\xF9\x58\x6C\xF3\x60\x02\xFB\x83\xFA\x8B\x1F\x23" // Telegram api.telegram.org TLS public key fingerpring + * #define USE_TELEGRAM_FINGERPRINT "\x4E\x7F\xF5\x6D\x1E\x29\x40\x58\xAB\x84\xDE\x63\x69\x7B\xCD\xDF\x44\x2E\xD2\xF6" // Telegram api.telegram.org TLS public key fingerpring \*********************************************************************************************/ #define XDRV_40 40 @@ -113,7 +113,7 @@ String TelegramConnectToTelegram(const String &command) { uint32_t tls_connect_time = millis(); if (telegramClient->connect(host.c_str(), 443)) { - AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Connected in %d ms, max ThunkStack used %d"), millis() - tls_connect_time, telegramClient->getMaxThunkStackUse()); + AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: Connected in %d ms, max ThunkStack used %d"), millis() - tls_connect_time, telegramClient->getMaxThunkStackUse()); // telegramClient->println("GET /"+command); // Fails after 20210621 String request = "GET /" + command + " HTTP/1.1\r\nHost: " + host + "\r\nConnection: close\r\n\r\n"; @@ -156,13 +156,13 @@ String TelegramConnectToTelegram(const String &command) { telegramClient->stop(); } else { - AddLog(LOG_LEVEL_INFO, PSTR("TGM: TLS connection error: %d"), telegramClient->getLastError()); + AddLog(LOG_LEVEL_INFO, PSTR("TGM: TLS connection error %d"), telegramClient->getLastError()); const uint8_t *recv_fingerprint = telegramClient->getRecvPubKeyFingerprint(); // create a printable version of the fingerprint received char buf_fingerprint[64]; ToHex_P(recv_fingerprint, 20, buf_fingerprint, sizeof(buf_fingerprint), ' '); - AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Telegram fingerprint: %s"), buf_fingerprint); + AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Telegram fingerprint %s"), buf_fingerprint); } return response; From a4dbc57448206d9a893c5c26c44f1f462052e101 Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Tue, 28 May 2024 10:59:57 +0200 Subject: [PATCH 66/88] multiple fixes (#21511) --- .../ESP8266Audio/src/AudioGeneratorMP3.cpp | 8 +- .../ESP8266Audio/src/AudioOutputMixer.cpp | 2 +- .../xdrv_42_0_i2s_3_lib_idf51.ino | 20 + .../xdrv_42_0_i2s_audio_idf51.ino | 104 +++--- .../xdrv_42_1_i2s_mp3mic_idf51.ino | 348 +++++++++--------- .../xdrv_42_2_i2s_mp3stream_idf51.ino | 2 + .../xdrv_42_7_i2s_webradio_idf51.ino | 5 + 7 files changed, 269 insertions(+), 220 deletions(-) diff --git a/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp b/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp index d962c9e0b..583c60317 100644 --- a/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp +++ b/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp @@ -186,7 +186,9 @@ bool AudioGeneratorMP3::GetOneSample(int16_t sample[2]) // If we're here, we have one decoded frame and sent 0 or more samples out if (samplePtr < synth->pcm.length) { sample[AudioOutput::LEFTCHANNEL ] = synth->pcm.samples[0][samplePtr]; - sample[AudioOutput::RIGHTCHANNEL] = synth->pcm.samples[1][samplePtr]; + if(lastChannels == 2) { + sample[AudioOutput::RIGHTCHANNEL] = synth->pcm.samples[1][samplePtr]; + } samplePtr++; } else { samplePtr = 0; @@ -200,7 +202,9 @@ bool AudioGeneratorMP3::GetOneSample(int16_t sample[2]) } // for IGNORE and CONTINUE, just play what we have now sample[AudioOutput::LEFTCHANNEL ] = synth->pcm.samples[0][samplePtr]; - sample[AudioOutput::RIGHTCHANNEL] = synth->pcm.samples[1][samplePtr]; + if(lastChannels == 2) { + sample[AudioOutput::RIGHTCHANNEL] = synth->pcm.samples[1][samplePtr]; + } samplePtr++; } return true; diff --git a/lib/lib_audio/ESP8266Audio/src/AudioOutputMixer.cpp b/lib/lib_audio/ESP8266Audio/src/AudioOutputMixer.cpp index 57a1c06a6..618bf99ea 100644 --- a/lib/lib_audio/ESP8266Audio/src/AudioOutputMixer.cpp +++ b/lib/lib_audio/ESP8266Audio/src/AudioOutputMixer.cpp @@ -190,7 +190,7 @@ bool AudioOutputMixer::loop() } } if (avail) { - int16_t s[2]; + int16_t s[2] = {0}; if (leftAccum[readPtr] > 32767) { s[LEFTCHANNEL] = 32767; } else if (leftAccum[readPtr] < -32767) { diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino index bce536903..65466f716 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_3_lib_idf51.ino @@ -197,6 +197,7 @@ public: // Tx virtual bool begin(void) { return beginTx(); }; // the name `begin()`is inherited from superclass, prefer `beginTx()` which is more explicit virtual bool stop(void) { return stopTx(); }; // the name `stop()`is inherited from superclass, prefer `stopTx()` which is more explicit + virtual void flush(void); // makes sure that all stored DMA samples are consumed / played to prevent static noise after stop() bool beginTx(void); bool stopTx(void); bool ConsumeSample(int16_t sample[2]); @@ -322,6 +323,11 @@ bool TasmotaI2S::beginTx(void) { } else #endif // SOC_DAC_SUPPORTED { + uint8_t zero_buffer[240] = {0}; + size_t sz; + for(int i = 0;i < 6;i++){ + i2s_channel_preload_data(_tx_handle, zero_buffer, sizeof(zero_buffer), &sz); // preload DMA buffer with silence + } err = i2s_channel_enable(_tx_handle); } AddLog(LOG_LEVEL_INFO, "I2S: Tx i2s_channel_enable err=0x%04X", err); @@ -363,6 +369,20 @@ bool TasmotaI2S::stopTx() { return true; } +void TasmotaI2S::flush() +{ + int buffersize = 6 * 240; + int16_t samples[2] = {0x0, 0x0}; + for (int i = 0; i < buffersize; i++) + { + while (!ConsumeSample(samples)) + { + delay(1); + } + } + AddLog(LOG_LEVEL_INFO, "I2S: flush DMA TX buffer"); +} + bool TasmotaI2S::delTxHandle(void) { esp_err_t err = ESP_OK; AddLog(LOG_LEVEL_DEBUG, "I2S: calling delTxHandle() tx_running:%i tx_handle:%p", _tx_running, _tx_handle); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino index f4a840044..20a5b459c 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_0_i2s_audio_idf51.ino @@ -473,7 +473,7 @@ exit: audio_i2s.in->stopRx(); audio_i2s_mp3.mic_stop = 0; audio_i2s_mp3.mic_error = error; - AddLog(LOG_LEVEL_INFO, PSTR("mp3task result code: %d"), error); + AddLog(LOG_LEVEL_INFO, PSTR("I2S: mp3task result code: %d"), error); audio_i2s_mp3.mic_task_handle = 0; audio_i2s_mp3.recdur = 0; audio_i2s_mp3.stream_active = 0; @@ -484,6 +484,15 @@ exit: int32_t I2sRecordShine(char *path) { esp_err_t err = ESP_OK; + switch(audio_i2s.Settings->rx.sample_rate){ + case 32000: case 48000: case 44100: + break; // supported + default: + AddLog(LOG_LEVEL_INFO, PSTR("I2S: unsupported sample rate for MP3 encoding: %d"), audio_i2s.Settings->rx.sample_rate); + return -1; + } + AddLog(LOG_LEVEL_INFO, PSTR("I2S: accepted sample rate for MP3 encoding: %d"), audio_i2s.Settings->rx.sample_rate); + #ifdef USE_I2S_MP3 if (audio_i2s_mp3.decoder || audio_i2s_mp3.mp3) return 0; #endif @@ -735,8 +744,8 @@ void I2sInit(void) { } if (init_tx_ok) { audio_i2s.out = i2s; } if (init_rx_ok) { audio_i2s.in = i2s; } - audio_i2s.Settings->sys.tx = init_tx_ok; - audio_i2s.Settings->sys.rx = init_rx_ok; + audio_i2s.Settings->sys.tx |= init_tx_ok; // Do not set to zero id already configured on another channnel + audio_i2s.Settings->sys.rx |= init_rx_ok; if (init_tx_ok && init_rx_ok) { audio_i2s.Settings->sys.duplex = true; } // if intput and output are configured, don't proceed with other IS2 ports @@ -750,11 +759,11 @@ void I2sInit(void) { if (audio_i2s.out) { audio_i2s.out->setExclusive(exclusive); } if (audio_i2s.in) { audio_i2s.in->setExclusive(exclusive); } - if(audio_i2s.out != nullptr){ - audio_i2s.out->SetGain(((float)audio_i2s.Settings->tx.gain / 100.0) * 4.0); - audio_i2s.out->beginTx(); // TODO - useful? - audio_i2s.out->stopTx(); - } + // if(audio_i2s.out != nullptr){ + // audio_i2s.out->SetGain(((float)(audio_i2s.Settings->tx.gain + 1)/ 100.0)); + // audio_i2s.out->beginTx(); // TODO - useful? + // audio_i2s.out->stopTx(); + // } #ifdef USE_I2S_MP3 audio_i2s_mp3.mp3ram = nullptr; if (audio_i2s.Settings->sys.mp3_preallocate == 1){ @@ -784,11 +793,21 @@ int32_t I2SPrepareTx(void) { delay(1); } } + + if (audio_i2s_mp3.mic_task_handle) { + audio_i2s_mp3.mic_stop = 1; + while (audio_i2s_mp3.mic_stop) { + delay(1); + } + } AddLog(LOG_LEVEL_DEBUG, "I2S: I2SPrepareTx out=%p", audio_i2s.out); if (!audio_i2s.out) { return I2S_ERR_OUTPUT_NOT_CONFIGURED; } if (!audio_i2s.out->beginTx()) { return I2S_ERR_TX_FAILED; } + + audio_i2s.out->SetGain(((float)(audio_i2s.Settings->tx.gain + 1)/ 100.0)); + return I2S_OK; } @@ -813,21 +832,20 @@ int32_t I2SPrepareRx(void) { #if defined(USE_I2S_MP3) || defined(USE_I2S_WEBRADIO) void I2sMp3Task(void *arg) { - while (1) { - while (audio_i2s_mp3.mp3->isRunning()) { - if (!audio_i2s_mp3.mp3->loop()) { - audio_i2s_mp3.mp3->stop(); - mp3_delete(); - audio_i2s.out->stop(); - if (audio_i2s_mp3.mp3_task_handle) { - vTaskDelete(audio_i2s_mp3.mp3_task_handle); - audio_i2s_mp3.mp3_task_handle = 0; - } - //mp3_task_handle=nullptr; - } - vTaskDelay(pdMS_TO_TICKS(1)); + audio_i2s_mp3.task_running = true; + while (audio_i2s_mp3.mp3->isRunning() && audio_i2s_mp3.task_running) { + if (!audio_i2s_mp3.mp3->loop()) { + audio_i2s_mp3.task_running == false; } + vTaskDelay(pdMS_TO_TICKS(1)); } + audio_i2s.out->flush(); + audio_i2s_mp3.mp3->stop(); + I2sStopPlaying(); + mp3_delete(); + audio_i2s_mp3.mp3_task_handle = nullptr; + audio_i2s_mp3.task_has_ended = true; + vTaskDelete(NULL); } #endif // defined(USE_I2S_MP3) || defined(USE_I2S_WEBRADIO) @@ -851,29 +869,17 @@ void I2sMp3WrTask(void *arg){ vTaskDelay(pdMS_TO_TICKS(1)); } } - audio_i2s_mp3.decoder->stop(); - audio_i2s_mp3.task_has_ended = true; + audio_i2s.out->flush(); I2sStopPlaying(); + audio_i2s_mp3.mp3_task_handle = nullptr; + audio_i2s_mp3.task_has_ended = true; + vTaskDelete(NULL); } -void I2SStopMP3Play(void) { - if (audio_i2s_mp3.decoder) { - audio_i2s_mp3.decoder->stop(); - delete audio_i2s_mp3.decoder; - audio_i2s_mp3.decoder = NULL; - } - - if (audio_i2s_mp3.mp3_task_handle) { - vTaskDelete(audio_i2s_mp3.mp3_task_handle); - audio_i2s_mp3.mp3_task_handle = nullptr; - } -} #endif // USE_I2S_MP3 void I2sStopPlaying() { -#ifdef USE_I2S_MP3 - I2SStopMP3Play(); -#endif // USE_I2S_MP3 + #ifdef USE_I2S_WEBRADIO I2sWebRadioStopPlaying(); #endif @@ -921,7 +927,12 @@ void mp3_delete(void) { delete audio_i2s_mp3.id3; delete audio_i2s_mp3.mp3; audio_i2s_mp3.mp3=nullptr; - I2SAudioPower(false); + + if (audio_i2s_mp3.decoder) { + audio_i2s_mp3.decoder->stop(); + delete audio_i2s_mp3.decoder; + audio_i2s_mp3.decoder = NULL; + } } #endif // USE_I2S_MP3 @@ -959,7 +970,7 @@ void CmndI2SMic(void) { void CmndI2SStop(void) { - if (!I2SPrepareTx()) { + if (I2SPrepareTx() != I2S_OK) { ResponseCmndChar("I2S output not configured"); return; } @@ -1006,7 +1017,7 @@ void CmndI2SGain(void) { if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 100)) { if (audio_i2s.out) { audio_i2s.Settings->tx.gain = XdrvMailbox.payload; - audio_i2s.out->SetGain(((float)(audio_i2s.Settings->tx.gain-2)/100.0)*4.0); + audio_i2s.out->SetGain(((float)(audio_i2s.Settings->tx.gain+1)/100.0)); } } ResponseCmndNumber(audio_i2s.Settings->tx.gain); @@ -1050,8 +1061,12 @@ void CmndI2SMicRec(void) { if (!strncmp(XdrvMailbox.data, "-?", 2)) { Response_P("{\"I2SREC-duration\":%d}", audio_i2s_mp3.recdur); } else { - I2sRecordShine(XdrvMailbox.data); - ResponseCmndChar(XdrvMailbox.data); + int err = I2sRecordShine(XdrvMailbox.data); + if(err == pdPASS){ + ResponseCmndChar(XdrvMailbox.data); + } else { + ResponseCmndChar_P(PSTR("Did not launch recording task")); + } } } else { if (audio_i2s_mp3.mic_task_handle) { @@ -1062,6 +1077,9 @@ void CmndI2SMicRec(void) { } ResponseCmndChar_P(PSTR("Stopped")); } + else { + ResponseCmndChar_P(PSTR("No running recording")); + } } } else{ diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_1_i2s_mp3mic_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_1_i2s_mp3mic_idf51.ino index e846d07b6..3a9e82f63 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_1_i2s_mp3mic_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_1_i2s_mp3mic_idf51.ino @@ -21,219 +21,219 @@ #if defined(ESP32) && ESP_IDF_VERSION_MAJOR >= 5 #ifdef USE_I2S_AUDIO -uint32_t SpeakerMic(uint8_t spkr) { -esp_err_t err = ESP_OK; +// uint32_t SpeakerMic(uint8_t spkr) { +// esp_err_t err = ESP_OK; -// audio_i2s.mode = spkr; - return err; -} +// // audio_i2s.mode = spkr; +// return err; +// } -#ifdef USE_SHINE +// #ifdef USE_SHINE -#include -#include +// #include +// #include -// micro to mp3 file or stream -void mic_task(void *arg){ - int8_t error = 0; - uint8_t *ucp; - int written; - shine_config_t config; - shine_t s = nullptr; - uint16_t samples_per_pass; - File mp3_out = (File)nullptr; - int16_t *buffer = nullptr; - uint16_t bytesize; - uint16_t bwritten; - uint32_t ctime; +// // micro to mp3 file or stream +// void mic_task(void *arg){ +// int8_t error = 0; +// uint8_t *ucp; +// int written; +// shine_config_t config; +// shine_t s = nullptr; +// uint16_t samples_per_pass; +// File mp3_out = (File)nullptr; +// int16_t *buffer = nullptr; +// uint16_t bytesize; +// uint16_t bwritten; +// uint32_t ctime; - if (!audio_i2s_mp3.use_stream) { - mp3_out = ufsp->open(audio_i2s_mp3.mic_path, "w"); - if (!mp3_out) { - error = 1; - goto exit; - } - } else { - if (!audio_i2s_mp3.stream_active) { - error = 2; - audio_i2s_mp3.use_stream = 0; - goto exit; - } - audio_i2s_mp3.client.flush(); - audio_i2s_mp3.client.setTimeout(3); - audio_i2s_mp3.client.print("HTTP/1.1 200 OK\r\n" - "Content-Type: audio/mpeg;\r\n\r\n"); +// if (!audio_i2s_mp3.use_stream) { +// mp3_out = ufsp->open(audio_i2s_mp3.mic_path, "w"); +// if (!mp3_out) { +// error = 1; +// goto exit; +// } +// } else { +// if (!audio_i2s_mp3.stream_active) { +// error = 2; +// audio_i2s_mp3.use_stream = 0; +// goto exit; +// } +// audio_i2s_mp3.client.flush(); +// audio_i2s_mp3.client.setTimeout(3); +// audio_i2s_mp3.client.print("HTTP/1.1 200 OK\r\n" +// "Content-Type: audio/mpeg;\r\n\r\n"); - // Webserver->send(200, "application/octet-stream", ""); - //"Content-Type: audio/mp3;\r\n\r\n"); - } +// // Webserver->send(200, "application/octet-stream", ""); +// //"Content-Type: audio/mp3;\r\n\r\n"); +// } - shine_set_config_mpeg_defaults(&config.mpeg); +// shine_set_config_mpeg_defaults(&config.mpeg); - if (audio_i2s.Settings->rx.channels == 1) { - config.mpeg.mode = MONO; - } else { - config.mpeg.mode = STEREO; - } - config.mpeg.bitr = 128; - config.wave.samplerate = audio_i2s.Settings->rx.sample_rate; - config.wave.channels = (channels)audio_i2s.Settings->rx.channels; +// if (audio_i2s.Settings->rx.channels == 1) { +// config.mpeg.mode = MONO; +// } else { +// config.mpeg.mode = STEREO; +// } +// config.mpeg.bitr = 128; +// config.wave.samplerate = audio_i2s.Settings->rx.sample_rate; +// config.wave.channels = (channels)audio_i2s.Settings->rx.channels; - if (shine_check_config(config.wave.samplerate, config.mpeg.bitr) < 0) { - error = 3; - goto exit; - } +// if (shine_check_config(config.wave.samplerate, config.mpeg.bitr) < 0) { +// error = 3; +// goto exit; +// } - s = shine_initialise(&config); - if (!s) { - error = 4; - goto exit; - } +// s = shine_initialise(&config); +// if (!s) { +// error = 4; +// goto exit; +// } - samples_per_pass = shine_samples_per_pass(s); - bytesize = samples_per_pass * 2 * audio_i2s.Settings->rx.channels; +// samples_per_pass = shine_samples_per_pass(s); +// bytesize = samples_per_pass * 2 * audio_i2s.Settings->rx.channels; - buffer = (int16_t*)malloc(bytesize); - if (!buffer) { - error = 5; - goto exit; - } +// buffer = (int16_t*)malloc(bytesize); +// if (!buffer) { +// error = 5; +// goto exit; +// } - ctime = TasmotaGlobal.uptime; +// ctime = TasmotaGlobal.uptime; - while (!audio_i2s_mp3.mic_stop) { - uint32_t bytes_read; - bytes_read = audio_i2s.in->readMic((uint8_t*)buffer, bytesize, true /*dc_block*/, false /*apply_gain*/, true /*lowpass*/, nullptr /*peak_ptr*/); - // i2s_read(audio_i2s.mic_port, (char *)buffer, bytesize, &bytes_read, (100 / portTICK_PERIOD_MS)); +// while (!audio_i2s_mp3.mic_stop) { +// uint32_t bytes_read; +// bytes_read = audio_i2s.in->readMic((uint8_t*)buffer, bytesize, true /*dc_block*/, false /*apply_gain*/, true /*lowpass*/, nullptr /*peak_ptr*/); +// // i2s_read(audio_i2s.mic_port, (char *)buffer, bytesize, &bytes_read, (100 / portTICK_PERIOD_MS)); - if (audio_i2s.Settings->rx.gain > 1) { - // set gain - for (uint32_t cnt = 0; cnt < bytes_read / 2; cnt++) { - buffer[cnt] *= audio_i2s.Settings->rx.gain; - } - } - ucp = shine_encode_buffer_interleaved(s, buffer, &written); +// if (audio_i2s.Settings->rx.gain > 1) { +// // set gain +// for (uint32_t cnt = 0; cnt < bytes_read / 2; cnt++) { +// buffer[cnt] *= audio_i2s.Settings->rx.gain; +// } +// } +// ucp = shine_encode_buffer_interleaved(s, buffer, &written); - if (!audio_i2s.Settings->tx.stream_enable) { - bwritten = mp3_out.write(ucp, written); - if (bwritten != written) { - break; - } - } else { - audio_i2s_mp3.client.write((const char*)ucp, written); +// if (!audio_i2s.Settings->tx.stream_enable) { +// bwritten = mp3_out.write(ucp, written); +// if (bwritten != written) { +// break; +// } +// } else { +// audio_i2s_mp3.client.write((const char*)ucp, written); - if (!audio_i2s_mp3.client.connected()) { - break; - } - } - audio_i2s_mp3.recdur = TasmotaGlobal.uptime - ctime; - } +// if (!audio_i2s_mp3.client.connected()) { +// break; +// } +// } +// audio_i2s_mp3.recdur = TasmotaGlobal.uptime - ctime; +// } - ucp = shine_flush(s, &written); +// ucp = shine_flush(s, &written); - if (!audio_i2s_mp3.use_stream) { - mp3_out.write(ucp, written); - } else { - audio_i2s_mp3.client.write((const char*)ucp, written); - } +// if (!audio_i2s_mp3.use_stream) { +// mp3_out.write(ucp, written); +// } else { +// audio_i2s_mp3.client.write((const char*)ucp, written); +// } -exit: - if (s) { - shine_close(s); - } - if (mp3_out) { - mp3_out.close(); - } - if (buffer) { - free(buffer); - } +// exit: +// if (s) { +// shine_close(s); +// } +// if (mp3_out) { +// mp3_out.close(); +// } +// if (buffer) { +// free(buffer); +// } - if (audio_i2s_mp3.use_stream) { - audio_i2s_mp3.client.stop(); - } +// if (audio_i2s_mp3.use_stream) { +// audio_i2s_mp3.client.stop(); +// } - SpeakerMic(I2S_AUDIO_MODE_SPK); - audio_i2s_mp3.mic_stop = 0; - audio_i2s_mp3.mic_error = error; - AddLog(LOG_LEVEL_INFO, PSTR("mp3task result code: %d"), error); - audio_i2s_mp3.mic_task_handle = 0; - audio_i2s_mp3.recdur = 0; - audio_i2s_mp3.stream_active = 0; - vTaskDelete(NULL); +// SpeakerMic(I2S_AUDIO_MODE_SPK); +// audio_i2s_mp3.mic_stop = 0; +// audio_i2s_mp3.mic_error = error; +// AddLog(LOG_LEVEL_INFO, PSTR("mp3task result code: %d"), error); +// audio_i2s_mp3.mic_task_handle = 0; +// audio_i2s_mp3.recdur = 0; +// audio_i2s_mp3.stream_active = 0; +// vTaskDelete(NULL); -} +// } -int32_t i2s_record_shine(char *path) { -esp_err_t err = ESP_OK; +// int32_t i2s_record_shine(char *path) { +// esp_err_t err = ESP_OK; - if (audio_i2s.in) { - if (audio_i2s_mp3.decoder || audio_i2s_mp3.mp3) return 0; - } +// if (audio_i2s.in) { +// if (audio_i2s_mp3.decoder || audio_i2s_mp3.mp3) return 0; +// } - err = SpeakerMic(I2S_AUDIO_MODE_MIC); - if (err) { - if (audio_i2s.in) { - SpeakerMic(I2S_AUDIO_MODE_SPK); - } - AddLog(LOG_LEVEL_INFO, PSTR("mic init error: %d"), err); - return err; - } +// err = SpeakerMic(I2S_AUDIO_MODE_MIC); +// if (err) { +// if (audio_i2s.in) { +// SpeakerMic(I2S_AUDIO_MODE_SPK); +// } +// AddLog(LOG_LEVEL_INFO, PSTR("mic init error: %d"), err); +// return err; +// } - strlcpy(audio_i2s_mp3.mic_path, path, sizeof(audio_i2s_mp3.mic_path)); +// strlcpy(audio_i2s_mp3.mic_path, path, sizeof(audio_i2s_mp3.mic_path)); - audio_i2s_mp3.mic_stop = 0; +// audio_i2s_mp3.mic_stop = 0; - uint32_t stack = 4096; +// uint32_t stack = 4096; - audio_i2s_mp3.use_stream = !strcmp(audio_i2s_mp3.mic_path, "stream.mp3"); +// audio_i2s_mp3.use_stream = !strcmp(audio_i2s_mp3.mic_path, "stream.mp3"); - if (audio_i2s_mp3.use_stream) { - stack = 8000; - } +// if (audio_i2s_mp3.use_stream) { +// stack = 8000; +// } - err = xTaskCreatePinnedToCore(mic_task, "MIC", stack, NULL, 3, &audio_i2s_mp3.mic_task_handle, 1); +// err = xTaskCreatePinnedToCore(mic_task, "MIC", stack, NULL, 3, &audio_i2s_mp3.mic_task_handle, 1); - return err; -} +// return err; +// } -void Cmd_MicRec(void) { +// void Cmd_MicRec(void) { - if (XdrvMailbox.data_len > 0) { - if (!strncmp(XdrvMailbox.data, "-?", 2)) { - Response_P("{\"I2SREC-duration\":%d}", audio_i2s_mp3.recdur); - } else { - i2s_record_shine(XdrvMailbox.data); - ResponseCmndChar(XdrvMailbox.data); - } - } else { - if (audio_i2s_mp3.mic_task_handle) { - // stop task - audio_i2s_mp3.mic_stop = 1; - while (audio_i2s_mp3.mic_stop) { - delay(1); - } - ResponseCmndChar_P(PSTR("Stopped")); - } - } +// if (XdrvMailbox.data_len > 0) { +// if (!strncmp(XdrvMailbox.data, "-?", 2)) { +// Response_P("{\"I2SREC-duration\":%d}", audio_i2s_mp3.recdur); +// } else { +// i2s_record_shine(XdrvMailbox.data); +// ResponseCmndChar(XdrvMailbox.data); +// } +// } else { +// if (audio_i2s_mp3.mic_task_handle) { +// // stop task +// audio_i2s_mp3.mic_stop = 1; +// while (audio_i2s_mp3.mic_stop) { +// delay(1); +// } +// ResponseCmndChar_P(PSTR("Stopped")); +// } +// } -} -#endif // USE_SHINE +// } +// #endif // USE_SHINE -// mic gain in factor not percent -void Cmd_MicGain(void) { - if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 256)) { - if (audio_i2s.in) { - audio_i2s.in->setRxGain(XdrvMailbox.payload); - } - if (audio_i2s.Settings) { - audio_i2s.Settings->rx.gain = XdrvMailbox.payload * 16; - } - I2SSettingsSave(AUDIO_CONFIG_FILENAME); - } - ResponseCmndNumber(audio_i2s.Settings->rx.gain / 16); -} +// // mic gain in factor not percent +// void Cmd_MicGain(void) { +// if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 256)) { +// if (audio_i2s.in) { +// audio_i2s.in->setRxGain(XdrvMailbox.payload); +// } +// if (audio_i2s.Settings) { +// audio_i2s.Settings->rx.gain = XdrvMailbox.payload * 16; +// } +// I2SSettingsSave(AUDIO_CONFIG_FILENAME); +// } +// ResponseCmndNumber(audio_i2s.Settings->rx.gain / 16); +// } #endif // USE_I2S_AUDIO #endif // defined(ESP32) && ESP_IDF_VERSION_MAJOR >= 5 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_2_i2s_mp3stream_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_2_i2s_mp3stream_idf51.ino index 0fff1b0e6..aca46360b 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_2_i2s_mp3stream_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_2_i2s_mp3stream_idf51.ino @@ -27,6 +27,7 @@ void Stream_mp3(void) { if (audio_i2s_mp3.stream_active) { + AddLog(LOG_LEVEL_INFO, PSTR("I2S: can not handle client - other MP3 task active")); return; } AddLog(LOG_LEVEL_INFO, PSTR("I2S: Handle mp3server")); @@ -58,6 +59,7 @@ void I2sMp3Init(uint32_t on) { delete audio_i2s_mp3.MP3Server; audio_i2s_mp3.MP3Server = nullptr; audio_i2s_mp3.mic_stop = 1; + audio_i2s_mp3.stream_active = 0; AddLog(LOG_LEVEL_INFO, PSTR("MP3: server deleted")); } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino index c023fb197..1f0a8e7e4 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_7_i2s_webradio_idf51.ino @@ -118,6 +118,11 @@ void CmndI2SWebRadio(void) { void I2sWebRadioStopPlaying() { + if(audio_i2s_mp3.decoder) { + audio_i2s_mp3.decoder->stop(); + delete audio_i2s_mp3.decoder; + audio_i2s_mp3.decoder = nullptr; + } if (Audio_webradio.buff) { Audio_webradio.buff->close(); delete Audio_webradio.buff; From bc6faa733c5b81b66669b8e54e219c6e921847ff Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 28 May 2024 17:47:35 +0200 Subject: [PATCH 67/88] Refactor Telegram --- tasmota/include/tasmota.h | 1 + tasmota/include/tasmota_types.h | 2 +- .../tasmota_xdrv_driver/xdrv_40_telegram.ino | 238 +++++++++++------- 3 files changed, 148 insertions(+), 93 deletions(-) diff --git a/tasmota/include/tasmota.h b/tasmota/include/tasmota.h index 98d6982e1..06a2c9dd3 100644 --- a/tasmota/include/tasmota.h +++ b/tasmota/include/tasmota.h @@ -478,6 +478,7 @@ enum SettingsTextIndex { SET_OTAURL, SET_RGX_SSID, SET_RGX_PASSWORD, SET_INFLUXDB_HOST, SET_INFLUXDB_PORT, SET_INFLUXDB_ORG, SET_INFLUXDB_TOKEN, SET_INFLUXDB_BUCKET, SET_INFLUXDB_RP, SET_CANVAS, + SET_TELEGRAM_FINGERPRINT, SET_MAX, // limit of texts stored in Settings // Index above are not stored in Settings and should be handled specifically in SettingText() SET_BUTTON17, SET_BUTTON18, SET_BUTTON19, SET_BUTTON20, SET_BUTTON21, SET_BUTTON22, SET_BUTTON23, SET_BUTTON24, diff --git a/tasmota/include/tasmota_types.h b/tasmota/include/tasmota_types.h index 680eda700..fd00156fe 100755 --- a/tasmota/include/tasmota_types.h +++ b/tasmota/include/tasmota_types.h @@ -287,7 +287,7 @@ typedef union { uint32_t local_ntp_server : 1; // bit 9 (v11.0.0.4) - CMND_RTCNTPSERVER - Enable local NTP server uint32_t influxdb_sensor : 1; // bit 10 (v11.0.0.5) - CMND_IFXSENSOR - Enable sensor support in addition to teleperiod support uint32_t serbridge_console : 1; // bit 11 (v11.1.0.4) - CMND_SSERIALSEND9 - Enable logging tee to serialbridge - uint32_t spare12 : 1; // bit 12 + uint32_t telegram_disable_af : 1; // bit 12 (v14.0.0.2) - CMND_TMSTATE 6/7 - Disable Telegram auto-fingerprint fix uint32_t spare13 : 1; // bit 13 uint32_t spare14 : 1; // bit 14 uint32_t spare15 : 1; // bit 15 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino index 97cc6be36..edba55b42 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_40_telegram.ino @@ -22,6 +22,8 @@ * Telegram bot * * Supported commands: + * TmFingerprint 1 - Use default fingerprint 4E 7F F5 6D 1E 29 40 58 AB 84 DE 63 69 7B CD DF 44 2E D2 F6 as defined by USE_TELEGRAM_FINGERPRINT + * TmFingerprint - Set fingerprint * TmToken - Add your BotFather created bot token (default none) * TmChatId - Add your BotFather created bot chat id (default none) * TmPoll - Telegram receive poll time (default 10 seconds) @@ -31,6 +33,8 @@ * TmState 3 - Enable telegram listener * TmState 4 - Disable telegram response echo (default) * TmState 5 - Enable telegram response echo + * TmState 6 - Enable telegram auto fingerprint fix (default) + * TmState 7 - Disable telegram auto fingerprint fix but present new fingerprint to user * TmSend - If telegram sending is enabled AND a chat id is present then send data * * Tested with defines @@ -38,17 +42,17 @@ * #define USE_TELEGRAM_FINGERPRINT "\x4E\x7F\xF5\x6D\x1E\x29\x40\x58\xAB\x84\xDE\x63\x69\x7B\xCD\xDF\x44\x2E\xD2\xF6" // Telegram api.telegram.org TLS public key fingerpring \*********************************************************************************************/ -#define XDRV_40 40 +#define XDRV_40 40 #ifndef TELEGRAM_LOOP_WAIT -#define TELEGRAM_LOOP_WAIT 10 // Seconds +#define TELEGRAM_LOOP_WAIT 10 // Seconds #endif -#define TELEGRAM_SEND_RETRY 4 // Retries -#define TELEGRAM_MAX_MESSAGES 2 +#define TELEGRAM_SEND_RETRY 4 // Retries +#define TELEGRAM_MAX_MESSAGES 2 -static const uint32_t tls_rx_size = 2048; // since Telegram CA is bigger than 1024 bytes, we need to increase rx buffer -static const uint32_t tls_tx_size = 1024; +static const uint32_t tls_rx_size = 512; // Max allowed packet size sent from server (Telegram) +static const uint32_t tls_tx_size = 512; #include "WiFiClientSecureLightBearSSL.h" BearSSL::WiFiClientSecure_light *telegramClient = nullptr; @@ -64,8 +68,9 @@ typedef struct { uint32_t update_id = 0; } TelegramMessage; -struct { +typedef struct { TelegramMessage message[TELEGRAM_MAX_MESSAGES]; + uint8_t fingerprint[20]; uint32_t next_update_id = 0; uint8_t message_count = 0; // Amount of messages read per time uint8_t state = 0; @@ -75,41 +80,45 @@ struct { uint8_t wait = 0; bool recv_busy = false; bool skip = true; // Skip first telegram if restarted -} Telegram; +} Telegram_t; +Telegram_t* Telegram = nullptr; -bool TelegramInit(void) { - bool init_done = false; - if (strlen(SettingsText(SET_TELEGRAM_TOKEN))) { - if (!telegramClient) { - telegramClient = new BearSSL::WiFiClientSecure_light(tls_rx_size, tls_tx_size); +void TelegramInit(void) { + Telegram = (Telegram_t*)calloc(sizeof(Telegram_t), 1); // Need calloc to reset registers to 0/false +} - // if (Settings->flag5.tls_use_fingerprint) { // SetOption132 - (TLS) Use fingerprint validation instead of CA based - telegramClient->setPubKeyFingerprint(Telegram_Fingerprint, Telegram_Fingerprint, false); // check server fingerprint - // } else { - // telegramClient->setTrustAnchor(&GoDaddyCAG2_TA, 1); - // } +bool TelegramStart(void) { + if (!strlen(SettingsText(SET_TELEGRAM_TOKEN))) { return false; } + if (telegramClient) { return true; } - Telegram.message_count = 0; // Number of received messages - Telegram.next_update_id = 0; // Code of last read Message - Telegram.message[0].text = ""; + telegramClient = new BearSSL::WiFiClientSecure_light(tls_rx_size, tls_tx_size); + HexToBytes(SettingsText(SET_TELEGRAM_FINGERPRINT), Telegram->fingerprint, sizeof(Telegram->fingerprint)); + telegramClient->setPubKeyFingerprint(Telegram->fingerprint, Telegram->fingerprint, false); // check server fingerprint - AddLog(LOG_LEVEL_INFO, PSTR("TGM: Started")); - } - init_done = true; + Telegram->message_count = 0; // Number of received messages + Telegram->next_update_id = 0; // Code of last read Message + Telegram->message[0].text = ""; + + AddLog(LOG_LEVEL_INFO, PSTR("TGM: (Re)started")); + return true; +} + +void TelegramStop(void) { + if (telegramClient) { + telegramClient->stop(); + delete telegramClient; + telegramClient = nullptr; + AddLog(LOG_LEVEL_INFO, PSTR("TGM: Stopped")); } - return init_done; } String TelegramConnectToTelegram(const String &command) { // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: Cmnd '%s'"), command.c_str()); - if (!TelegramInit()) { return ""; } + if (!TelegramStart()) { return ""; } String response = ""; String host = F("api.telegram.org"); - if (!WifiDnsPresent(host.c_str())) { - return response; - } uint32_t tls_connect_time = millis(); if (telegramClient->connect(host.c_str(), 443)) { @@ -156,13 +165,20 @@ String TelegramConnectToTelegram(const String &command) { telegramClient->stop(); } else { - AddLog(LOG_LEVEL_INFO, PSTR("TGM: TLS connection error %d"), telegramClient->getLastError()); + AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: TLS connection error %d"), telegramClient->getLastError()); const uint8_t *recv_fingerprint = telegramClient->getRecvPubKeyFingerprint(); - // create a printable version of the fingerprint received char buf_fingerprint[64]; - ToHex_P(recv_fingerprint, 20, buf_fingerprint, sizeof(buf_fingerprint), ' '); - AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Telegram fingerprint %s"), buf_fingerprint); + if (!Settings->sbflag1.telegram_disable_af) { // CMND_TMSTATE 6/7 - Disable Telegram auto-fingerprint fix + // Replace current fingerprint with the fingerprint received + ToHex_P(recv_fingerprint, 20, buf_fingerprint, sizeof(buf_fingerprint)); + SettingsUpdateText(SET_TELEGRAM_FINGERPRINT, buf_fingerprint); + TelegramStop(); + } else { + // Create a printable version of the fingerprint received + ToHex_P(recv_fingerprint, 20, buf_fingerprint, sizeof(buf_fingerprint), ' '); + AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: Telegram fingerprint %s"), buf_fingerprint); + } } return response; @@ -171,7 +187,7 @@ String TelegramConnectToTelegram(const String &command) { void TelegramGetUpdates(uint32_t offset) { AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: getUpdates")); - if (!TelegramInit()) { return; } + if (!TelegramStart()) { return; } String _token = SettingsText(SET_TELEGRAM_TOKEN); String command = "bot" + _token + "/getUpdates?offset=" + String(offset); @@ -241,10 +257,10 @@ void TelegramGetUpdates(uint32_t offset) { uint32_t max_updates = arr.size(); // if (max_updates > TELEGRAM_MAX_MESSAGES) { max_updates = TELEGRAM_MAX_MESSAGES; } if (max_updates > 1) { max_updates = 1; } // Cannot handle more than one for now - Telegram.message_count = 0; // Returns how many messages are in the array + Telegram->message_count = 0; // Returns how many messages are in the array if (max_updates) { for (uint32_t i = 0; i < max_updates; i++) { - Telegram.message[i].text = ""; // Reset command + Telegram->message[i].text = ""; // Reset command JsonParserObject result = arr[i].getObject(); if (result) { // {"update_id":14354450, @@ -253,17 +269,17 @@ void TelegramGetUpdates(uint32_t offset) { // "chat":{"id":139920293,"first_name":"Theo","last_name":"Arends","username":"tjatja","type":"private"}, // "date":1602346120, // "text":"Status 1"}} - Telegram.message_count++; // Returns how many messages are in the array - Telegram.message[i].update_id = result["update_id"].getUInt(); -// Telegram.message[i].from_id = result["message"].getObject()["from"].getObject()["id"].getUInt(); -// Telegram.message[i].from_first_name = result["message"].getObject()["from"].getObject()["first_name"].getStr(); -// Telegram.message[i].from_last_name = result["message"].getObject()["from"].getObject()["last_name"].getStr(); - Telegram.message[i].chat_id = result["message"].getObject()["chat"].getObject()["id"].getStr(); - Telegram.message[i].text = result["message"].getObject()["text"].getStr(); + Telegram->message_count++; // Returns how many messages are in the array + Telegram->message[i].update_id = result["update_id"].getUInt(); +// Telegram->.message[i].from_id = result["message"].getObject()["from"].getObject()["id"].getUInt(); +// Telegram->message[i].from_first_name = result["message"].getObject()["from"].getObject()["first_name"].getStr(); +// Telegram->message[i].from_last_name = result["message"].getObject()["from"].getObject()["last_name"].getStr(); + Telegram->message[i].chat_id = result["message"].getObject()["chat"].getObject()["id"].getStr(); + Telegram->message[i].text = result["message"].getObject()["text"].getStr(); } - Telegram.next_update_id = Telegram.message[i].update_id +1; // Write id of last read message + Telegram->next_update_id = Telegram->message[i].update_id +1; // Write id of last read message - AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: Parsed update_id %d, chat_id %s, text \"%s\""), Telegram.message[i].update_id, Telegram.message[i].chat_id.c_str(), Telegram.message[i].text.c_str()); + AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: Parsed update_id %d, chat_id %s, text \"%s\""), Telegram->message[i].update_id, Telegram->message[i].chat_id.c_str(), Telegram->message[i].text.c_str()); } } else { // AddLog(LOG_LEVEL_DEBUG, PSTR("TGM: No new messages")); @@ -276,7 +292,7 @@ void TelegramGetUpdates(uint32_t offset) { bool TelegramSendMessage(const String &chat_id, const String &text) { AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: sendMessage")); - if (!TelegramInit()) { return false; } + if (!TelegramStart()) { return false; } bool sent = false; if (text != "") { @@ -299,7 +315,7 @@ bool TelegramSendMessage(const String &chat_id, const String &text) { void TelegramSendGetMe(void) { AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("TGM: getMe")); - if (!TelegramInit()) { return; } + if (!TelegramStart()) { return; } String _token = SettingsText(SET_TELEGRAM_TOKEN); String command = "bot" + _token + "/getMe"; @@ -347,52 +363,52 @@ String TelegramExecuteCommand(const char *svalue) { void TelegramLoop(void) { if (!TasmotaGlobal.global_state.network_down && (Settings->sbflag1.telegram_recv_enable || Settings->sbflag1.telegram_echo_enable)) { - switch (Telegram.state) { + switch (Telegram->state) { case 0: - TelegramInit(); - Telegram.state++; + TelegramStart(); + Telegram->state++; break; case 1: - TelegramGetUpdates(Telegram.next_update_id); // Launch API GetUpdates up to xxx message - Telegram.index = 0; - Telegram.retry = TELEGRAM_SEND_RETRY; - Telegram.state++; + TelegramGetUpdates(Telegram->next_update_id); // Launch API GetUpdates up to xxx message + Telegram->index = 0; + Telegram->retry = TELEGRAM_SEND_RETRY; + Telegram->state++; break; case 2: if (Settings->sbflag1.telegram_echo_enable) { - if (Telegram.retry && (Telegram.index < Telegram.message_count)) { - if (TelegramSendMessage(Telegram.message[Telegram.index].chat_id, Telegram.message[Telegram.index].text)) { - Telegram.index++; - Telegram.retry = TELEGRAM_SEND_RETRY; + if (Telegram->retry && (Telegram->index < Telegram->message_count)) { + if (TelegramSendMessage(Telegram->message[Telegram->index].chat_id, Telegram->message[Telegram->index].text)) { + Telegram->index++; + Telegram->retry = TELEGRAM_SEND_RETRY; } else { - Telegram.retry--; + Telegram->retry--; } } else { - Telegram.message_count = 0; // All messages have been replied - reset new messages - Telegram.wait = Telegram.poll; - Telegram.state++; + Telegram->message_count = 0; // All messages have been replied - reset new messages + Telegram->wait = Telegram->poll; + Telegram->state++; } } else { - if (Telegram.skip) { // Skip first update after restart as it may be a restart (again) - Telegram.skip = false; + if (Telegram->skip) { // Skip first update after restart as it may be a restart (again) + Telegram->skip = false; } else { - if (Telegram.message_count && (Telegram.message[Telegram.index].text.length() > 0)) { - String logging = TelegramExecuteCommand(Telegram.message[Telegram.index].text.c_str()); + if (Telegram->message_count && (Telegram->message[Telegram->index].text.length() > 0)) { + String logging = TelegramExecuteCommand(Telegram->message[Telegram->index].text.c_str()); if (logging.length() > 0) { - TelegramSendMessage(Telegram.message[Telegram.index].chat_id, logging); + TelegramSendMessage(Telegram->message[Telegram->index].chat_id, logging); } } } - Telegram.message_count = 0; // All messages have been replied - reset new messages - Telegram.wait = Telegram.poll; - Telegram.state++; + Telegram->message_count = 0; // All messages have been replied - reset new messages + Telegram->wait = Telegram->poll; + Telegram->state++; } break; case 3: - if (Telegram.wait) { - Telegram.wait--; + if (Telegram->wait) { + Telegram->wait--; } else { - Telegram.state = 1; + Telegram->state = 1; } } } @@ -407,16 +423,39 @@ void TelegramLoop(void) { #define D_CMND_TMSEND "Send" #define D_CMND_TMTOKEN "Token" #define D_CMND_TMCHATID "ChatId" +#define D_CMND_TMFINGERPRINT "Fingerprint" const char kTelegramCommands[] PROGMEM = "Tm|" // Prefix - D_CMND_TMSTATE "|" D_CMND_TMPOLL "|" D_CMND_TMTOKEN "|" D_CMND_TMCHATID "|" D_CMND_TMSEND; + D_CMND_TMSTATE "|" D_CMND_TMPOLL "|" D_CMND_TMTOKEN "|" D_CMND_TMCHATID "|" D_CMND_TMSEND "|" D_CMND_TMFINGERPRINT; void (* const TelegramCommand[])(void) PROGMEM = { - &CmndTmState, &CmndTmPoll, &CmndTmToken, &CmndTmChatId, &CmndTmSend }; + &CmndTmState, &CmndTmPoll, &CmndTmToken, &CmndTmChatId, &CmndTmSend, &CmndTmFingerprint }; + +void CmndTmFingerprint(void) { + // TmFingerprint 1 + // TmFingerprint 4E 7F F5 6D 1E 29 40 58 AB 84 DE 63 69 7B CD DF 44 2E D2 F6 + char fingerprint[60]; + if ((XdrvMailbox.data_len > 0) && (XdrvMailbox.data_len < sizeof(fingerprint))) { + if (SC_DEFAULT == Shortcut()) { + memcpy_P(Telegram->fingerprint, Telegram_Fingerprint, sizeof(Telegram->fingerprint)); + } else { + strlcpy(fingerprint, (SC_CLEAR == Shortcut()) ? "" : XdrvMailbox.data, sizeof(fingerprint)); + char *p = fingerprint; + for (uint32_t i = 0; i < 20; i++) { + Telegram->fingerprint[i] = strtol(p, &p, 16); + } + } + ToHex_P(Telegram->fingerprint, 20, fingerprint, sizeof(fingerprint)); + SettingsUpdateText(SET_TELEGRAM_FINGERPRINT, fingerprint); + TasmotaGlobal.restart_flag = 2; + } + HexToBytes(SettingsText(SET_TELEGRAM_FINGERPRINT), Telegram->fingerprint, sizeof(Telegram->fingerprint)); + ResponseCmndChar(ToHex_P(Telegram->fingerprint, 20, fingerprint, sizeof(fingerprint), ' ')); +} void CmndTmState(void) { if (XdrvMailbox.data_len > 0) { - if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 6)) { + if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 7)) { switch (XdrvMailbox.payload) { case 0: // Off case 1: // On @@ -430,24 +469,34 @@ void CmndTmState(void) { case 5: // On Settings->sbflag1.telegram_echo_enable = XdrvMailbox.payload &1; break; + case 6: // Off + case 7: // On + Settings->sbflag1.telegram_disable_af = XdrvMailbox.payload &1; + break; } } } - Response_P(PSTR("{\"%s\":{\"Send\":\"%s\",\"Receive\":\"%s\",\"Echo\":\"%s\"}}"), + if (!Settings->sbflag1.telegram_send_enable && + !Settings->sbflag1.telegram_recv_enable && + !Settings->sbflag1.telegram_echo_enable) { + TelegramStop(); + } + Response_P(PSTR("{\"%s\":{\"Send\":\"%s\",\"Receive\":\"%s\",\"Echo\":\"%s\",\"NoAutoFingerprint\":\"%s\"}}"), XdrvMailbox.command, GetStateText(Settings->sbflag1.telegram_send_enable), GetStateText(Settings->sbflag1.telegram_recv_enable), - GetStateText(Settings->sbflag1.telegram_echo_enable)); + GetStateText(Settings->sbflag1.telegram_echo_enable), + GetStateText(Settings->sbflag1.telegram_disable_af)); } void CmndTmPoll(void) { if ((XdrvMailbox.payload >= 4) && (XdrvMailbox.payload <= 300)) { - Telegram.poll = XdrvMailbox.payload; - if (Telegram.poll < Telegram.wait) { - Telegram.wait = Telegram.poll; + Telegram->poll = XdrvMailbox.payload; + if (Telegram->poll < Telegram->wait) { + Telegram->wait = Telegram->poll; } } - ResponseCmndNumber(Telegram.poll); + ResponseCmndNumber(Telegram->poll); } void CmndTmToken(void) { @@ -488,16 +537,21 @@ bool Xdrv40(uint32_t function) { bool result = false; - switch (function) { - case FUNC_EVERY_SECOND: - TelegramLoop(); - break; - case FUNC_COMMAND: - result = DecodeCommand(kTelegramCommands, TelegramCommand); - break; - case FUNC_ACTIVE: - result = true; - break; + if (FUNC_INIT == function) { + TelegramInit(); + } + else if (Telegram) { + switch (function) { + case FUNC_EVERY_SECOND: + TelegramLoop(); + break; + case FUNC_COMMAND: + result = DecodeCommand(kTelegramCommands, TelegramCommand); + break; + case FUNC_ACTIVE: + result = true; + break; + } } return result; } From f132663dfe18b0ac7937302d7c9f985d49fc209e Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 11:46:55 +0200 Subject: [PATCH 68/88] Fix ESP32 slow response when using UDP as in emulation (#21470) --- CHANGELOG.md | 2 ++ RELEASENOTES.md | 1 + tasmota/tasmota_support/support_udp.ino | 8 ++++++-- tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da11df8ff..583714c76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ All notable changes to this project will be documented in this file. ### Fixed - Telegram TLS fingerprint, remove CA validation (#21514) +- ESP32 I2S multiple fixes (#21511) +- ESP32 slow response when using UDP as in emulation (#21470) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index db05707ad..8ab49ae3e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -149,6 +149,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Telegram TLS fingerprint, remove CA validation [#21514](https://github.com/arendst/Tasmota/issues/21514) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) +- ESP32 slow response when using UDP as in emulation [#21470](https://github.com/arendst/Tasmota/issues/21470) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) - I2S APLL not supported on all SOCs [#21483](https://github.com/arendst/Tasmota/issues/21483) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) diff --git a/tasmota/tasmota_support/support_udp.ino b/tasmota/tasmota_support/support_udp.ino index 2e340ceb6..0cb6c4b75 100644 --- a/tasmota/tasmota_support/support_udp.ino +++ b/tasmota/tasmota_support/support_udp.ino @@ -60,7 +60,10 @@ bool UdpDisconnect(void) { if (udp_connected) { // flush any outgoing packet - PortUdp.flush(); + PortUdp.flush(); // Does nothing in core3 +#ifdef ESP32 + PortUdp.clear(); // New with core3. Does what flush() did in core2; +#endif #ifdef ESP8266 UdpCtx.disconnect(); #endif @@ -130,7 +133,8 @@ void PollUdp(void) int32_t len = PortUdp.read(packet_buffer, UDP_BUFFER_SIZE -1); packet_buffer[len] = 0; - PortUdp.flush(); +// PortUdp.flush(); + PortUdp.clear(); // New with core3. Does what flush() did in core2; AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet (%d/%d)"), len, pack_len); #endif // ESP32 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index b116e7abf..edc2a0d1a 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1406,6 +1406,9 @@ void Script_Stop_UDP(void) { if (!glob_script_mem.udp_flags.udp_used) return; if (glob_script_mem.udp_flags.udp_connected) { glob_script_mem.Script_PortUdp.flush(); +#ifdef ESP32 + glob_script_mem.Script_PortUdp.clear(); // New with core3. Does what flush() did in core2; +#endif glob_script_mem.Script_PortUdp.stop(); glob_script_mem.udp_flags.udp_connected = 0; } From 27c35befdf1302c7bab37063b67c22db49d54d9c Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 11:57:29 +0200 Subject: [PATCH 69/88] Another few victims of core3 UDP --- tasmota/tasmota_support/support_device_groups.ino | 3 +++ tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino | 3 ++- tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 699db3911..63b9eb965 100644 --- a/tasmota/tasmota_support/support_device_groups.ino +++ b/tasmota/tasmota_support/support_device_groups.ino @@ -208,6 +208,9 @@ void DeviceGroupsStart() void DeviceGroupsStop() { device_groups_udp.flush(); +#ifdef ESP32 + device_groups_udp.clear(); // New with core3. Does what flush() did in core2; +#endif device_groups_up = false; } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino index d0d3b61ff..342c662f8 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino @@ -245,7 +245,8 @@ void ArtNetLoop(void) uint8_t packet_buffer[WS2812_ARTNET_UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet packet_len = ArtNetUdp->read(packet_buffer, WS2812_ARTNET_UDP_BUFFER_SIZE); - ArtNetUdp->flush(); // Finish reading the current packet +// ArtNetUdp->flush(); // Finish reading the current packet + ArtNetUdp->clear(); // New with core3. Does what flush() did in core2; #endif // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet %*_H (%d)"), 32, packet_buffer, packet_len); if (artnet_conf.on) { diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index edc2a0d1a..b2316a0f3 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1387,6 +1387,9 @@ int32_t udp_call(char *url, uint32_t port, char *sbuf) { udp.write((const uint8_t*)sbuf, strlen(sbuf)); udp.endPacket(); udp.flush(); +#ifdef ESP32 + udp.clear(); // New with core3. Does what flush() did in core2; +#endif udp.stop(); return 0; } From b88ec44d15394fc18bf2f1e23d4d0263c65ea81d Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 14:09:54 +0200 Subject: [PATCH 70/88] Fix network flushes --- tasmota/tasmota_support/support_device_groups.ino | 3 ++- tasmota/tasmota_support/support_udp.ino | 8 +++----- tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 6 +++++- tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino | 1 - tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 10 ++++++++-- .../tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino | 4 ++++ tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino | 6 +++--- .../tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino | 2 +- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 4 ++++ 10 files changed, 31 insertions(+), 15 deletions(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 63b9eb965..35d0b9983 100644 --- a/tasmota/tasmota_support/support_device_groups.ino +++ b/tasmota/tasmota_support/support_device_groups.ino @@ -207,8 +207,9 @@ void DeviceGroupsStart() void DeviceGroupsStop() { +#ifdef ESP8266 device_groups_udp.flush(); -#ifdef ESP32 +#else device_groups_udp.clear(); // New with core3. Does what flush() did in core2; #endif device_groups_up = false; diff --git a/tasmota/tasmota_support/support_udp.ino b/tasmota/tasmota_support/support_udp.ino index 0cb6c4b75..ffd677a82 100644 --- a/tasmota/tasmota_support/support_udp.ino +++ b/tasmota/tasmota_support/support_udp.ino @@ -60,12 +60,11 @@ bool UdpDisconnect(void) { if (udp_connected) { // flush any outgoing packet - PortUdp.flush(); // Does nothing in core3 -#ifdef ESP32 - PortUdp.clear(); // New with core3. Does what flush() did in core2; -#endif #ifdef ESP8266 + PortUdp.flush(); UdpCtx.disconnect(); +#else + PortUdp.clear(); // New with core3. Does what flush() did in core2; #endif #ifdef USE_DEVICE_GROUPS // stop @@ -133,7 +132,6 @@ void PollUdp(void) int32_t len = PortUdp.read(packet_buffer, UDP_BUFFER_SIZE -1); packet_buffer[len] = 0; -// PortUdp.flush(); PortUdp.clear(); // New with core3. Does what flush() did in core2; AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet (%d/%d)"), len, pack_len); #endif // ESP32 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index de9b796ba..9f8434f32 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -775,7 +775,11 @@ void WSSend(int code, int ctype, const String& content) **********************************************************************************************/ void WSContentBegin(int code, int ctype) { +#ifdef ESP8266 Webserver->client().flush(); +#else + Webserver->client().clear(); // New with core3. Does what flush() did in core2; +#endif WSHeaderSend(); Webserver->setContentLength(CONTENT_LENGTH_UNKNOWN); WSSend(code, ctype, ""); // Signal start of chunked content @@ -3085,7 +3089,7 @@ void HandlePreflightRequest(void) // return a simple status page as text/plain code 200 static void WSReturnSimpleString(const char *msg) { if (nullptr == msg) { msg = ""; } - Webserver->client().flush(); + Webserver->client().clear(); // New with core3. Does what flush() did in core2; WSHeaderSend(); Webserver->send(200, "text/plain", msg); } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino index 342c662f8..076c4a757 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino @@ -245,7 +245,6 @@ void ArtNetLoop(void) uint8_t packet_buffer[WS2812_ARTNET_UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet packet_len = ArtNetUdp->read(packet_buffer, WS2812_ARTNET_UDP_BUFFER_SIZE); -// ArtNetUdp->flush(); // Finish reading the current packet ArtNetUdp->clear(); // New with core3. Does what flush() did in core2; #endif // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet %*_H (%d)"), 32, packet_buffer, packet_len); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index b2316a0f3..6b2a3827b 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1386,8 +1386,9 @@ int32_t udp_call(char *url, uint32_t port, char *sbuf) { udp.beginPacket(adr, port); udp.write((const uint8_t*)sbuf, strlen(sbuf)); udp.endPacket(); +#ifdef ESP8266 udp.flush(); -#ifdef ESP32 +#else udp.clear(); // New with core3. Does what flush() did in core2; #endif udp.stop(); @@ -1408,8 +1409,9 @@ void Restart_globvars(void) { void Script_Stop_UDP(void) { if (!glob_script_mem.udp_flags.udp_used) return; if (glob_script_mem.udp_flags.udp_connected) { +#ifdef ESP8266 glob_script_mem.Script_PortUdp.flush(); -#ifdef ESP32 +#else glob_script_mem.Script_PortUdp.clear(); // New with core3. Does what flush() did in core2; #endif glob_script_mem.Script_PortUdp.stop(); @@ -6392,7 +6394,11 @@ void tmod_directModeOutput(uint32_t pin); fvar = -1; if (glob_script_mem.tcp_server) { if (glob_script_mem.tcp_client.connected()) { +#ifdef ESP8266 glob_script_mem.tcp_client.flush(); +#else + glob_script_mem.tcp_client.clear(); +#endif fvar = 0; } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino index 0349736ee..850c53a10 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino @@ -184,7 +184,7 @@ extern "C" { if (argc >= 2 && be_isint(vm, 1) && be_isstring(vm, 2)) { int32_t httpcode = be_toint(vm, 1); const char * mimetype = be_tostring(vm, 2); - Webserver->client().flush(); + Webserver->client().clear(); // New with core3. Does what flush() did in core2; WSHeaderSend(); Webserver->setContentLength(CONTENT_LENGTH_UNKNOWN); Webserver->send(httpcode, mimetype, ""); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino index f3031997b..5be255f3c 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino @@ -311,7 +311,11 @@ void ModbusBridgeHandle(void) client.write(modbusBridge.buffer + 2, 4); // Don't send CRC nrOfBytes += 4; } +#ifdef ESP8266 client.flush(); +#else + client.clear(); // New with core3. Does what flush() did in core2; +#endif AddLog(LOG_LEVEL_DEBUG, PSTR("MBS: MBRTCP from Modbus deviceAddress %d, writing %d bytes to client"), modbusBridge.buffer[0], nrOfBytes); } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino index 904e73c84..e9344c328 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino @@ -884,7 +884,7 @@ void HandleImageBasic(void) { } if (_jpg_buf_len) { - Webserver->client().flush(); + Webserver->client().clear(); // New with core3. Does what flush() did in core2; WSHeaderSend(); Webserver->sendHeader(F("Content-disposition"), F("inline; filename=snapshot.jpg")); Webserver->send_P(200, "image/jpeg", (char *)_jpg_buf, _jpg_buf_len); @@ -925,7 +925,7 @@ void HandleWebcamMjpegTask(void) { WcStats.clientfail++; } if (1 == Wc.stream_active) { - Wc.client.flush(); + Wc.client.clear(); // New with core3. Does what flush() did in core2; Wc.client.setTimeout(3); AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Start stream")); Wc.client.print("HTTP/1.1 200 OK\r\n" @@ -990,7 +990,7 @@ void HandleWebcamMjpegTask(void) { } if (0 == Wc.stream_active) { AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Stream exit")); - Wc.client.flush(); + Wc.client.clear(); // New with core3. Does what flush() did in core2; Wc.client.stop(); } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino index bf36b2f08..a9f9a3488 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino @@ -1888,7 +1888,7 @@ static void WCOperationTask(void *pvParameters){ WcStats.clientfail++; } if (1 == client->active) { - client->client.flush(); + client->client.clear(); // New with core3. Does what flush() did in core2; client->client.setTimeout(3); #ifdef WEBCAM_DEV_DEBUG AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Start stream")); diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index e33c324d0..a06feeac3 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -1550,7 +1550,11 @@ void sml_shift_in(uint32_t meters, uint32_t shard) { memmove(&mp->sbuff[0], &mp->sbuff[6], mp->sbsiz - 6); SML_Decode(meters); if (mp->client) { +#ifdef ESP8266 mp->client->flush(); +#else + mp->client->clear(); // New with core3. Does what flush() did in core2; +#endif } //Hexdump(mp->sbuff + 6, 10); } From adcc50ac6edfb0c5501295a6432180acafeb8df7 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 16:44:50 +0200 Subject: [PATCH 71/88] Revert "Fix network flushes" This reverts commit b88ec44d15394fc18bf2f1e23d4d0263c65ea81d. --- tasmota/tasmota_support/support_device_groups.ino | 3 +-- tasmota/tasmota_support/support_udp.ino | 10 ++++++---- tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino | 6 +----- tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino | 1 + tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 10 ++-------- .../tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino | 4 ---- tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino | 6 +++--- .../tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino | 2 +- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 4 ---- 10 files changed, 16 insertions(+), 32 deletions(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 35d0b9983..63b9eb965 100644 --- a/tasmota/tasmota_support/support_device_groups.ino +++ b/tasmota/tasmota_support/support_device_groups.ino @@ -207,9 +207,8 @@ void DeviceGroupsStart() void DeviceGroupsStop() { -#ifdef ESP8266 device_groups_udp.flush(); -#else +#ifdef ESP32 device_groups_udp.clear(); // New with core3. Does what flush() did in core2; #endif device_groups_up = false; diff --git a/tasmota/tasmota_support/support_udp.ino b/tasmota/tasmota_support/support_udp.ino index ffd677a82..0cb6c4b75 100644 --- a/tasmota/tasmota_support/support_udp.ino +++ b/tasmota/tasmota_support/support_udp.ino @@ -60,12 +60,13 @@ bool UdpDisconnect(void) { if (udp_connected) { // flush any outgoing packet -#ifdef ESP8266 - PortUdp.flush(); - UdpCtx.disconnect(); -#else + PortUdp.flush(); // Does nothing in core3 +#ifdef ESP32 PortUdp.clear(); // New with core3. Does what flush() did in core2; #endif +#ifdef ESP8266 + UdpCtx.disconnect(); +#endif #ifdef USE_DEVICE_GROUPS // stop PortUdp.stop(); @@ -132,6 +133,7 @@ void PollUdp(void) int32_t len = PortUdp.read(packet_buffer, UDP_BUFFER_SIZE -1); packet_buffer[len] = 0; +// PortUdp.flush(); PortUdp.clear(); // New with core3. Does what flush() did in core2; AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet (%d/%d)"), len, pack_len); #endif // ESP32 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino index 9f8434f32..de9b796ba 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -775,11 +775,7 @@ void WSSend(int code, int ctype, const String& content) **********************************************************************************************/ void WSContentBegin(int code, int ctype) { -#ifdef ESP8266 Webserver->client().flush(); -#else - Webserver->client().clear(); // New with core3. Does what flush() did in core2; -#endif WSHeaderSend(); Webserver->setContentLength(CONTENT_LENGTH_UNKNOWN); WSSend(code, ctype, ""); // Signal start of chunked content @@ -3089,7 +3085,7 @@ void HandlePreflightRequest(void) // return a simple status page as text/plain code 200 static void WSReturnSimpleString(const char *msg) { if (nullptr == msg) { msg = ""; } - Webserver->client().clear(); // New with core3. Does what flush() did in core2; + Webserver->client().flush(); WSHeaderSend(); Webserver->send(200, "text/plain", msg); } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino index 076c4a757..342c662f8 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino @@ -245,6 +245,7 @@ void ArtNetLoop(void) uint8_t packet_buffer[WS2812_ARTNET_UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet packet_len = ArtNetUdp->read(packet_buffer, WS2812_ARTNET_UDP_BUFFER_SIZE); +// ArtNetUdp->flush(); // Finish reading the current packet ArtNetUdp->clear(); // New with core3. Does what flush() did in core2; #endif // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet %*_H (%d)"), 32, packet_buffer, packet_len); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index 6b2a3827b..b2316a0f3 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1386,9 +1386,8 @@ int32_t udp_call(char *url, uint32_t port, char *sbuf) { udp.beginPacket(adr, port); udp.write((const uint8_t*)sbuf, strlen(sbuf)); udp.endPacket(); -#ifdef ESP8266 udp.flush(); -#else +#ifdef ESP32 udp.clear(); // New with core3. Does what flush() did in core2; #endif udp.stop(); @@ -1409,9 +1408,8 @@ void Restart_globvars(void) { void Script_Stop_UDP(void) { if (!glob_script_mem.udp_flags.udp_used) return; if (glob_script_mem.udp_flags.udp_connected) { -#ifdef ESP8266 glob_script_mem.Script_PortUdp.flush(); -#else +#ifdef ESP32 glob_script_mem.Script_PortUdp.clear(); // New with core3. Does what flush() did in core2; #endif glob_script_mem.Script_PortUdp.stop(); @@ -6394,11 +6392,7 @@ void tmod_directModeOutput(uint32_t pin); fvar = -1; if (glob_script_mem.tcp_server) { if (glob_script_mem.tcp_client.connected()) { -#ifdef ESP8266 glob_script_mem.tcp_client.flush(); -#else - glob_script_mem.tcp_client.clear(); -#endif fvar = 0; } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino index 850c53a10..0349736ee 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_52_3_berry_webserver.ino @@ -184,7 +184,7 @@ extern "C" { if (argc >= 2 && be_isint(vm, 1) && be_isstring(vm, 2)) { int32_t httpcode = be_toint(vm, 1); const char * mimetype = be_tostring(vm, 2); - Webserver->client().clear(); // New with core3. Does what flush() did in core2; + Webserver->client().flush(); WSHeaderSend(); Webserver->setContentLength(CONTENT_LENGTH_UNKNOWN); Webserver->send(httpcode, mimetype, ""); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino index 5be255f3c..f3031997b 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino @@ -311,11 +311,7 @@ void ModbusBridgeHandle(void) client.write(modbusBridge.buffer + 2, 4); // Don't send CRC nrOfBytes += 4; } -#ifdef ESP8266 client.flush(); -#else - client.clear(); // New with core3. Does what flush() did in core2; -#endif AddLog(LOG_LEVEL_DEBUG, PSTR("MBS: MBRTCP from Modbus deviceAddress %d, writing %d bytes to client"), modbusBridge.buffer[0], nrOfBytes); } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino index e9344c328..904e73c84 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam.ino @@ -884,7 +884,7 @@ void HandleImageBasic(void) { } if (_jpg_buf_len) { - Webserver->client().clear(); // New with core3. Does what flush() did in core2; + Webserver->client().flush(); WSHeaderSend(); Webserver->sendHeader(F("Content-disposition"), F("inline; filename=snapshot.jpg")); Webserver->send_P(200, "image/jpeg", (char *)_jpg_buf, _jpg_buf_len); @@ -925,7 +925,7 @@ void HandleWebcamMjpegTask(void) { WcStats.clientfail++; } if (1 == Wc.stream_active) { - Wc.client.clear(); // New with core3. Does what flush() did in core2; + Wc.client.flush(); Wc.client.setTimeout(3); AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Start stream")); Wc.client.print("HTTP/1.1 200 OK\r\n" @@ -990,7 +990,7 @@ void HandleWebcamMjpegTask(void) { } if (0 == Wc.stream_active) { AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Stream exit")); - Wc.client.clear(); // New with core3. Does what flush() did in core2; + Wc.client.flush(); Wc.client.stop(); } } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino index a9f9a3488..bf36b2f08 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_81_esp32_webcam_task.ino @@ -1888,7 +1888,7 @@ static void WCOperationTask(void *pvParameters){ WcStats.clientfail++; } if (1 == client->active) { - client->client.clear(); // New with core3. Does what flush() did in core2; + client->client.flush(); client->client.setTimeout(3); #ifdef WEBCAM_DEV_DEBUG AddLog(LOG_LEVEL_DEBUG, PSTR("CAM: Start stream")); diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index a06feeac3..e33c324d0 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -1550,11 +1550,7 @@ void sml_shift_in(uint32_t meters, uint32_t shard) { memmove(&mp->sbuff[0], &mp->sbuff[6], mp->sbsiz - 6); SML_Decode(meters); if (mp->client) { -#ifdef ESP8266 mp->client->flush(); -#else - mp->client->clear(); // New with core3. Does what flush() did in core2; -#endif } //Hexdump(mp->sbuff + 6, 10); } From 7c98e0d3036b7ab3389d1839a81747dd1933d7c7 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 16:45:04 +0200 Subject: [PATCH 72/88] Revert "Another few victims of core3 UDP" This reverts commit 27c35befdf1302c7bab37063b67c22db49d54d9c. --- tasmota/tasmota_support/support_device_groups.ino | 3 --- tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino | 3 +-- tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 3 --- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 63b9eb965..699db3911 100644 --- a/tasmota/tasmota_support/support_device_groups.ino +++ b/tasmota/tasmota_support/support_device_groups.ino @@ -208,9 +208,6 @@ void DeviceGroupsStart() void DeviceGroupsStop() { device_groups_udp.flush(); -#ifdef ESP32 - device_groups_udp.clear(); // New with core3. Does what flush() did in core2; -#endif device_groups_up = false; } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino index 342c662f8..d0d3b61ff 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino @@ -245,8 +245,7 @@ void ArtNetLoop(void) uint8_t packet_buffer[WS2812_ARTNET_UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet packet_len = ArtNetUdp->read(packet_buffer, WS2812_ARTNET_UDP_BUFFER_SIZE); -// ArtNetUdp->flush(); // Finish reading the current packet - ArtNetUdp->clear(); // New with core3. Does what flush() did in core2; + ArtNetUdp->flush(); // Finish reading the current packet #endif // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet %*_H (%d)"), 32, packet_buffer, packet_len); if (artnet_conf.on) { diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index b2316a0f3..edc2a0d1a 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1387,9 +1387,6 @@ int32_t udp_call(char *url, uint32_t port, char *sbuf) { udp.write((const uint8_t*)sbuf, strlen(sbuf)); udp.endPacket(); udp.flush(); -#ifdef ESP32 - udp.clear(); // New with core3. Does what flush() did in core2; -#endif udp.stop(); return 0; } From 2347f3726963ffb134df54386554c6ea0c973d8f Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 16:45:16 +0200 Subject: [PATCH 73/88] Revert "Fix ESP32 slow response when using UDP as in emulation (#21470)" This reverts commit f132663dfe18b0ac7937302d7c9f985d49fc209e. --- CHANGELOG.md | 2 -- RELEASENOTES.md | 1 - tasmota/tasmota_support/support_udp.ino | 8 ++------ tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 3 --- 4 files changed, 2 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 583714c76..da11df8ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,8 +14,6 @@ All notable changes to this project will be documented in this file. ### Fixed - Telegram TLS fingerprint, remove CA validation (#21514) -- ESP32 I2S multiple fixes (#21511) -- ESP32 slow response when using UDP as in emulation (#21470) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8ab49ae3e..db05707ad 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -149,7 +149,6 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Telegram TLS fingerprint, remove CA validation [#21514](https://github.com/arendst/Tasmota/issues/21514) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) -- ESP32 slow response when using UDP as in emulation [#21470](https://github.com/arendst/Tasmota/issues/21470) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) - I2S APLL not supported on all SOCs [#21483](https://github.com/arendst/Tasmota/issues/21483) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) diff --git a/tasmota/tasmota_support/support_udp.ino b/tasmota/tasmota_support/support_udp.ino index 0cb6c4b75..2e340ceb6 100644 --- a/tasmota/tasmota_support/support_udp.ino +++ b/tasmota/tasmota_support/support_udp.ino @@ -60,10 +60,7 @@ bool UdpDisconnect(void) { if (udp_connected) { // flush any outgoing packet - PortUdp.flush(); // Does nothing in core3 -#ifdef ESP32 - PortUdp.clear(); // New with core3. Does what flush() did in core2; -#endif + PortUdp.flush(); #ifdef ESP8266 UdpCtx.disconnect(); #endif @@ -133,8 +130,7 @@ void PollUdp(void) int32_t len = PortUdp.read(packet_buffer, UDP_BUFFER_SIZE -1); packet_buffer[len] = 0; -// PortUdp.flush(); - PortUdp.clear(); // New with core3. Does what flush() did in core2; + PortUdp.flush(); AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet (%d/%d)"), len, pack_len); #endif // ESP32 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index edc2a0d1a..b116e7abf 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1406,9 +1406,6 @@ void Script_Stop_UDP(void) { if (!glob_script_mem.udp_flags.udp_used) return; if (glob_script_mem.udp_flags.udp_connected) { glob_script_mem.Script_PortUdp.flush(); -#ifdef ESP32 - glob_script_mem.Script_PortUdp.clear(); // New with core3. Does what flush() did in core2; -#endif glob_script_mem.Script_PortUdp.stop(); glob_script_mem.udp_flags.udp_connected = 0; } From d134b88c684eeeb63448022a8a6b95d464a2bfeb Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed, 29 May 2024 16:59:33 +0200 Subject: [PATCH 74/88] ESP32 Platform 2024.05.13 (#21524) * ESP32 Platform 2024.05.13 reverts Arduino PR 9453 `WiFiClient - rename flush() to clear()` * trigger PR CI --- platformio_tasmota32.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 658a0726e..b90c3aaa8 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -37,8 +37,8 @@ build_flags = ${esp_defaults.build_flags} ; wrappers for the crash-recorder -Wl,--wrap=panicHandler -Wl,--wrap=xt_unhandled_exception -Wl,--wrap=_Z11analogWritehi ; `analogWrite(unsigned char, int)` use the Tasmota version of analogWrite for deeper integration and phase control - -Wl,--wrap=ledcReadFreq ; `uint32_t ledcReadFreq(uint8_t chan)` - -Wl,--wrap=delay ; void delay(uint32_t ms) + -Wl,--wrap=ledcReadFreq ; `uint32_t ledcReadFreq(uint8_t chan)` + -Wl,--wrap=delay ; void delay(uint32_t ms) lib_ignore = HTTPUpdateServer USB @@ -81,7 +81,7 @@ lib_ignore = ${esp32_defaults.lib_ignore} ccronexpr [core32] -platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.05.12/platform-espressif32.zip +platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.05.13/platform-espressif32.zip platform_packages = build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} From b61ea17ce14a7a836973892fc51cef118a454e8b Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 17:17:53 +0200 Subject: [PATCH 75/88] Bump version v14.0.0.3 --- CHANGELOG.md | 19 ++++++++++++++----- RELEASENOTES.md | 6 ++++-- tasmota/include/tasmota_version.h | 2 +- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da11df8ff..d389030cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,20 +3,29 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - Development -## [14.0.0.2] +## [14.0.0.3] ### Added -- Disabled watchdog for ESP32 and variants (#21509) ### Breaking Changed +### Changed +- ESP32 Core3 platform update from 2024.05.12 to 2024.05.13 (#21524) + +### Fixed +- ESP32 slow response when using UDP as in emulation (#21470) + +### Removed + +## [14.0.0.2] 20240529 +### Added +- Disabled watchdog for ESP32 and variants (#21509) + ### Changed - Update Telegram CA (Go Daddy Root Certificate Authority - G2) ### Fixed - Telegram TLS fingerprint, remove CA validation (#21514) - -### Removed - +- ESP32 I2S multiple fixes (#21511) ## [14.0.0.1] 20240527 ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index db05707ad..809f743bd 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -119,7 +119,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v14.0.0.2 +## Changelog v14.0.0.3 ### Added - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) - Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) @@ -129,7 +129,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Breaking Changed ### Changed -- ESP32 Core3 platform update from 2024.05.11 to 2024.05.12 [#21493](https://github.com/arendst/Tasmota/issues/21493) +- ESP32 Core3 platform update from 2024.05.11 to 2024.05.13 [#21524](https://github.com/arendst/Tasmota/issues/21524) - GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight - Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET @@ -149,7 +149,9 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Telegram TLS fingerprint, remove CA validation [#21514](https://github.com/arendst/Tasmota/issues/21514) - Zigbee crash when removing `ZbName` [#21449](https://github.com/arendst/Tasmota/issues/21449) - Avoid connection errors when switching to safeboot to upload OTA firmware [#21428](https://github.com/arendst/Tasmota/issues/21428) +- ESP32 slow response when using UDP as in emulation [#21470](https://github.com/arendst/Tasmota/issues/21470) - ESP32 BLE fix scanning [#21451](https://github.com/arendst/Tasmota/issues/21451) +- ESP32 I2S multiple fixes [#21511](https://github.com/arendst/Tasmota/issues/21511) - I2S APLL not supported on all SOCs [#21483](https://github.com/arendst/Tasmota/issues/21483) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) diff --git a/tasmota/include/tasmota_version.h b/tasmota/include/tasmota_version.h index dda041532..f8ec8d8d3 100644 --- a/tasmota/include/tasmota_version.h +++ b/tasmota/include/tasmota_version.h @@ -22,6 +22,6 @@ #define TASMOTA_SHA_SHORT // Filled by Github sed -const uint32_t TASMOTA_VERSION = 0x0E000002; // 14.0.0.2 +const uint32_t TASMOTA_VERSION = 0x0E000003; // 14.0.0.3 #endif // _TASMOTA_VERSION_H_ From 2771827c152208116b361dfdc4b4878c4f6996b3 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 30 May 2024 10:50:12 +0200 Subject: [PATCH 76/88] Changed TCP bridge increased baudrate selection (#21528) - Bump v14.0.0.4 --- CHANGELOG.md | 12 +++++++++--- RELEASENOTES.md | 3 ++- tasmota/include/tasmota_types.h | 10 +++++----- tasmota/include/tasmota_version.h | 2 +- tasmota/tasmota_support/settings.ino | 3 +++ tasmota/tasmota_xdrv_driver/xdrv_41_tcp_bridge.ino | 14 +++++++------- 6 files changed, 27 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d389030cd..f352c4fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,19 +3,25 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - Development -## [14.0.0.3] +## [14.0.0.4] ### Added ### Breaking Changed +### Changed +- TCP bridge increased baudrate selection (#21528) + +### Fixed + +### Removed + +## [14.0.0.3] 20240530 ### Changed - ESP32 Core3 platform update from 2024.05.12 to 2024.05.13 (#21524) ### Fixed - ESP32 slow response when using UDP as in emulation (#21470) -### Removed - ## [14.0.0.2] 20240529 ### Added - Disabled watchdog for ESP32 and variants (#21509) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 809f743bd..0986271de 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -119,7 +119,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v14.0.0.3 +## Changelog v14.0.0.4 ### Added - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) - Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) @@ -132,6 +132,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - ESP32 Core3 platform update from 2024.05.11 to 2024.05.13 [#21524](https://github.com/arendst/Tasmota/issues/21524) - GPIOViewer from v1.5.2 to v1.5.3 - On universal display remove default backlight power if a PWM channel is used for backlight +- TCP bridge increased baudrate selection [#21528](https://github.com/arendst/Tasmota/issues/21528) - Support W5500 SPI ethernet using four SPI GPIOs only without IRQ and RESET - ESP32 compiler option from `target-align` to `no-target-align` [#21407](https://github.com/arendst/Tasmota/issues/21407) - ESP32 I2S audio improvements [#21433](https://github.com/arendst/Tasmota/issues/21433) diff --git a/tasmota/include/tasmota_types.h b/tasmota/include/tasmota_types.h index fd00156fe..97f0a2c9d 100755 --- a/tasmota/include/tasmota_types.h +++ b/tasmota/include/tasmota_types.h @@ -697,8 +697,9 @@ typedef struct { uint8_t mqtt_wifi_timeout; // 530 uint8_t ina219_mode; // 531 - uint16_t ex_pulse_timer[8]; // 532 ex_pulse_timer free since 11.0.0.3 + uint16_t ex_pulse_timer[7]; // 532 ex_pulse_timer free since 11.0.0.3 + uint16_t tcp_baudrate; // 540 uint16_t button_debounce; // 542 uint32_t ipv4_address[5]; // 544 uint32_t ipv4_rgx_address; // 558 @@ -742,7 +743,6 @@ typedef struct { uint16_t shutter_motorstop; // 738 uint8_t battery_level_percent; // 73A uint8_t hdmi_addr[2]; // 73B HDMI CEC physical address - warning this is a non-aligned uint16 - uint8_t novasds_startingoffset; // 73D uint8_t web_color[18][3]; // 73E uint16_t display_width; // 774 @@ -832,7 +832,9 @@ typedef struct { uint8_t windmeter_tele_pchange; // F3E uint8_t ledpwm_on; // F3F uint8_t ledpwm_off; // F40 - uint8_t tcp_baudrate; // F41 + + uint8_t ex_tcp_baudrate; // F41 ex_tcp_baudrate, free since v14.0.0.4 + uint8_t fallback_module; // F42 uint8_t shutter_mode; // F43 uint16_t energy_power_delta[3]; // F44 @@ -843,9 +845,7 @@ typedef struct { uint8_t shd_warmup_time; // F5E uint8_t tcp_config; // F5F uint8_t light_step_pixels; // F60 - uint8_t hdmi_cec_device_type; // F61 - v13.1.0.1 (was ex_modbus_sbaudrate v12.2.0.5) - uint8_t modbus_sconfig; // F62 uint8_t windmeter_measure_intvl; // F63 diff --git a/tasmota/include/tasmota_version.h b/tasmota/include/tasmota_version.h index f8ec8d8d3..a46bf1d7d 100644 --- a/tasmota/include/tasmota_version.h +++ b/tasmota/include/tasmota_version.h @@ -22,6 +22,6 @@ #define TASMOTA_SHA_SHORT // Filled by Github sed -const uint32_t TASMOTA_VERSION = 0x0E000003; // 14.0.0.3 +const uint32_t TASMOTA_VERSION = 0x0E000004; // 14.0.0.4 #endif // _TASMOTA_VERSION_H_ diff --git a/tasmota/tasmota_support/settings.ino b/tasmota/tasmota_support/settings.ino index 030deb513..ba6850b9c 100644 --- a/tasmota/tasmota_support/settings.ino +++ b/tasmota/tasmota_support/settings.ino @@ -1813,6 +1813,9 @@ void SettingsDelta(void) { if (Settings->version < 0x0D040004) { // 13.4.0.4 Settings->power_lock = 0; } + if (Settings->version < 0x0E000004) { // 14.0.0.4 + Settings->tcp_baudrate = Settings->ex_tcp_baudrate / 4; + } Settings->version = TASMOTA_VERSION; SettingsSave(1); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_41_tcp_bridge.ino b/tasmota/tasmota_xdrv_driver/xdrv_41_tcp_bridge.ino index b77480f09..f7af10175 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_41_tcp_bridge.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_41_tcp_bridge.ino @@ -147,10 +147,10 @@ void TCPInit(void) { } if (!Settings->tcp_baudrate) { - Settings->tcp_baudrate = 115200 / 1200; + Settings->tcp_baudrate = 115200 / 300; } TCPSerial = new TasmotaSerial(Pin(GPIO_TCP_RX), Pin(GPIO_TCP_TX), TasmotaGlobal.seriallog_level ? 1 : 2, 0, TCP_BRIDGE_BUF_SIZE); // set a receive buffer of 256 bytes - tcp_serial = TCPSerial->begin(Settings->tcp_baudrate * 1200, ConvertSerialConfig(0x7F & Settings->tcp_config)); + tcp_serial = TCPSerial->begin(Settings->tcp_baudrate * 300, ConvertSerialConfig(0x7F & Settings->tcp_config)); if (PinUsed(GPIO_TCP_TX_EN)) { TCPSerial->setTransmitEnablePin(Pin(GPIO_TCP_TX_EN)); AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_TCP "TCP Bridge EN is used on Pin %d"), Pin(GPIO_TCP_TX_EN)); @@ -212,16 +212,16 @@ void CmndTCPStart(void) { } void CmndTCPBaudrate(void) { - if ((XdrvMailbox.payload >= 1200) && (XdrvMailbox.payload <= 115200)) { - XdrvMailbox.payload /= 1200; // Make it a valid baudrate + if (XdrvMailbox.payload >= 300) { + XdrvMailbox.payload /= 300; // Make it a valid baudrate if (Settings->tcp_baudrate != XdrvMailbox.payload) { Settings->tcp_baudrate = XdrvMailbox.payload; - if (!TCPSerial->begin(Settings->tcp_baudrate * 1200, ConvertSerialConfig(0x7F & Settings->tcp_config))) { + if (!TCPSerial->begin(Settings->tcp_baudrate * 300, ConvertSerialConfig(0x7F & Settings->tcp_config))) { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_TCP "failed reinit serial")); } // Reinitialize serial port with new baud rate } } - ResponseCmndNumber(Settings->tcp_baudrate * 1200); + ResponseCmndNumber(Settings->tcp_baudrate * 300); } void CmndTCPConfig(void) { @@ -229,7 +229,7 @@ void CmndTCPConfig(void) { uint8_t serial_config = ParseSerialConfig(XdrvMailbox.data); if ((serial_config >= 0) && (Settings->tcp_config != (0x80 | serial_config))) { Settings->tcp_config = 0x80 | serial_config; // default 0x00 should be 8N1 - if (!TCPSerial->begin(Settings->tcp_baudrate * 1200, ConvertSerialConfig(0x7F & Settings->tcp_config))) { + if (!TCPSerial->begin(Settings->tcp_baudrate * 300, ConvertSerialConfig(0x7F & Settings->tcp_config))) { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_TCP "failed reinit serial")); } // Reinitialize serial port with new config } From f5ed2e08457b3352b1f843c1b45d93bbd2532ae6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 30 May 2024 10:54:32 +0200 Subject: [PATCH 77/88] Fix oops --- tasmota/tasmota_support/settings.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/tasmota_support/settings.ino b/tasmota/tasmota_support/settings.ino index ba6850b9c..24dc0d636 100644 --- a/tasmota/tasmota_support/settings.ino +++ b/tasmota/tasmota_support/settings.ino @@ -1814,7 +1814,7 @@ void SettingsDelta(void) { Settings->power_lock = 0; } if (Settings->version < 0x0E000004) { // 14.0.0.4 - Settings->tcp_baudrate = Settings->ex_tcp_baudrate / 4; + Settings->tcp_baudrate = (uint16_t)Settings->ex_tcp_baudrate * 4; } Settings->version = TASMOTA_VERSION; From ec696509b9798503b665683b54b08f06def8dc9f Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Thu, 30 May 2024 12:44:09 +0200 Subject: [PATCH 78/88] uDisplay Parallel display on Core3 (#21529) --- CHANGELOG.md | 1 + lib/lib_display/UDisplay/uDisplay.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f352c4fc6..5020890e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ All notable changes to this project will be documented in this file. ### Fixed - ESP32 slow response when using UDP as in emulation (#21470) +- uDisplay Parallel display on Core3 ## [14.0.0.2] 20240529 ### Added diff --git a/lib/lib_display/UDisplay/uDisplay.cpp b/lib/lib_display/UDisplay/uDisplay.cpp index 3b4ed0449..e24b0ab42 100755 --- a/lib/lib_display/UDisplay/uDisplay.cpp +++ b/lib/lib_display/UDisplay/uDisplay.cpp @@ -1289,6 +1289,7 @@ Renderer *uDisplay::Init(void) { esp_lcd_i80_bus_config_t bus_config = { .dc_gpio_num = par_rs, .wr_gpio_num = par_wr, + .clk_src = LCD_CLK_SRC_DEFAULT, .bus_width = bus_width, .max_transfer_bytes = 32768 }; From 533b86d89033a731f583091cdc2952e8cbd11425 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 30 May 2024 14:12:20 +0200 Subject: [PATCH 79/88] Update changelogs --- CHANGELOG.md | 2 +- RELEASENOTES.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5020890e1..5e5424484 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. - TCP bridge increased baudrate selection (#21528) ### Fixed +- uDisplay Parallel display on Core3 (#21529) ### Removed @@ -21,7 +22,6 @@ All notable changes to this project will be documented in this file. ### Fixed - ESP32 slow response when using UDP as in emulation (#21470) -- uDisplay Parallel display on Core3 ## [14.0.0.2] 20240529 ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0986271de..65bf72153 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -144,6 +144,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) - Watchdog restart or freeze if ``displaytext`` is more than 128 characters [#21401](https://github.com/arendst/Tasmota/issues/21401) - Wrong timeout in `WebQuery` and `webclient` since Core3 [#21442](https://github.com/arendst/Tasmota/issues/21442) +- uDisplay Parallel display on Core3 [#21529](https://github.com/arendst/Tasmota/issues/21529) - UfsServe watchdog on large folder [#21486](https://github.com/arendst/Tasmota/issues/21486) - SML compile error when median-filter is disabled [#21495](https://github.com/arendst/Tasmota/issues/21495) - Hydreon RG15 malformed JSON string [#21508](https://github.com/arendst/Tasmota/issues/21508) From 4d9e9198b57b8c6f2c5d9c8a9b810bf5eb9f5a78 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 30 May 2024 13:18:26 +0100 Subject: [PATCH 80/88] SML: FastExit for binary SML parsing (#21497) * SML: FastExit for binary SML parsing * moved the fast-exit in the SML-shift-in * Using constants for flags --------- Co-authored-by: Roland Praml --- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index e33c324d0..59998d7fc 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -554,6 +554,12 @@ struct METER_DESC { #define TCP_MODE_FLG 0x7f +// Meter flags +#define PULLUP_FLG 0x01 +#define ANALOG_FLG 0x02 +#define MEDIAN_FILTER_FLG 0x10 +#define NO_SYNC_FLG 0x20 + struct METER_DESC meter_desc[MAX_METERS]; @@ -1480,6 +1486,11 @@ void sml_shift_in(uint32_t meters, uint32_t shard) { case 's': // binary obis = sml mp->sbuff[mp->sbsiz - 1] = iob; + if (mp->sbuff[0] != SML_SYNC && ((mp->flag & NO_SYNC_FLG) == 0)) { + // Skip decoding, when buffer does not start with sync byte (0x77) + sb_counter++; + return; + } break; case 'r': // raw with shift @@ -1892,7 +1903,7 @@ void SML_Decode(uint8_t index) { // differece is only valid after 2. calculation sml_globs.dvalid[vindex] = 2; #ifdef USE_SML_MEDIAN_FILTER - if (sml_globs.mp[mindex].flag & 16) { + if (sml_globs.mp[mindex].flag & MEDIAN_FILTER_FLG) { sml_globs.meter_vars[vindex] = sml_median(&sml_globs.sml_mf[vindex], dres); } else { sml_globs.meter_vars[vindex] = dres; @@ -2439,7 +2450,7 @@ void SML_Decode(uint8_t index) { } } #ifdef USE_SML_MEDIAN_FILTER - if (sml_globs.mp[mindex].flag & 16) { + if (sml_globs.mp[mindex].flag & MEDIAN_FILTER_FLG) { sml_globs.meter_vars[vindex] = sml_median(&sml_globs.sml_mf[vindex], dval); } else { sml_globs.meter_vars[vindex] = dval; @@ -3390,11 +3401,11 @@ next_line: for (uint8_t meters = 0; meters < sml_globs.meters_used; meters++) { METER_DESC *mp = &meter_desc[meters]; if (mp->type == 'c') { - if (mp->flag & 2) { + if (mp->flag & ANALOG_FLG) { } else { // counters, set to input with pullup - if (mp->flag & 1) { + if (mp->flag & PULLUP_FLG) { pinMode(mp->srcpin, INPUT_PULLUP); } else { pinMode(mp->srcpin, INPUT); @@ -3877,7 +3888,7 @@ uint32_t ctime = millis(); if (ctime - sml_counters[cindex].sml_cnt_last_ts > sml_globs.mp[meters].params) { sml_counters[cindex].sml_cnt_last_ts = ctime; - if (sml_globs.mp[meters].flag & 2) { + if (sml_globs.mp[meters].flag & ANALOG_FLG) { // analog mode, get next value } else { // poll digital input From 90e21a5902b4036d5e8d306118c4b9ad30ac27b1 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Thu, 30 May 2024 14:22:14 +0200 Subject: [PATCH 81/88] Update changelogs --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e5424484..c64bbd199 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.0.0.4] ### Added +- SML FastExit for binary SML parsing (#21497) ### Breaking Changed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 65bf72153..017a888e4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -123,6 +123,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Added - Optional command ``WebRun`` (as WebQuery extension) [#21364](https://github.com/arendst/Tasmota/issues/21364) - Support for Knx dimmer and color [#21434](https://github.com/arendst/Tasmota/issues/21434) +- SML FastExit for binary SML parsing [#21497](https://github.com/arendst/Tasmota/issues/21497) - Berry add reuse of methods for interface-like code reuse [#21500](https://github.com/arendst/Tasmota/issues/21500) - Support for Matter 1.3 Water leak detectors [#21456](https://github.com/arendst/Tasmota/issues/21456) From 0bd5f6b27ab76bf970bb0d03226286a60cbc3e5f Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Fri, 31 May 2024 08:58:11 +0200 Subject: [PATCH 82/88] Remove deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` (#21533) --- BUILDS.md | 1 - CHANGELOG.md | 1 + tasmota/include/tasmota_template.h | 64 --- tasmota/tasmota_support/support_features.ino | 6 +- .../xdrv_42_3_i2s_saytime.ino | 2 +- .../xdrv_42_6_i2s_rtttl.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_55_touch.ino | 37 -- .../xdrv_83_esp32_watch.ino | 453 +----------------- .../tasmota_xdsp_display/xdsp_02_ssd1306.ino | 177 ------- .../tasmota_xdsp_display/xdsp_04_ili9341.ino | 395 --------------- .../tasmota_xdsp_display/xdsp_07_sh1106.ino | 177 ------- .../tasmota_xdsp_display/xdsp_09_SSD1351.ino | 160 ------- .../tasmota_xdsp_display/xdsp_12_ST7789.ino | 191 -------- .../tasmota_xdsp_display/xdsp_14_SSD1331.ino | 176 ------- .../xdsp_17_universal.ino | 5 - 15 files changed, 8 insertions(+), 1839 deletions(-) diff --git a/BUILDS.md b/BUILDS.md index 4f9aed466..4ba198ea5 100644 --- a/BUILDS.md +++ b/BUILDS.md @@ -267,7 +267,6 @@ Note: the `minimal` variant is not listed as it shouldn't be used outside of the | USE_WEBCAM | | / - | | | | | | USE_ETHERNET | | / x | | | | | | USE_I2S_AUDIO | | / - | | | | | -| USE_TTGO_WATCH | | / - | | | | | | USE_SONOFF_SPM | | / x | | | | | | USE_DISPLAY_TM1621_SONOFF | | / x | | | | | | USE_SHELLY_PRO | | / x | | | | | diff --git a/CHANGELOG.md b/CHANGELOG.md index c64bbd199..d7d9e31bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ All notable changes to this project will be documented in this file. - uDisplay Parallel display on Core3 (#21529) ### Removed +- Deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` ## [14.0.0.3] 20240530 ### Changed diff --git a/tasmota/include/tasmota_template.h b/tasmota/include/tasmota_template.h index 8f0dbd086..78343eb5a 100644 --- a/tasmota/include/tasmota_template.h +++ b/tasmota/include/tasmota_template.h @@ -3235,8 +3235,6 @@ enum SupportedModulesESP32 { ODROID_GO, ESP32_SOLO, WT32_ETH01, - TTGO_WATCH, - M5STACK_CORE2, MAXMODULE }; // Default module settings @@ -3254,12 +3252,6 @@ const uint8_t kModuleNiceList[] PROGMEM = { #ifdef USE_WT32_ETH01 WT32_ETH01, #endif // USE_WT32_ETH01 -#ifdef USE_TTGO_WATCH -// TTGO_WATCH, // To be defined -#endif // USE_TTGO_WATCH -#ifdef USE_M5STACK_CORE2 - M5STACK_CORE2, -#endif // USE_M5STACK_CORE2 }; // !!! Update this list in the same order as kModuleNiceList !!! @@ -3277,12 +3269,6 @@ const char kModuleNames[] PROGMEM = #ifdef USE_WT32_ETH01 "WT32-Eth01|" #endif // USE_WT32_ETH01 -#ifdef USE_TTGO_WATCH -// "TTGO Watch|" // To be defined -#endif // USE_TTGO_WATCH -#ifdef USE_M5STACK_CORE2 - "M5Stack Core2|" -#endif // USE_M5STACK_CORE2 ; // !!! Update this list in the same order as SupportedModulesESP32 !!! @@ -3474,56 +3460,6 @@ const mytmplt kModules[] PROGMEM = { }, #endif // USE_WT32_ETH01 -#ifdef USE_TTGO_WATCH -// { // TTGO Watch (ESP32) - To be defined -// }, -#endif // USE_TTGO_WATCH - -#ifdef USE_M5STACK_CORE2 - { // M5STACK CORE2 - (ESP32) - AGPIO(GPIO_USER), // 0 (I)O GPIO0, SPKR_LRCK - AGPIO(GPIO_USER), // 1 IO TXD0 GPIO1, U0TXD - AGPIO(GPIO_USER), // 2 IO GPIO2, SPKR_DATA - AGPIO(GPIO_USER), // 3 IO RXD0 GPIO3, U0RXD - AGPIO(GPIO_SDCARD_CS), // 4 IO GPIO4, SPI_CS_CARD - AGPIO(GPIO_ILI9341_CS), // 5 IO GPIO5, SPI_CS_LCD - // 6 IO Remapped to 28 - // 7 IO Remapped to 29 - // 8 IO Remapped to 30 - 0, // 9 IO GPIO9, Flash D2, PSRAM_D3 - 0, // 10 IO GPIO10, Flash D3, PSRAM_D2 - // 11 IO Remapped to 31 - 0, // 12 (I)O GPIO12, SPKR_CLK - AGPIO(GPIO_USER), // 13 IO GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER - AGPIO(GPIO_USER), // 14 IO GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2 - AGPIO(GPIO_ILI9341_DC), // 15 (I)O GPIO15, SPI_DC_LCD - 0, // 16 IO GPIO16, PSRAM_CS - 0, // 17 IO GPIO17, PSRAM_CLK - AGPIO(GPIO_SPI_CLK), // 18 IO GPIO18, SPI_CLK - AGPIO(GPIO_USER), // 19 IO GPIO19, VSPIQ, U0CTS, EMAC_TXD0 - 0, // 20 - 0, // 21 IO GPIO21, I2C_SDA_INTERNAL - 0, // 22 IO LED GPIO22, I2C_SCL_INTERNAL - AGPIO(GPIO_SPI_MOSI), // 23 IO GPIO23, SPI_MOSI - 0, // 24 - AGPIO(GPIO_USER), // 25 IO GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0 - AGPIO(GPIO_USER), // 26 IO GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1 - AGPIO(GPIO_USER), // 27 IO GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV - 0, // 6 IO GPIO6, Flash CLK - 0, // 7 IO GPIO7, Flash D0 - 0, // 8 IO GPIO8, Flash D1 - 0, // 11 IO GPIO11, Flash CMD - AGPIO(GPIO_I2C_SDA), // 32 IO GPIO32, I2C_SDA - AGPIO(GPIO_I2C_SCL), // 33 IO GPIO33, I2C_SCL - AGPIO(GPIO_USER), // 34 I NO PULLUP GPIO34, ADC1_CH6, RTC_GPIO4 - AGPIO(GPIO_USER), // 35 I NO PULLUP GPIO35, ADC1_CH7, RTC_GPIO5 - AGPIO(GPIO_USER), // 36 I NO PULLUP GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0 - 0, // 37 NO PULLUP - AGPIO(GPIO_SPI_MISO), // 38 NO PULLUP GPIO38, SPI_MISO - 0, // 39 I NO PULLUP GPIO39, INT_TOUCHPAD - 0 // Flag - } -#endif // USE_M5STACK_CORE2 }; /*********************************************************************************************\ diff --git a/tasmota/tasmota_support/support_features.ino b/tasmota/tasmota_support/support_features.ino index ae9d51101..457150896 100644 --- a/tasmota/tasmota_support/support_features.ino +++ b/tasmota/tasmota_support/support_features.ino @@ -599,9 +599,9 @@ constexpr uint32_t feature[] = { #if defined(USE_I2C) && defined(USE_EZOPH) 0x10000000 | // xsns_78_ezoph.ino #endif -#if defined(ESP32) && defined(USE_TTGO_WATCH) - 0x20000000 | // xdrv_83_esp32watch.ino -#endif +// #if defined(ESP32) && defined(USE_TTGO_WATCH) +// 0x20000000 | // xdrv_83_esp32watch.ino +// #endif #if defined(ESP32) && defined(USE_ETHERNET) 0x40000000 | // xdrv_82_ethernet.ino #endif diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino index f52b8bc71..839493de2 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_3_i2s_saytime.ino @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#if (defined(USE_I2S_AUDIO) || defined(USE_TTGO_WATCH) || defined(USE_M5STACK_CORE2) || defined(ESP32S3_BOX)) +#if (defined(USE_I2S_AUDIO) || defined(ESP32S3_BOX)) #ifdef USE_I2S_SAY_TIME long timezone = 2; byte daysavetime = 1; diff --git a/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino b/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino index bf4ecfdb3..e004648e0 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#if (defined(USE_I2S_AUDIO) || defined(USE_TTGO_WATCH) || defined(USE_M5STACK_CORE2) || defined(ESP32S3_BOX)) +#if (defined(USE_I2S_AUDIO) || defined(ESP32S3_BOX)) #ifdef USE_I2S_RTTTL #include "AudioFileSourcePROGMEM.h" #include "AudioGeneratorRTTTL.h" diff --git a/tasmota/tasmota_xdrv_driver/xdrv_55_touch.ino b/tasmota/tasmota_xdrv_driver/xdrv_55_touch.ino index d0e1f5885..213c7859f 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_55_touch.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_55_touch.ino @@ -127,11 +127,6 @@ uint32_t Touch_Status(int32_t sel) { } } -#ifdef USE_M5STACK_CORE2 -uint8_t tbstate[3]; -#endif // USE_M5STACK_CORE2 - - // simple resistive touch pins // with dma it should check for active transfers // so currently dont use dma @@ -447,27 +442,6 @@ void Touch_Check(void(*rotconvert)(int16_t *x, int16_t *y)) { if (TSGlobal.touched) { was_touched = true; -#ifdef USE_TOUCH_BUTTONS -#ifdef USE_M5STACK_CORE2 - // handle 3 built in touch buttons - uint16_t xcenter = 80; -#define TDELTA 30 -#define TYPOS 275 - for (uint32_t tbut = 0; tbut < 3; tbut++) { - if (TSGlobal.touch_xp > (xcenter - TDELTA) && TSGlobal.touch_xp < (xcenter + TDELTA) && TSGlobal.touch_yp > (TYPOS - TDELTA) && TSGlobal.touch_yp < (TYPOS + TDELTA)) { - // hit a button - if (!(tbstate[tbut] & 1)) { - // pressed - tbstate[tbut] |= 1; - //AddLog(LOG_LEVEL_INFO, PSTR("tbut: %d pressed"), tbut); - Touch_MQTT(tbut, "BIB", tbstate[tbut] & 1); - } - } - xcenter += 100; - } -#endif // USE_M5STACK_CORE2 -#endif // USE_TOUCH_BUTTONS - rotconvert(&TSGlobal.touch_xp, &TSGlobal.touch_yp); AddLog(LOG_LEVEL_DEBUG_MORE, "TS : touched x=%i y=%i gest=0x%02x (raw x=%i y=%i)", TSGlobal.touch_xp, TSGlobal.touch_yp, TSGlobal.gesture, TSGlobal.raw_touch_xp, TSGlobal.raw_touch_yp); @@ -476,17 +450,6 @@ void Touch_Check(void(*rotconvert)(int16_t *x, int16_t *y)) { #endif // USE_TOUCH_BUTTONS } else { -#ifdef USE_M5STACK_CORE2 - for (uint32_t tbut = 0; tbut < 3; tbut++) { - if (tbstate[tbut] & 1) { - // released - tbstate[tbut] &= 0xfe; - Touch_MQTT(tbut, "BIB", tbstate[tbut] & 1); - //AddLog(LOG_LEVEL_INFO, PSTR("tbut: %d released"), tbut); - } - } -#endif // USE_M5STACK_CORE2 - rotconvert(&TSGlobal.touch_xp, &TSGlobal.touch_yp); // still do rot convert if not TSGlobal.touched if (was_touched) { AddLog(LOG_LEVEL_DEBUG_MORE, "TS : released x=%i y=%i (raw x=%i y=%i)", TSGlobal.touch_xp, TSGlobal.touch_yp, TSGlobal.raw_touch_xp, TSGlobal.raw_touch_yp); diff --git a/tasmota/tasmota_xdrv_driver/xdrv_83_esp32_watch.ino b/tasmota/tasmota_xdrv_driver/xdrv_83_esp32_watch.ino index 236db41f3..01ab75dd3 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_83_esp32_watch.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_83_esp32_watch.ino @@ -17,454 +17,5 @@ along with this program. If not, see . */ -#ifdef ESP32 -#ifdef USE_TTGO_WATCH - -#include -#include -#include - -#define XDRV_83 83 - -#define AXP202_INT 35 - -struct TTGO_ADC { - float vbus_v; - float vbus_c; - float batt_v; - float batt_c; - float temp; - uint16_t per; -} ttgo_adc; - -enum { - Q_EVENT_WIFI_SCAN_DONE, - Q_EVENT_WIFI_CONNECT, - Q_EVENT_BMA_INT, - Q_EVENT_AXP_INT, -} ; - -#define BMA423_INT1 39 -#define BMA423_INT2 0 - -#define WATCH_FLAG_SLEEP_MODE _BV(1) -#define WATCH_FLAG_SLEEP_EXIT _BV(2) -#define WATCH_FLAG_BMA_IRQ _BV(3) -#define WATCH_FLAG_AXP_IRQ _BV(4) - -struct TTGO_globs { - AXP20X_Class *ttgo_power = nullptr; - I2CBus *i2c = nullptr; - BMA *bma = nullptr; - QueueHandle_t g_event_queue_handle = NULL; - //EventGroupHandle_t g_event_group = NULL; - EventGroupHandle_t isr_group = NULL; - bool lenergy = false; - bool bma_double_click = false; - bool bma_click = false; - bool bma_button = false; - bool power_ok = false; -} ttgo_globs; - - -void TTGO_Init(void) { - ttgo_globs.ttgo_power = new AXP20X_Class(); - ttgo_globs.i2c = new I2CBus(); - TTGO_initPower(); - -#ifdef USE_BMA423 - ttgo_globs.bma = new BMA(*ttgo_globs.i2c); - if (ttgo_globs.bma->begin()) { - I2cSetActiveFound(BMA4_I2C_ADDR_SECONDARY, "BMA423"); - } else { - return; - } - - ttgo_globs.bma->attachInterrupt(); - pinMode(BMA423_INT1, INPUT); - attachInterrupt(BMA423_INT1, [] { - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - EventBits_t bits = xEventGroupGetBitsFromISR(ttgo_globs.isr_group); - if (bits & WATCH_FLAG_SLEEP_MODE) - { - // Use an XEvent when waking from low energy sleep mode. - xEventGroupSetBitsFromISR(ttgo_globs.isr_group, WATCH_FLAG_SLEEP_EXIT | WATCH_FLAG_BMA_IRQ, &xHigherPriorityTaskWoken); - } else - { - // Use the XQueue mechanism when we are already awake. - uint8_t data = Q_EVENT_BMA_INT; - xQueueSendFromISR(ttgo_globs.g_event_queue_handle, &data, &xHigherPriorityTaskWoken); - } - - if (xHigherPriorityTaskWoken) - { - portYIELD_FROM_ISR (); - } - }, RISING); - struct bma423_axes_remap remap_data; - - remap_data.x_axis = 0; - remap_data.x_axis_sign = 1; - remap_data.y_axis = 1; - remap_data.y_axis_sign = 0; - remap_data.z_axis = 2; - remap_data.z_axis_sign = 1; - - ttgo_globs.bma->set_remap_axes(&remap_data); - // Enable the double tap wakeup. - ttgo_globs.bma->enableWakeupInterrupt(true); - ttgo_globs.bma->enableAnyNoMotionInterrupt(true); - ttgo_globs.bma->enableAccel(); -#endif // USE_BMA423 -} - -void TTGO_initPower(void) { - int ret = ttgo_globs.ttgo_power->begin(axpReadBytes, axpWriteBytes); - if (ret == AXP_FAIL) { - //DBGX("AXP Power begin failed"); - // Serial.printf("AXP202 failed\n" ); - } else { - I2cSetActiveFound(AXP202_SLAVE_ADDRESS, "AXP202"); - ttgo_globs.power_ok = true; - // Serial.printf("AXP202 OK\n" ); - - //Change the button boot time to 4 seconds - ttgo_globs.ttgo_power->setShutdownTime(AXP_POWER_OFF_TIME_4S); - // Turn off the charging instructions, there should be no - ttgo_globs.ttgo_power->setChgLEDMode(AXP20X_LED_OFF); - // Turn off external enable - ttgo_globs.ttgo_power->setPowerOutPut(AXP202_EXTEN, false); - //axp202 allows maximum charging current of 1800mA, minimum 300mA - ttgo_globs.ttgo_power->setChargeControlCur(300); - - ttgo_globs.ttgo_power->adc1Enable(AXP202_VBUS_VOL_ADC1 | AXP202_VBUS_CUR_ADC1 | AXP202_BATT_CUR_ADC1 | AXP202_BATT_VOL_ADC1, true); - - ttgo_globs.ttgo_power->adc2Enable(AXP202_TEMP_MONITORING_ADC2, true); - - ttgo_globs.ttgo_power->enableIRQ(AXP202_VBUS_REMOVED_IRQ | AXP202_VBUS_CONNECT_IRQ | AXP202_CHARGING_FINISHED_IRQ, AXP202_ON); - ttgo_globs.ttgo_power->clearIRQ(); - - ttgo_globs.ttgo_power->setPowerOutPut(AXP202_LDO2, AXP202_ON); - - ttgo_globs.isr_group = xEventGroupCreate(); - ttgo_globs.g_event_queue_handle = xQueueCreate(20, sizeof(uint8_t)); - - // Connection interrupted to the specified pin - pinMode(AXP202_INT, INPUT); - attachInterrupt(AXP202_INT, [] { - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - EventBits_t bits = xEventGroupGetBitsFromISR(ttgo_globs.isr_group); - if (bits & WATCH_FLAG_SLEEP_MODE) { - // Use an XEvent when waking from low energy sleep mode. - xEventGroupSetBitsFromISR(ttgo_globs.isr_group, WATCH_FLAG_SLEEP_EXIT | WATCH_FLAG_AXP_IRQ, &xHigherPriorityTaskWoken); - } else { - // Use the XQueue mechanism when we are already awake. - uint8_t data = Q_EVENT_AXP_INT; - xQueueSendFromISR(ttgo_globs.g_event_queue_handle, &data, &xHigherPriorityTaskWoken); - } - if (xHigherPriorityTaskWoken) { - portYIELD_FROM_ISR (); - } - }, FALLING); - - } - -} - -static uint8_t axpWriteBytes(uint8_t devAddress, uint8_t regAddress, uint8_t *data, uint8_t len) { - ttgo_globs.i2c->writeBytes(devAddress, regAddress, data, len); - return 0; -} - -static uint8_t axpReadBytes(uint8_t devAddress, uint8_t regAddress, uint8_t *data, uint8_t len) { - ttgo_globs.i2c->readBytes(devAddress, regAddress, data, len); - return 0; -} - - -void TTGO_GetADC(void) { - ttgo_adc.vbus_v = ttgo_globs.ttgo_power->getVbusVoltage(); - ttgo_adc.vbus_c = ttgo_globs.ttgo_power->getVbusCurrent(); - ttgo_adc.batt_v = ttgo_globs.ttgo_power->getBattVoltage(); - ttgo_adc.per = ttgo_globs.ttgo_power->getBattPercentage(); - ttgo_adc.batt_c = ttgo_globs.ttgo_power->getBattDischargeCurrent(); - ttgo_adc.temp = ttgo_globs.ttgo_power->getTemp(); -} - -#ifdef USE_WEBSERVER -const char HTTP_TTGO[] PROGMEM = - "{s}TTGO " "VBUS Voltage" "{m}%s mV" "{e}" - "{s}TTGO " "VBUS Current" "{m}%s mA" "{e}" - "{s}TTGO " "BATT Voltage" "{m}%s mV" "{e}" - "{s}TTGO " "BATT Current" "{m}%s mA" "{e}" - "{s}TTGO " "BATT Percentage" "{m}%d %%" "{e}" - "{s}TTGO " "Temperature" "{m}%s C" "{e}"; -#ifdef USE_BMA423 -const char HTTP_TTGO_BMA[] PROGMEM = - "{s}TTGO " "BMA x" "{m}%d mg" "{e}" - "{s}TTGO " "BMA y" "{m}%d mg" "{e}" - "{s}TTGO " "BMA z" "{m}%d mg" "{e}"; -#endif // USE_BMA423 -#endif // USE_WEBSERVER - - -void TTGO_WebShow(uint32_t json) { - - if (ttgo_globs.power_ok == false) return; - - TTGO_GetADC(); - - char vstring[32]; - char cstring[32]; - char bvstring[32]; - char bcstring[32]; - char tstring[32]; - dtostrfd(ttgo_adc.vbus_v,2,vstring); - dtostrfd(ttgo_adc.vbus_c,2,cstring); - dtostrfd(ttgo_adc.batt_v,2,bvstring); - dtostrfd(ttgo_adc.batt_c,2,bcstring); - dtostrfd(ttgo_adc.temp,2,tstring); - -#ifdef USE_BMA423 - Accel acc; - bool res = ttgo_globs.bma->getAccel(acc); -#endif // USE_BMA423 - - if (json) { - ResponseAppend_P(PSTR(",\"TTGO_WATCH\":{\"VBV\":%s,\"VBC\":%s,\"BV\":%s,\"BC\":%s,\"BP\":%d,\"CT\":%s"), - vstring, cstring, bvstring, bcstring, ttgo_adc.per, tstring); -#ifdef USE_BMA423 - ResponseAppend_P(PSTR(",\"BMAX\":%d,\"BMAY\":%d,\"BMAZ\":%d"),acc.x,acc.y,acc.z); -#endif - ResponseJsonEnd(); -#ifdef USE_WEBSERVER - } else { - WSContentSend_PD(HTTP_TTGO,vstring,cstring,bvstring,bcstring,ttgo_adc.per,tstring); -#ifdef USE_BMA423 - WSContentSend_PD(HTTP_TTGO_BMA,acc.x,acc.y,acc.z); -#endif // USE_BMA423 -#endif // USE_WEBSERVER - } -} - - -void TTGO_enableLDO3(bool en = true) { - if (!ttgo_globs.ttgo_power) return; - ttgo_globs.ttgo_power->setLDO3Mode(1); - ttgo_globs.ttgo_power->setPowerOutPut(AXP202_LDO3, en); -} - -void TTGO_audio_power(bool power) { // Not every watch has audio - TTGO_enableLDO3(power); -} - -const char TTGO_Commands[] PROGMEM = "TTGO|" - "LSLP"; - -void (* const TTTGO_Command[])(void) PROGMEM = { - &TTGO_LightSleep}; - -void TTGO_LightSleep(void) { -int32_t ttgo_sleeptime; - - // switch device off - if ((abs(XdrvMailbox.payload) >= 10) && (abs(XdrvMailbox.payload) <= 3600*24)) { - ttgo_sleeptime = XdrvMailbox.payload; - } else { - ttgo_sleeptime = 0; - } - - ResponseCmndNumber(ttgo_sleeptime); - - TTGO_Sleep(ttgo_sleeptime); - -} - -void TTGO_Sleep(int32_t stime) { -int32_t ttgo_sleeptime; - - ttgo_sleeptime = stime; - -#ifdef USE_DISPLAY - DisplayOnOff(0); -#endif - if (ttgo_sleeptime>=0) { - // ligh sleep mode - WifiShutdown(); - SettingsSaveAll(); - RtcSettingsSave(); - ttgo_globs.lenergy = true; - setCpuFrequencyMhz(10); - xEventGroupSetBits(ttgo_globs.isr_group, WATCH_FLAG_SLEEP_MODE); - gpio_wakeup_enable ((gpio_num_t)AXP202_INT, GPIO_INTR_LOW_LEVEL); - gpio_wakeup_enable ((gpio_num_t)BMA423_INT1, GPIO_INTR_HIGH_LEVEL); - esp_sleep_enable_gpio_wakeup(); - if (ttgo_sleeptime) { - esp_sleep_enable_timer_wakeup(ttgo_sleeptime * 1000000); - } - esp_light_sleep_start(); - } else { - ttgo_globs.ttgo_power->setPowerOutPut(0xFF, false); - Settings->deepsleep = -ttgo_sleeptime; -#ifdef USE_DEEPSLEEP - RtcSettings.nextwakeup = 0; - deepsleep_flag = (0 == XdrvMailbox.payload) ? 0 : DEEPSLEEP_START_COUNTDOWN; - if (deepsleep_flag) { - if (!Settings->tele_period) { - Settings->tele_period = TELE_PERIOD; // Need teleperiod to go back to sleep - } - } -#endif - return; - } - - if (ttgo_sleeptime) { - ttgo_globs.lenergy = false; - setCpuFrequencyMhz(240); -#ifdef USE_DISPLAY - DisplayOnOff(1); -#endif - } else { - while (ttgo_globs.lenergy == true) { - TTGO_loop(0); - OsWatchLoop(); - } - } -} - - -void TTGO_loop(uint32_t flg) { -bool rlst; -uint8_t data; - - if (!flg) { -// An XEvent signifies that there has been a wakeup interrupt, bring the CPU out of low energy mode - EventBits_t bits = xEventGroupGetBits(ttgo_globs.isr_group); - if (bits & WATCH_FLAG_SLEEP_EXIT) { - if (ttgo_globs.lenergy) { - ttgo_globs.lenergy = false; - setCpuFrequencyMhz(240); -#ifdef USE_DISPLAY - DisplayOnOff(1); -#endif - } - -#ifdef USE_BMA423 - if (bits & WATCH_FLAG_BMA_IRQ) { - do { - rlst = ttgo_globs.bma->readInterrupt(); - } while (!rlst); - xEventGroupClearBits(ttgo_globs.isr_group, WATCH_FLAG_BMA_IRQ); - } -#endif - - if (bits & WATCH_FLAG_AXP_IRQ) { - ttgo_globs.ttgo_power->readIRQ(); - ttgo_globs.ttgo_power->clearIRQ(); - xEventGroupClearBits(ttgo_globs.isr_group, WATCH_FLAG_AXP_IRQ); - } - xEventGroupClearBits(ttgo_globs.isr_group, WATCH_FLAG_SLEEP_EXIT); - xEventGroupClearBits(ttgo_globs.isr_group, WATCH_FLAG_SLEEP_MODE); - } - } else { - //! Normal polling - if (xQueueReceive(ttgo_globs.g_event_queue_handle, &data, 5 / portTICK_RATE_MS) == pdPASS) { - switch (data) { -#ifdef USE_BMA423 - case Q_EVENT_BMA_INT: - // DSERIAL(println, "Q_EVENT_BMA_IRQ"); - do { - rlst = ttgo_globs.bma->readInterrupt(); - } while (!rlst); - - if (ttgo_globs.bma->isDoubleClick()) { - ttgo_globs.bma_double_click = true; - //AddLog(LOG_LEVEL_INFO, PSTR("double click")); - } - if (ttgo_globs.bma->isAnyNoMotion()) { - ttgo_globs.bma_click = true; - //AddLog(LOG_LEVEL_INFO, PSTR("click")); - } - - //! setp counter - if (ttgo_globs.bma->isStepCounter()) { - //updateStepCounter(ttgo_globs.bma->getCounter()); - } - break; -#endif - case Q_EVENT_AXP_INT: - // DSERIAL(println, "Q_EVENT_AXP_INT"); - ttgo_globs.ttgo_power->readIRQ(); - if (ttgo_globs.ttgo_power->isVbusPlugInIRQ()) { - //batState = LV_ICON_CHARGE; - //updateBatteryIcon(LV_ICON_CHARGE); - } - if (ttgo_globs.ttgo_power->isVbusRemoveIRQ()) { - //batState = LV_ICON_CALCULATION; - //updateBatteryIcon(LV_ICON_CALCULATION); - } - if (ttgo_globs.ttgo_power->isChargingDoneIRQ()) { - //batState = LV_ICON_CALCULATION; - //updateBatteryIcon(LV_ICON_CALCULATION); - } - if (ttgo_globs.ttgo_power->isPEKShortPressIRQ()) { - ttgo_globs.bma_button = true; - //AddLog(LOG_LEVEL_INFO, PSTR("button press")); - } - ttgo_globs.ttgo_power->clearIRQ(); - break; - default: - break; - } - } - } -} - -bool TTGO_doubleclick(void) { - bool retval = ttgo_globs.bma_double_click; - ttgo_globs.bma_double_click = false; - return retval; -} - -bool TTGO_button(void) { - bool retval = ttgo_globs.bma_button; - ttgo_globs.bma_button = false; - return retval; -} - -/*********************************************************************************************\ - * Interface -\*********************************************************************************************/ - -bool Xdrv83(uint32_t function) { - bool result = false; - - switch (function) { - - case FUNC_WEB_SENSOR: -#ifdef USE_WEBSERVER - TTGO_WebShow(0); -#endif - break; - case FUNC_JSON_APPEND: - TTGO_WebShow(1); - break; - case FUNC_COMMAND: - result = DecodeCommand(TTGO_Commands, TTTGO_Command); - break; - case FUNC_INIT: - TTGO_Init(); - break; - case FUNC_LOOP: - TTGO_loop(1); - break; - case FUNC_ACTIVE: - result = true; - break; - - } - return result; -} - -#endif // USE_TTGO_WATCH -#endif // ESP32 +// REMOVED +// DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay diff --git a/tasmota/tasmota_xdsp_display/xdsp_02_ssd1306.ino b/tasmota/tasmota_xdsp_display/xdsp_02_ssd1306.ino index 029fa4268..c22a20d02 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_02_ssd1306.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_02_ssd1306.ino @@ -19,180 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// #ifdef USE_I2C -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_SSD1306 - -// #define XDSP_02 2 -// #define XI2C_04 4 // See I2CDEVICES.md - -// #define OLED_RESET 4 - -// #define SPRINT(A) char str[32];sprintf(str,"val: %d ",A);Serial.println((char*)str); - -// #define OLED_ADDRESS1 0x3C // Oled 128x32 I2C address -// #define OLED_ADDRESS2 0x3D // Oled 128x64 I2C address - -// #define OLED_BUFFER_COLS 40 // Max number of columns in display shadow buffer -// #define OLED_BUFFER_ROWS 16 // Max number of lines in display shadow buffer - -// #define OLED_FONT_WIDTH 6 -// #define OLED_FONT_HEIGTH 8 - -// #include -// #include -// #include - -// Adafruit_SSD1306 *oled1306; - -// extern uint8_t *buffer; - -// /*********************************************************************************************/ - -// void SSD1306InitDriver(void) { -// if (!TasmotaGlobal.i2c_enabled) { return; } - -// if (!Settings->display_model) { -// if (I2cSetDevice(OLED_ADDRESS1)) { -// Settings->display_address[0] = OLED_ADDRESS1; -// Settings->display_model = XDSP_02; -// } -// else if (I2cSetDevice(OLED_ADDRESS2)) { -// Settings->display_address[0] = OLED_ADDRESS2; -// Settings->display_model = XDSP_02; -// } -// } - -// if (XDSP_02 == Settings->display_model) { -// I2cSetActiveFound(Settings->display_address[0], "SSD1306"); - -// if ((Settings->display_width != 72) && (Settings->display_width != 64) && (Settings->display_width != 96) && (Settings->display_width != 128)) { -// Settings->display_width = 128; -// } -// if ((Settings->display_height != 40) && (Settings->display_height != 16) && (Settings->display_height != 32) && (Settings->display_height != 48) && (Settings->display_height != 64)) { -// Settings->display_height = 64; -// } - -// // init renderer -// // oled1306 = new Adafruit_SSD1306(SSD1306_LCDWIDTH,SSD1306_LCDHEIGHT); -// oled1306 = new Adafruit_SSD1306(Settings->display_width, Settings->display_height, &Wire, Pin(GPIO_OLED_RESET)); -// oled1306->begin(SSD1306_SWITCHCAPVCC, Settings->display_address[0], Pin(GPIO_OLED_RESET) >= 0); -// renderer = oled1306; -// renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, Settings->display_rotate, Settings->display_font); -// renderer->setTextColor(1,0); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// renderer->setTextFont(0); -// renderer->setTextSize(2); -// renderer->setCursor(20,20); -// renderer->println(F("SSD1306")); -// renderer->Updateframe(); -// renderer->DisplayOnff(1); -// } -// #endif - -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: SSD1306")); -// } -// } - -// /*********************************************************************************************/ -// #ifdef USE_DISPLAY_MODES1TO5 - -// void Ssd1306PrintLog(void) -// { -// disp_refresh--; -// if (!disp_refresh) { -// disp_refresh = Settings->display_refresh; -// if (!disp_screen_buffer_cols) { DisplayAllocScreenBuffer(); } - -// char* txt = DisplayLogBuffer('\370'); -// if (txt != NULL) { -// uint8_t last_row = Settings->display_rows -1; - -// renderer->clearDisplay(); -// renderer->setTextSize(Settings->display_size); -// renderer->setCursor(0,0); -// for (byte i = 0; i < last_row; i++) { -// strlcpy(disp_screen_buffer[i], disp_screen_buffer[i +1], disp_screen_buffer_cols); -// renderer->println(disp_screen_buffer[i]); -// } -// strlcpy(disp_screen_buffer[last_row], txt, disp_screen_buffer_cols); -// DisplayFillScreen(last_row); - -// AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_DEBUG "[%s]"), disp_screen_buffer[last_row]); - -// renderer->println(disp_screen_buffer[last_row]); -// renderer->Updateframe(); -// } -// } -// } - -// void Ssd1306Time(void) -// { -// char line[12]; - -// renderer->clearDisplay(); -// renderer->setTextSize(Settings->display_size); -// renderer->setTextFont(Settings->display_font); -// renderer->setCursor(0, 0); -// snprintf_P(line, sizeof(line), PSTR(" %02d" D_HOUR_MINUTE_SEPARATOR "%02d" D_MINUTE_SECOND_SEPARATOR "%02d"), RtcTime.hour, RtcTime.minute, RtcTime.second); // [ 12:34:56 ] -// renderer->println(line); -// renderer->println(); -// snprintf_P(line, sizeof(line), PSTR("%02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.day_of_month, RtcTime.month, RtcTime.year); // [01-02-2018] -// renderer->println(line); -// renderer->Updateframe(); -// } - -// void Ssd1306Refresh(void) // Every second -// { -// if (!renderer) return; - -// if (Settings->display_mode) { // Mode 0 is User text -// switch (Settings->display_mode) { -// case 1: // Time -// Ssd1306Time(); -// break; -// case 2: // Local -// case 3: // Local -// case 4: // Mqtt -// case 5: // Mqtt -// Ssd1306PrintLog(); -// break; -// } -// } -// } - -// #endif // USE_DISPLAY_MODES1TO5 - -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ - -// bool Xdsp02(uint32_t function) { -// if (!I2cEnabled(XI2C_04)) { return false; } - -// bool result = false; - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// SSD1306InitDriver(); -// } -// else if (XDSP_02 == Settings->display_model) { -// switch (function) { -// #ifdef USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_EVERY_SECOND: -// Ssd1306Refresh(); -// break; -// #endif // USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// } -// } -// return result; -// } - -// #endif // USE_DISPLAY_SSD1306 -// #endif // USE_DISPLAY -// #endif // USE_I2C diff --git a/tasmota/tasmota_xdsp_display/xdsp_04_ili9341.ino b/tasmota/tasmota_xdsp_display/xdsp_04_ili9341.ino index 2265dc2df..4fbf36541 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_04_ili9341.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_04_ili9341.ino @@ -19,398 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// #ifdef USE_SPI -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_ILI9341 - -// #define XDSP_04 4 - -// enum IliModes { ILIMODE_9341 = 1, ILIMODE_9342, ILIMODE_MAX }; - -// #include - -// extern uint8_t color_type; -// ILI9341_2 *ili9341_2; - -// #if defined(USE_FT5206) -// #include -// uint8_t ili9342_ctouch_counter = 0; -// #elif defined(USE_XPT2046) -// #include -// uint8_t ili9342_ctouch_counter = 0; -// #endif // USE_FT5206 - -// bool tft_init_done = false; - -// void Core2DisplayPower(uint8_t on); -// void Core2DisplayDim(uint8_t dim); - -// //Settings->display_options.type = ILIMODE_9341; - -// /*********************************************************************************************/ - -// void ILI9341_InitDriver() -// { - -// // There are displays without CS -// if (PinUsed(GPIO_ILI9341_CS) || PinUsed(GPIO_ILI9341_DC) && -// (TasmotaGlobal.spi_enabled || TasmotaGlobal.soft_spi_enabled)) { - -// Settings->display_model = XDSP_04; - -// if (Settings->display_width != ILI9341_TFTWIDTH) { -// Settings->display_width = ILI9341_TFTWIDTH; -// } -// if (Settings->display_height != ILI9341_TFTHEIGHT) { -// Settings->display_height = ILI9341_TFTHEIGHT; -// } - -// if (!Settings->display_options.type || (Settings->display_options.type >= ILIMODE_MAX)) { -// Settings->display_options.type = ILIMODE_9341; -// } - -// // default colors -// fg_color = ILI9341_WHITE; -// bg_color = ILI9341_BLACK; - -// // check for special case with 2 SPI busses (ESP32 bitcoin) -// if (TasmotaGlobal.soft_spi_enabled) { -// // Init renderer, may use hardware spi, however we use SSPI defintion because SD card uses SPI definition (2 spi busses) -// if (PinUsed(GPIO_SSPI_MOSI) && PinUsed(GPIO_SSPI_MISO) && PinUsed(GPIO_SSPI_SCLK)) { -// ili9341_2 = new ILI9341_2(Pin(GPIO_ILI9341_CS), Pin(GPIO_SSPI_MOSI), Pin(GPIO_SSPI_MISO), Pin(GPIO_SSPI_SCLK), Pin(GPIO_OLED_RESET), Pin(GPIO_ILI9341_DC), Pin(GPIO_BACKLIGHT), 2, Settings->display_options.type & 3); -// } -// } else if (TasmotaGlobal.spi_enabled) { -// if (PinUsed(GPIO_ILI9341_DC)) { -// ili9341_2 = new ILI9341_2(Pin(GPIO_ILI9341_CS), Pin(GPIO_SPI_MOSI), Pin(GPIO_SPI_MISO), Pin(GPIO_SPI_CLK), Pin(GPIO_OLED_RESET), Pin(GPIO_ILI9341_DC), Pin(GPIO_BACKLIGHT), 1, Settings->display_options.type & 3); -// } -// } - -// if (ili9341_2 == nullptr) { -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: ILI934x invalid GPIOs")); -// return; -// } - -// ili9341_2->init(Settings->display_width, Settings->display_height); -// renderer = ili9341_2; - -// #ifdef USE_M5STACK_CORE2 -// renderer->SetPwrCB(Core2DisplayPower); -// renderer->SetDimCB(Core2DisplayDim); -// #endif - -// renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, Settings->display_rotate, Settings->display_font); -// renderer->dim(GetDisplayDimmer16()); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// // Welcome text -// renderer->setTextFont(2); -// renderer->setTextSize(1); -// renderer->setTextColor(ILI9341_WHITE, ILI9341_BLACK); -// renderer->DrawStringAt(50, (Settings->display_height/2)-12, (Settings->display_options.type & 3)==ILIMODE_9341?"ILI9341 TFT!":"ILI9342 TFT!", ILI9341_WHITE, 0); -// delay(1000); -// } -// #endif // SHOW_SPLASH - -// color_type = COLOR_COLOR; - -// #ifdef USE_DISPLAY_MODES1TO5 -// if (Settings->display_rotate) { -// DisplayAllocScreenBuffer(); -// } -// Ili9341InitMode(); -// #endif // USE_DISPLAY_MODES1TO5 - -// #ifdef ESP32 -// #ifdef USE_FT5206 -// // start digitizer with fixed adress and pins for esp32 -// #undef SDA_2 -// #define SDA_2 21 -// #undef SCL_2 -// #define SCL_2 22 -// Wire1.begin(SDA_2, SCL_2, (uint32_t)400000); -// FT5206_Touch_Init(Wire1); -// #endif // USE_FT5206 -// #endif // ESP32 - -// #ifdef USE_XPT2046 -// XPT2046_Touch_Init(Pin(GPIO_XPT2046_CS),-1,0); -// #endif - -// tft_init_done = true; -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: ILI9341")); -// } -// } - -// #if defined(USE_FT5206) || defined(USE_XPT2046) -// #ifdef USE_TOUCH_BUTTONS - -// #ifdef USE_FT5206 -// void FT5206_TS_RotConvert(int16_t *x, int16_t *y) { - -// int16_t temp; -// if (renderer) { -// uint8_t rot = renderer->getRotation(); -// switch (rot) { -// case 0: -// break; -// case 1: -// temp = *y; -// *y = renderer->height() - *x; -// *x = temp; -// break; -// case 2: -// *x = renderer->width() - *x; -// *y = renderer->height() - *y; -// break; -// case 3: -// temp = *y; -// *y = *x; -// *x = renderer->width() - temp; -// break; -// } -// } -// } -// #endif // USE_FT5206 - -// #ifdef USE_XPT2046 -// void XPT2046_TS_RotConvert(int16_t *x, int16_t *y) { - -// int16_t temp; -// if (renderer) { -// uint8_t rot = renderer->getRotation(); -// // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR(" TS: before convert x:%d / y:%d screen r:%d / w:%d / h:%d"), *x, *y,rot,renderer->width(),renderer->height()); -// temp = map(*x,XPT2046_MINX,XPT2046_MAXX, renderer->height(), 0); -// *x = map(*y,XPT2046_MINY,XPT2046_MAXY, renderer->width(), 0); -// *y = temp; -// switch (rot) { -// case 0: -// break; -// case 1: -// temp = *y; -// *y = renderer->width() - *x; -// *x = temp; -// break; -// case 2: -// *x = renderer->width() - *x; -// *y = renderer->height() - *y; -// break; -// case 3: -// temp = *y; -// *y = *x; -// *x = renderer->height() - temp; -// break; -// } -// AddLog(LOG_LEVEL_DEBUG_MORE, PSTR(" TS: after convert x:%d / y:%d screen r:%d / w:%d / h:%d"), *x, *y,rot,renderer->width(),renderer->height()); -// } -// } -// #endif - -// // check digitizer hit -// void ili9342_CheckTouch() { -// ili9342_ctouch_counter++; -// if (2 == ili9342_ctouch_counter) { -// // every 100 ms should be enough -// ili9342_ctouch_counter = 0; -// #ifdef USE_FT5206 -// if (FT5206_found) { -// Touch_Check(FT5206_TS_RotConvert); -// } -// #endif // USE_FT5206 -// #ifdef USE_XPT2046 -// if (XPT2046_found) { -// Touch_Check(XPT2046_TS_RotConvert); -// } -// #endif // USE_XPT2046 -// } -// } -// #endif // USE_TOUCH_BUTTONS -// #endif // USE_FT5206 - - - -// #ifdef USE_DISPLAY_MODES1TO5 - -// #define TFT_TOP 16 -// #define TFT_BOTTOM 16 -// #define TFT_FONT_WIDTH 6 -// #define TFT_FONT_HEIGTH 8 // Adafruit minimal font heigth pixels - -// uint16_t tft_top = TFT_TOP; -// uint16_t tft_bottom = TFT_BOTTOM; -// uint16_t tft_scroll = TFT_TOP; -// uint16_t tft_cols = 0; - -// bool Ili9341Header(void) { -// if (Settings->display_cols[0] != tft_cols) { -// tft_cols = Settings->display_cols[0]; -// if (tft_cols > 17) { -// tft_top = TFT_TOP; -// tft_bottom = TFT_BOTTOM; -// } else { -// tft_top = 0; -// tft_bottom = 0; -// } -// tft_scroll = tft_top; -// renderer->setScrollMargins(tft_top, tft_bottom); -// } -// return (tft_cols > 17); -// } - -// void Ili9341InitMode(void) { -// // renderer->setRotation(Settings->display_rotate); // 0 -// #ifdef USE_DISPLAY_ILI9341 -// // renderer->invertDisplay(0); -// #endif -// renderer->fillScreen(ILI9341_BLACK); -// renderer->setTextWrap(false); // Allow text to run off edges -// renderer->cp437(true); -// if (!Settings->display_mode) { -// renderer->setCursor(0, 0); -// renderer->setTextColor(ILI9341_WHITE, ILI9341_BLACK); -// renderer->setTextSize(1); -// } else { -// Ili9341Header(); -// renderer->setCursor(0, 0); -// renderer->setTextColor(ILI9341_YELLOW, ILI9341_BLACK); -// renderer->setTextSize(2); -// // tft->println("HEADER"); -// } -// } - -// void Ili9341PrintLog(void) { -// disp_refresh--; -// if (!disp_refresh) { -// disp_refresh = Settings->display_refresh; -// if (Settings->display_rotate) { -// if (!disp_screen_buffer_cols) { DisplayAllocScreenBuffer(); } -// } - -// char* txt = DisplayLogBuffer('\370'); -// if (txt != nullptr) { -// uint8_t size = Settings->display_size; -// uint16_t theight = size * TFT_FONT_HEIGTH; - -// renderer->setTextSize(size); -// renderer->setTextColor(ILI9341_CYAN, ILI9341_BLACK); // Add background color to solve flicker -// if (!Settings->display_rotate) { // Use hardware scroll -// renderer->setCursor(0, tft_scroll); -// renderer->fillRect(0, tft_scroll, renderer->width(), theight, ILI9341_BLACK); // Erase line -// renderer->print(txt); -// tft_scroll += theight; -// if (tft_scroll >= (renderer->height() - tft_bottom)) { -// tft_scroll = tft_top; -// } -// renderer->scrollTo(tft_scroll); -// } else { -// uint8_t last_row = Settings->display_rows -1; - -// tft_scroll = (tft_top) ? theight : 0; // Start below header -// renderer->setCursor(0, tft_scroll); -// for (uint32_t i = 0; i < last_row; i++) { -// strlcpy(disp_screen_buffer[i], disp_screen_buffer[i +1], disp_screen_buffer_cols); -// // tft->fillRect(0, tft_scroll, tft->width(), theight, ILI9341_BLACK); // Erase line -// renderer->print(disp_screen_buffer[i]); -// tft_scroll += theight; -// renderer->setCursor(0, tft_scroll); -// delay(1); // Fix background runs heap usage due to long runtime of this loop (up to 1 second) -// } -// strlcpy(disp_screen_buffer[last_row], txt, disp_screen_buffer_cols); -// DisplayFillScreen(last_row); -// renderer->print(disp_screen_buffer[last_row]); -// } -// AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "[%s]"), txt); -// } -// } -// } - -// void ILI9341_Refresh(void) { // Every second -// if (Settings->display_mode) { // Mode 0 is User text -// // 24-04-2017 13:45:43 = 19 + 1 ('\0') = 20 -// // 24-04-2017 13:45 = 16 + 1 ('\0') = 17 - -// if (Ili9341Header()) { -// char tftdt[Settings->display_cols[0] +1]; -// char date4[11]; // 24-04-2017 -// uint8_t time_size = (Settings->display_cols[0] >= 20) ? 9 : 6; // 13:45:43 or 13:45 -// char spaces[Settings->display_cols[0] - (8 + time_size)]; -// char time[time_size]; // 13:45:43 - -// renderer->setTextSize(Settings->display_size); -// renderer->setTextColor(ILI9341_YELLOW, ILI9341_RED); // Add background color to solve flicker -// renderer->setCursor(0, 0); - -// snprintf_P(date4, sizeof(date4), PSTR("%02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.day_of_month, RtcTime.month, RtcTime.year); -// memset(spaces, 0x20, sizeof(spaces)); -// spaces[sizeof(spaces) -1] = '\0'; -// snprintf_P(time, sizeof(time), PSTR("%02d" D_HOUR_MINUTE_SEPARATOR "%02d" D_MINUTE_SECOND_SEPARATOR "%02d"), RtcTime.hour, RtcTime.minute, RtcTime.second); -// snprintf_P(tftdt, sizeof(tftdt), PSTR("%s%s%s"), date4, spaces, time); - -// renderer->print(tftdt); -// } else { -// renderer->setCursor(0, 0); -// } - -// switch (Settings->display_mode) { -// case 1: // Text -// case 2: // Local -// case 3: // Local -// case 4: // Mqtt -// case 5: // Mqtt -// Ili9341PrintLog(); -// break; -// } -// } -// } -// #endif // USE_DISPLAY_MODES1TO5 - -// /*********************************************************************************************/ -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ -// bool Xdsp04(uint32_t function) -// { -// bool result = false; - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// ILI9341_InitDriver(); -// } -// else if (tft_init_done && (XDSP_04 == Settings->display_model)) { -// switch (function) { -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// case FUNC_DISPLAY_TEXT_SIZE: -// case FUNC_DISPLAY_FONT_SIZE: -// case DISPLAY_INIT_MODE: -// renderer->clearDisplay(); -// break; -// #if defined(USE_FT5206) || defined(USE_XPT2046) -// #ifdef USE_TOUCH_BUTTONS -// case FUNC_DISPLAY_EVERY_50_MSECOND: -// #if defined(USE_FT5206) -// if (FT5206_found) { -// #elif defined(USE_XPT2046) -// if (XPT2046_found) { -// #endif - -// ili9342_CheckTouch(); -// } -// break; -// #endif // USE_TOUCH_BUTTONS -// #endif // USE_FT5206 -// #ifdef USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_EVERY_SECOND: -// ILI9341_Refresh(); -// break; -// #endif // USE_DISPLAY_MODES1TO5 - -// } -// } -// return result; -// } - -// #endif // USE_DISPLAY_ILI9341 -// #endif // USE_DISPLAY -// #endif // USE_SPI diff --git a/tasmota/tasmota_xdsp_display/xdsp_07_sh1106.ino b/tasmota/tasmota_xdsp_display/xdsp_07_sh1106.ino index ecfcdf4b6..68992a5ab 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_07_sh1106.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_07_sh1106.ino @@ -19,180 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// #ifdef USE_I2C -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_SH1106 - -// #define OLED_RESET 4 - -// #define SPRINT(A) char str[32];sprintf(str,"val: %d ",A);Serial.println((char*)str); - - -// #define XDSP_07 7 -// #define XI2C_06 6 // See I2CDEVICES.md - -// #define OLED_ADDRESS1 0x3C // Oled 128x32 I2C address -// #define OLED_ADDRESS2 0x3D // Oled 128x64 I2C address - -// #define OLED_BUFFER_COLS 40 // Max number of columns in display shadow buffer -// #define OLED_BUFFER_ROWS 16 // Max number of lines in display shadow buffer - -// #define OLED_FONT_WIDTH 6 -// #define OLED_FONT_HEIGTH 8 - -// #include -// #include -// #include - -// Adafruit_SH1106 *oled1106; - -// /*********************************************************************************************/ - - -// void SH1106InitDriver() { -// if (!TasmotaGlobal.i2c_enabled) { return; } - -// if (!Settings->display_model) { -// if (I2cSetDevice(OLED_ADDRESS1)) { -// Settings->display_address[0] = OLED_ADDRESS1; -// Settings->display_model = XDSP_07; -// } -// else if (I2cSetDevice(OLED_ADDRESS2)) { -// Settings->display_address[0] = OLED_ADDRESS2; -// Settings->display_model = XDSP_07; -// } -// } - -// if (XDSP_07 == Settings->display_model) { -// I2cSetActiveFound(Settings->display_address[0], "SH1106"); - -// if (Settings->display_width != SH1106_LCDWIDTH) { -// Settings->display_width = SH1106_LCDWIDTH; -// } -// if (Settings->display_height != SH1106_LCDHEIGHT) { -// Settings->display_height = SH1106_LCDHEIGHT; -// } -// // init renderer -// oled1106 = new Adafruit_SH1106(SH1106_LCDWIDTH,SH1106_LCDHEIGHT); -// renderer = oled1106; -// renderer->Begin(SH1106_SWITCHCAPVCC, Settings->display_address[0],0); -// renderer->DisplayInit(DISPLAY_INIT_MODE,Settings->display_size,Settings->display_rotate,Settings->display_font); -// renderer->setTextColor(1,0); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// renderer->setTextFont(0); -// renderer->setTextSize(2); -// renderer->setCursor(20,20); -// renderer->println(F("SH1106")); -// renderer->Updateframe(); -// renderer->DisplayOnff(1); -// } -// #endif - -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: SH1106")); -// } -// } - - -// /*********************************************************************************************/ -// #ifdef USE_DISPLAY_MODES1TO5 - -// void SH1106PrintLog(void) -// { -// disp_refresh--; -// if (!disp_refresh) { -// disp_refresh = Settings->display_refresh; -// if (!disp_screen_buffer_cols) { DisplayAllocScreenBuffer(); } - -// char* txt = DisplayLogBuffer('\370'); -// if (txt != NULL) { -// uint8_t last_row = Settings->display_rows -1; - -// renderer->clearDisplay(); -// renderer->setTextSize(Settings->display_size); -// renderer->setCursor(0,0); -// for (byte i = 0; i < last_row; i++) { -// strlcpy(disp_screen_buffer[i], disp_screen_buffer[i +1], disp_screen_buffer_cols); -// renderer->println(disp_screen_buffer[i]); -// } -// strlcpy(disp_screen_buffer[last_row], txt, disp_screen_buffer_cols); -// DisplayFillScreen(last_row); - -// AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_DEBUG "[%s]"), disp_screen_buffer[last_row]); - -// renderer->println(disp_screen_buffer[last_row]); -// renderer->Updateframe(); -// } -// } -// } - -// void SH1106Time(void) -// { -// char line[12]; - -// renderer->clearDisplay(); -// renderer->setTextSize(Settings->display_size); -// renderer->setTextFont(Settings->display_font); -// renderer->setCursor(0, 0); -// snprintf_P(line, sizeof(line), PSTR(" %02d" D_HOUR_MINUTE_SEPARATOR "%02d" D_MINUTE_SECOND_SEPARATOR "%02d"), RtcTime.hour, RtcTime.minute, RtcTime.second); // [ 12:34:56 ] -// renderer->println(line); -// renderer->println(); -// snprintf_P(line, sizeof(line), PSTR("%02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.day_of_month, RtcTime.month, RtcTime.year); // [01-02-2018] -// renderer->println(line); -// renderer->Updateframe(); -// } - -// void SH1106Refresh(void) // Every second -// { -// if (!renderer) return; -// if (Settings->display_mode) { // Mode 0 is User text -// switch (Settings->display_mode) { -// case 1: // Time -// SH1106Time(); -// break; -// case 2: // Local -// case 3: // Local -// case 4: // Mqtt -// case 5: // Mqtt -// SH1106PrintLog(); -// break; -// } -// } -// } - -// #endif // USE_DISPLAY_MODES1TO5 - -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ - -// bool Xdsp07(uint32_t function) -// { -// if (!I2cEnabled(XI2C_06)) { return false; } - -// bool result = false; - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// SH1106InitDriver(); -// } -// else if (XDSP_07 == Settings->display_model) { - -// switch (function) { -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// #ifdef USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_EVERY_SECOND: -// SH1106Refresh(); -// break; -// #endif // USE_DISPLAY_MODES1TO5 -// } -// } -// return result; -// } - -// #endif // USE_DISPLAY_SH1106 -// #endif // USE_DISPLAY -// #endif // USE_I2C diff --git a/tasmota/tasmota_xdsp_display/xdsp_09_SSD1351.ino b/tasmota/tasmota_xdsp_display/xdsp_09_SSD1351.ino index ba776ea9d..24ea1d13d 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_09_SSD1351.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_09_SSD1351.ino @@ -19,163 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// #ifdef USE_SPI -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_SSD1351 - -// #define XDSP_09 9 - -// #define COLORED 1 -// #define UNCOLORED 0 - -// // uses about 1.9k flash + renderer class -// // using font 8 is opional (num=3) -// // very badly readable, but may be useful for graphs -// #define USE_TINY_FONT - -// #include - -// bool ssd1351_init_done = false; -// extern uint8_t color_type; -// SSD1351 *ssd1351; - -// /*********************************************************************************************/ - -// void SSD1351_InitDriver() { -// if (PinUsed(GPIO_SSD1351_CS) && -// ((TasmotaGlobal.soft_spi_enabled & SPI_MOSI) || (TasmotaGlobal.spi_enabled & SPI_MOSI))) { - -// Settings->display_model = XDSP_09; - -// if (Settings->display_width != SSD1351_WIDTH) { -// Settings->display_width = SSD1351_WIDTH; -// } -// if (Settings->display_height != SSD1351_HEIGHT) { -// Settings->display_height = SSD1351_HEIGHT; -// } - -// // default colors -// fg_color = SSD1351_WHITE; -// bg_color = SSD1351_BLACK; - -// // init renderer -// if (TasmotaGlobal.soft_spi_enabled){ -// ssd1351 = new SSD1351(Pin(GPIO_SSD1351_CS), Pin(GPIO_SSPI_MOSI), Pin(GPIO_SSPI_SCLK), Pin(GPIO_SSD1351_DC)); -// } -// else if (TasmotaGlobal.spi_enabled) { -// ssd1351 = new SSD1351(Pin(GPIO_SSD1351_CS), Pin(GPIO_SPI_MOSI), Pin(GPIO_SPI_CLK), Pin(GPIO_SSD1351_DC)); -// } - -// delay(100); -// ssd1351->begin(); -// renderer = ssd1351; -// renderer->DisplayInit(DISPLAY_INIT_MODE,Settings->display_size,Settings->display_rotate,Settings->display_font); -// renderer->dim(GetDisplayDimmer16()); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// // Welcome text -// renderer->setTextFont(2); -// renderer->setTextColor(SSD1351_WHITE,SSD1351_BLACK); -// renderer->DrawStringAt(10, 60, "SSD1351", SSD1351_RED,0); -// delay(1000); -// } - -// #endif -// color_type = COLOR_COLOR; - -// ssd1351_init_done = true; -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: SSD1351")); -// } -// } - -// #ifdef USE_DISPLAY_MODES1TO5 - -// void SSD1351PrintLog(void) { -// disp_refresh--; -// if (!disp_refresh) { -// disp_refresh = Settings->display_refresh; -// if (!disp_screen_buffer_cols) { DisplayAllocScreenBuffer(); } - -// char* txt = DisplayLogBuffer('\370'); -// if (txt != NULL) { -// uint8_t last_row = Settings->display_rows -1; - -// renderer->clearDisplay(); -// renderer->setTextSize(Settings->display_size); -// renderer->setCursor(0,0); -// for (byte i = 0; i < last_row; i++) { -// strlcpy(disp_screen_buffer[i], disp_screen_buffer[i +1], disp_screen_buffer_cols); -// renderer->println(disp_screen_buffer[i]); -// } -// strlcpy(disp_screen_buffer[last_row], txt, disp_screen_buffer_cols); -// DisplayFillScreen(last_row); - -// AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_DEBUG "[%s]"), disp_screen_buffer[last_row]); - -// renderer->println(disp_screen_buffer[last_row]); -// renderer->Updateframe(); -// } -// } -// } - -// void SSD1351Time(void) { -// char line[12]; - -// renderer->clearDisplay(); -// renderer->setTextSize(2); -// renderer->setCursor(0, 0); -// snprintf_P(line, sizeof(line), PSTR(" %02d" D_HOUR_MINUTE_SEPARATOR "%02d" D_MINUTE_SECOND_SEPARATOR "%02d"), RtcTime.hour, RtcTime.minute, RtcTime.second); // [ 12:34:56 ] -// renderer->println(line); -// renderer->println(); -// snprintf_P(line, sizeof(line), PSTR("%02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.day_of_month, RtcTime.month, RtcTime.year); // [01-02-2018] -// renderer->println(line); -// renderer->Updateframe(); -// } - -// void SSD1351Refresh(void) { // Every second -// if (Settings->display_mode) { // Mode 0 is User text -// switch (Settings->display_mode) { -// case 1: // Time -// SSD1351Time(); -// break; -// case 2: // Local -// case 3: // Local -// case 4: // Mqtt -// case 5: // Mqtt -// SSD1351PrintLog(); -// break; -// } -// } -// } - -// #endif // USE_DISPLAY_MODES1TO5 - -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ - -// bool Xdsp09(uint32_t function) { -// bool result = false; - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// SSD1351_InitDriver(); -// } -// else if (ssd1351_init_done && (XDSP_09 == Settings->display_model)) { -// switch (function) { -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// #ifdef USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_EVERY_SECOND: -// SSD1351Refresh(); -// break; -// #endif // USE_DISPLAY_MODES1TO5 -// } -// } -// return result; -// } -// #endif // USE_DISPLAY_SSD1351 -// #endif // USE_DISPLAY -// #endif // USE_SPI diff --git a/tasmota/tasmota_xdsp_display/xdsp_12_ST7789.ino b/tasmota/tasmota_xdsp_display/xdsp_12_ST7789.ino index 6f8af6826..c00c336c1 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_12_ST7789.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_12_ST7789.ino @@ -19,194 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// //#ifdef USE_SPI -// #ifdef USE_SPI -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_ST7789 - -// #define XDSP_12 12 -// #define XI2C_38 38 // See I2CDEVICES.md - -// #undef COLORED -// #define COLORED 1 -// #undef UNCOLORED -// #define UNCOLORED 0 - -// // touch panel controller -// #undef FT5206_address -// #define FT5206_address 0x38 - -// // using font 8 is opional (num=3) -// // very badly readable, but may be useful for graphs -// #undef USE_TINY_FONT -// #define USE_TINY_FONT - - -// #include -// #include - -// // currently fixed -// #define BACKPLANE_PIN 2 -// #ifdef USE_LANBON_L8 -// #undef BACKPLANE_PIN -// #define BACKPLANE_PIN 5 -// #endif // USE_LANBON_L8 - -// extern uint8_t color_type; -// Arduino_ST7789 *st7789; - -// #ifdef USE_FT5206 -// uint8_t st7789_ctouch_counter = 0; -// #endif // USE_FT5206 -// bool st7789_init_done = false; - -// /*********************************************************************************************/ - -// void ST7789_InitDriver(void) { -// if (PinUsed(GPIO_ST7789_DC) && // This device does not need CS which breaks SPI bus usage -// ((TasmotaGlobal.soft_spi_enabled & SPI_MOSI) || (TasmotaGlobal.spi_enabled & SPI_MOSI))) { - -// Settings->display_model = XDSP_12; - -// if (!Settings->display_width) { -// Settings->display_width = 240; -// } -// if (!Settings->display_height) { -// Settings->display_height = 240; -// } - -// // default colors -// fg_color = ST7789_WHITE; -// bg_color = ST7789_BLACK; - -// int8_t bppin = BACKPLANE_PIN; -// if (PinUsed(GPIO_BACKLIGHT)) { -// bppin = Pin(GPIO_BACKLIGHT); -// } - -// // init renderer, may use hardware spi -// if (TasmotaGlobal.soft_spi_enabled) { -// st7789 = new Arduino_ST7789(Pin(GPIO_ST7789_DC), Pin(GPIO_OLED_RESET), Pin(GPIO_SSPI_MOSI), Pin(GPIO_SSPI_SCLK), Pin(GPIO_ST7789_CS), bppin); -// } -// else if (TasmotaGlobal.spi_enabled) { -// st7789 = new Arduino_ST7789(Pin(GPIO_ST7789_DC), Pin(GPIO_OLED_RESET), Pin(GPIO_ST7789_CS), bppin); -// } - -// st7789->init(Settings->display_width,Settings->display_height); -// renderer = st7789; -// renderer->DisplayInit(DISPLAY_INIT_MODE,Settings->display_size,Settings->display_rotate,Settings->display_font); -// renderer->dim(GetDisplayDimmer16()); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// // Welcome text -// renderer->setTextColor(ST7789_WHITE,ST7789_BLACK); -// renderer->setTextFont(2); -// renderer->DrawStringAt(30, (Settings->display_height-12)/2, "ST7789 TFT!", ST7789_WHITE,0); -// delay(1000); -// } -// #endif - -// color_type = COLOR_COLOR; - -// #ifdef ESP32 -// #ifdef USE_FT5206 -// // start digitizer with fixed adress and pins for esp32 -// #undef SDA_2 -// #undef SCL_2 -// #define SDA_2 23 -// #define SCL_2 32 -// #ifdef USE_LANBON_L8 -// #undef SDA_2 -// #undef SCL_2 -// #define SDA_2 4 -// #define SCL_2 0 -// #endif // USE_LANBON_L8 -// Wire1.begin(SDA_2, SCL_2, (uint32_t)400000); -// FT5206_Touch_Init(Wire1); -// #endif // USE_FT5206 -// #endif // ESP32 - -// st7789_init_done = true; -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: ST7789")); -// } -// } - -// #ifdef ESP32 -// #ifdef USE_FT5206 -// #ifdef USE_TOUCH_BUTTONS - -// void ST7789_RotConvert(int16_t *x, int16_t *y) { -// int16_t temp; -// if (renderer) { -// uint8_t rot=renderer->getRotation(); -// switch (rot) { -// case 0: -// break; -// case 1: -// temp=*y; -// *y=renderer->height()-*x; -// *x=temp; -// break; -// case 2: -// *x=renderer->width()-*x; -// *y=renderer->height()-*y; -// break; -// case 3: -// temp=*y; -// *y=*x; -// *x=renderer->width()-temp; -// break; -// } -// } -// } - -// // check digitizer hit -// void ST7789_CheckTouch() { -// st7789_ctouch_counter++; -// if (2 == st7789_ctouch_counter) { -// // every 100 ms should be enough -// st7789_ctouch_counter = 0; -// Touch_Check(ST7789_RotConvert); -// } -// } -// #endif // USE_TOUCH_BUTTONS -// #endif // USE_FT5206 -// #endif // ESP32 - -// /*********************************************************************************************/ -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ -// bool Xdsp12(uint32_t function) -// { -// bool result = false; - -// //AddLog(LOG_LEVEL_INFO, PSTR("touch %d - %d"), FT5206_found, function); - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// ST7789_InitDriver(); -// } -// else if (st7789_init_done && (XDSP_12 == Settings->display_model)) { -// switch (function) { -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// case FUNC_DISPLAY_EVERY_50_MSECOND: -// #ifdef USE_FT5206 -// #ifdef USE_TOUCH_BUTTONS -// if (FT5206_found) { -// ST7789_CheckTouch(); -// } -// #endif -// #endif // USE_FT5206 -// break; -// } -// } -// return result; -// } - -// #endif // USE_DISPLAY_ST7789 -// #endif // USE_DISPLAY -// #endif // USE_SPI diff --git a/tasmota/tasmota_xdsp_display/xdsp_14_SSD1331.ino b/tasmota/tasmota_xdsp_display/xdsp_14_SSD1331.ino index 26e828af0..2f6f88ced 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_14_SSD1331.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_14_SSD1331.ino @@ -19,179 +19,3 @@ // REMOVED // DEPRECATED - USE UNIVERSAL DISPLAY INSTEAD, https://tasmota.github.io/docs/Universal-Display-Driver/#migrating-to-udisplay - -// #ifdef USE_SPI -// #ifdef USE_DISPLAY -// #ifdef USE_DISPLAY_SSD1331 // This driver eats 5.3 K flash - -// #define XDSP_14 14 - -// #define COLORED 1 -// #define UNCOLORED 0 -// #define USE_TINY_FONT - -// #define SSD1331_BLACK 0x0000 // 0, 0, 0 -// #define SSD1331_WHITE 0xFFFF // 255, 255, 255 -// #define SSD1331_RED 0xF800 // 255, 0, 0 -// #define SSD1331_BLUE 0x001F // 0, 0, 255 - -// #include -// #include - -// bool ssd1331_init_done = false; - -// extern uint8_t color_type; -// Adafruit_SSD1331 *ssd1331; - -// /*********************************************************************************************/ - -// void SSD1331_InitDriver() { -// if (PinUsed(GPIO_SSD1331_CS) && PinUsed(GPIO_SSD1331_DC) && -// ((TasmotaGlobal.soft_spi_enabled & SPI_MOSI) || (TasmotaGlobal.spi_enabled & SPI_MOSI))) { - -// Settings->display_model = XDSP_14; - -// if (Settings->display_width != Adafruit_SSD1331::TFTWIDTH) { -// Settings->display_width = Adafruit_SSD1331::TFTWIDTH; -// } -// if (Settings->display_height != Adafruit_SSD1331::TFTHEIGHT) { -// Settings->display_height = Adafruit_SSD1331::TFTHEIGHT; -// } - - -// // default colors -// fg_color = SSD1331_WHITE; -// bg_color = SSD1331_BLACK; - -// // init renderer -// if (TasmotaGlobal.soft_spi_enabled) { -// ssd1331 = new Adafruit_SSD1331(Pin(GPIO_SSD1331_CS), Pin(GPIO_SSD1331_DC), Pin(GPIO_SSPI_MOSI), Pin(GPIO_SSPI_SCLK), Pin(GPIO_OLED_RESET)); -// } -// else if (TasmotaGlobal.spi_enabled) { -// ssd1331 = new Adafruit_SSD1331(&SPI, Pin(GPIO_SSD1331_CS), Pin(GPIO_SSD1331_DC), Pin(GPIO_OLED_RESET)); -// } - -// delay(100); -// ssd1331->begin(); -// renderer = ssd1331; -// // Rotation is currently broken, https://github.com/adafruit/Adafruit-SSD1331-OLED-Driver-Library-for-Arduino/issues/26 -// renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, Settings->display_rotate, Settings->display_font); -// renderer->dim(GetDisplayDimmer16()); - -// #ifdef SHOW_SPLASH -// if (!Settings->flag5.display_no_splash) { -// // Welcome text -// renderer->clearDisplay(); -// renderer->setTextFont(1); -// renderer->DrawStringAt(24, 27, "SSD1331", SSD1331_RED, 0); -// delay(1000); -// renderer->clearDisplay(); -// } -// #endif - -// color_type = COLOR_COLOR; - -// ssd1331_init_done = true; -// AddLog(LOG_LEVEL_INFO, PSTR("DSP: SSD1331")); -// } -// } - -// #ifdef USE_DISPLAY_MODES1TO5 - -// void SSD1331PrintLog(bool withDateTime) { -// disp_refresh--; -// if (!disp_refresh) { -// disp_refresh = Settings->display_refresh; -// if (!disp_screen_buffer_cols) { DisplayAllocScreenBuffer(); } - -// char* txt = DisplayLogBuffer('\370'); -// if (txt != NULL) { -// uint8_t last_row = Settings->display_rows -1; - -// renderer->clearDisplay(); -// renderer->setCursor(0,0); - -// if (withDateTime) { -// char line[17]; -// snprintf_P(line, sizeof(line), PSTR("%02d" D_HOUR_MINUTE_SEPARATOR "%02d %02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.hour, RtcTime.minute, RtcTime.day_of_month, RtcTime.month, RtcTime.year); // [12:34 01-02-2018] -// renderer->setTextColor(SSD1331_BLUE); -// renderer->println(line); -// renderer->setTextColor(fg_color); -// last_row--; -// } - -// for (byte i = 0; i < last_row; i++) { -// strlcpy(disp_screen_buffer[i], disp_screen_buffer[i +1], disp_screen_buffer_cols); -// renderer->println(disp_screen_buffer[i]); -// } -// strlcpy(disp_screen_buffer[last_row], txt, disp_screen_buffer_cols); -// DisplayFillScreen(last_row); - -// AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_DEBUG "[%s]"), disp_screen_buffer[last_row]); - -// renderer->println(disp_screen_buffer[last_row]); -// renderer->Updateframe(); -// } -// } -// } - -// void SSD1331Time(void) { -// char line[12]; - -// renderer->clearDisplay(); -// snprintf_P(line, sizeof(line), PSTR(" %02d" D_HOUR_MINUTE_SEPARATOR "%02d" D_MINUTE_SECOND_SEPARATOR "%02d"), RtcTime.hour, RtcTime.minute, RtcTime.second); // [ 12:34:56 ] -// renderer->setCursor(17, 20); -// renderer->println(line); -// snprintf_P(line, sizeof(line), PSTR("%02d" D_MONTH_DAY_SEPARATOR "%02d" D_YEAR_MONTH_SEPARATOR "%04d"), RtcTime.day_of_month, RtcTime.month, RtcTime.year); // [01-02-2018] -// renderer->setCursor(17, 35); -// renderer->println(line); -// renderer->Updateframe(); -// } - -// void SSD1331Refresh(void) { // Every second -// if (Settings->display_mode) { // Mode 0 is User text -// switch (Settings->display_mode) { -// case 1: // Time -// SSD1331Time(); -// break; -// case 2: // Local -// case 4: // Mqtt -// SSD1331PrintLog(false); -// break; -// case 3: // Local + Time -// case 5: // Mqtt + Time -// SSD1331PrintLog(true); -// break; -// } -// } -// } - -// #endif // USE_DISPLAY_MODES1TO5 - -// /*********************************************************************************************\ -// * Interface -// \*********************************************************************************************/ - -// bool Xdsp14(uint32_t function) { -// bool result = false; - -// if (FUNC_DISPLAY_INIT_DRIVER == function) { -// SSD1331_InitDriver(); -// } -// else if (ssd1331_init_done && (XDSP_14 == Settings->display_model)) { -// switch (function) { -// case FUNC_DISPLAY_MODEL: -// result = true; -// break; -// #ifdef USE_DISPLAY_MODES1TO5 -// case FUNC_DISPLAY_EVERY_SECOND: -// SSD1331Refresh(); -// break; -// #endif // USE_DISPLAY_MODES1TO5 -// } -// } -// return result; -// } -// #endif // USE_DISPLAY_SSD1331 -// #endif // USE_DISPLAY -// #endif // USE_SPI diff --git a/tasmota/tasmota_xdsp_display/xdsp_17_universal.ino b/tasmota/tasmota_xdsp_display/xdsp_17_universal.ino index 9a11d29f4..e1845ccea 100644 --- a/tasmota/tasmota_xdsp_display/xdsp_17_universal.ino +++ b/tasmota/tasmota_xdsp_display/xdsp_17_universal.ino @@ -482,11 +482,6 @@ int8_t cs; bg_color = renderer->bgcol(); color_type = renderer->color_type(); -#ifdef USE_M5STACK_CORE2 - renderer->SetPwrCB(Core2DisplayPower); - renderer->SetDimCB(Core2DisplayDim); -#endif // USE_M5STACK_CORE2 - renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, inirot, Settings->display_font); Settings->display_width = renderer->width(); From fc7638e684ef8398007cb7107b16703acad9dad6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 31 May 2024 10:07:28 +0200 Subject: [PATCH 83/88] Update changelogs --- CHANGELOG.md | 2 +- RELEASENOTES.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7d9e31bf..cd5643e83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ All notable changes to this project will be documented in this file. - uDisplay Parallel display on Core3 (#21529) ### Removed -- Deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` +- Deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` (#21533) ## [14.0.0.3] 20240530 ### Changed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 017a888e4..0d4791e2b 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -162,3 +162,4 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Removed - Support of old insecure fingerprint algorithm. Deprecated since v8.4.0 [#21417](https://github.com/arendst/Tasmota/issues/21417) +- Deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` [#21533](https://github.com/arendst/Tasmota/issues/21533) From 8c4388bf47636767495301c20f749d4c80e69d8f Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Fri, 31 May 2024 15:37:23 +0200 Subject: [PATCH 84/88] Fix M5AtomS3 display descriptions --- ...ay.ini => ST7735S_AtomS3_SPI2_display.ini} | 5 ++- .../displaydesc/ST7735S_AtomS3_display.ini | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) rename tasmota/displaydesc/{ST7735S_ATOM_S3_diplsay.ini => ST7735S_AtomS3_SPI2_display.ini} (88%) create mode 100644 tasmota/displaydesc/ST7735S_AtomS3_display.ini diff --git a/tasmota/displaydesc/ST7735S_ATOM_S3_diplsay.ini b/tasmota/displaydesc/ST7735S_AtomS3_SPI2_display.ini similarity index 88% rename from tasmota/displaydesc/ST7735S_ATOM_S3_diplsay.ini rename to tasmota/displaydesc/ST7735S_AtomS3_SPI2_display.ini index 09e020b1f..5927a13c2 100644 --- a/tasmota/displaydesc/ST7735S_ATOM_S3_diplsay.ini +++ b/tasmota/displaydesc/ST7735S_AtomS3_SPI2_display.ini @@ -1,5 +1,4 @@ -`:H,ST7735S,128,128,16,SPI,1,,,,,,,*,40 - +:H,ST7735S,128,128,16,SPI,2,*,*,*,*,*,*,*,40 :I 01,80 11,E0 @@ -34,4 +33,4 @@ F1,14,00,2D,2F,3C,6F,1C,0B,00,00,00,07,0D,11,0f :i,21,20 :i,21,20 ;B10,0 -#` +# diff --git a/tasmota/displaydesc/ST7735S_AtomS3_display.ini b/tasmota/displaydesc/ST7735S_AtomS3_display.ini new file mode 100644 index 000000000..ed8d8a620 --- /dev/null +++ b/tasmota/displaydesc/ST7735S_AtomS3_display.ini @@ -0,0 +1,36 @@ +:H,ST7735S,128,128,16,SPI,1,*,*,*,*,*,*,*,40 +:I +01,80 +11,E0 +EF,80,5 +B0,1,C0 +B2,1,2F +B3,1,03 +B6,1,19 +B7,1,01 +AC,1,CB +AB,1,0E +B4,1,04 +A8,1,19 +B8,1,08 +E8,1,24 +E9,1,48 +EA,1,22 +C6,1,30 +C7,1,18 +3A,1,05 +F0,14,1F,28,04,3E,2A,2E,20,00,0C,06,00,1C,1F,0f +F1,14,00,2D,2F,3C,6F,1C,0B,00,00,00,07,0D,11,0f +29,0 +:o,28 +:O,29 +:A,2A,2B,2C,16 +:R,36 +:0,CC,02,01,00 +:1,68,01,02,01 +:2,08,02,01,02 +:3,A8,01,02,03 +:i,21,20 +:i,21,20 +;B10,0 +# From e13c0a7114b1a5383917453a1af9860fe6783bc5 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 1 Jun 2024 20:46:55 +0200 Subject: [PATCH 85/88] Berry coc parser keeps order of variables (#21542) --- CHANGELOG.md | 1 + lib/libesp32/berry/tools/coc/hash_map.py | 25 ++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd5643e83..4f27303a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. ### Changed - TCP bridge increased baudrate selection (#21528) +- Berry coc parser keeps order of variables ### Fixed - uDisplay Parallel display on Core3 (#21529) diff --git a/lib/libesp32/berry/tools/coc/hash_map.py b/lib/libesp32/berry/tools/coc/hash_map.py index 9d3da5365..c842c9e0f 100644 --- a/lib/libesp32/berry/tools/coc/hash_map.py +++ b/lib/libesp32/berry/tools/coc/hash_map.py @@ -27,6 +27,13 @@ class hash_map: self.bucket = [] self.resize(2) + var_count = 0 + # replace any 'var' by its slot number + for (key, value) in map.items(): + if value == "var": + map[key] = var_count + var_count += 1 + for key in sorted(map.keys()): self.insert(key, map[key]) @@ -115,27 +122,21 @@ class hash_map: # Compute entries in the hash for modules or classes ################################################################################# # return a list (entiry, var_count) - def entry_modify(self, ent, var_count): + def entry_modify(self, ent): ent.key = escape_operator(ent.key) - if ent.value == "var": - ent.value = "be_const_var(" + str(var_count) + ")" - var_count += 1 + if isinstance(ent.value, int): + ent.value = "be_const_var(" + str(ent.value) + ")" else: ent.value = "be_const_" + ent.value - return (ent, var_count) + return ent # generate the final map def entry_list(self): l = [] - var_count = 0 self.resize(self.count) for it in self.bucket: - (ent, var_count) = self.entry_modify(it, var_count) - # print(f"ent={ent} var_count={var_count}") - # # ex: ent= var_count=0 - # # ex: ent= var_count=0 - l.append(ent) + l.append(self.entry_modify(it)) return l def var_count(self): @@ -143,7 +144,7 @@ class hash_map: self.resize(self.count) for it in self.bucket: - if it.value == "var": count += 1 + if isinstance(it.value, int): count += 1 return count if __name__ == '__main__': From 979dd8673089fe76a8f16082a5c4003918b82f2c Mon Sep 17 00:00:00 2001 From: Christian Baars Date: Sun, 2 Jun 2024 09:48:07 +0200 Subject: [PATCH 86/88] Bugfix: crash when using tjpegd and LVGL (#21544) * prevent crashes when using tjpegd in other places in Tasmota * do not use external tjpegd in Tasmota --- lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.c | 3 +++ lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.c b/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.c index 22dfd5632..63f4915d5 100644 --- a/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.c +++ b/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.c @@ -24,6 +24,7 @@ / Some performance improvement. /----------------------------------------------------------------------------*/ +#ifndef TASMOTA // has tjpegd in ROM #include "tjpgd.h" @@ -1135,3 +1136,5 @@ JRESULT jd_decomp( return rc; } +#endif // TASMOTA + diff --git a/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.h b/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.h index f1b578820..7c0b91a00 100644 --- a/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.h +++ b/lib/libesp32_lvgl/lvgl/src/libs/tjpgd/tjpgd.h @@ -1,6 +1,7 @@ /*----------------------------------------------------------------------------/ / TJpgDec - Tiny JPEG Decompressor R0.03 include file (C)ChaN, 2021 /----------------------------------------------------------------------------*/ +#ifndef TASMOTA // has tjpegd in ROM #ifndef DEF_TJPGDEC #define DEF_TJPGDEC @@ -101,3 +102,4 @@ JRESULT jd_restart(JDEC * jd, uint16_t rstn); #endif #endif /* _TJPGDEC */ +#endif // TASMOTA From b58615183f080b36e67a576865be9cbf966ba8b6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 2 Jun 2024 11:00:30 +0200 Subject: [PATCH 87/88] Update changelogs --- CHANGELOG.md | 3 ++- RELEASENOTES.md | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f27303a5..b8353dfe4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,11 @@ All notable changes to this project will be documented in this file. ### Changed - TCP bridge increased baudrate selection (#21528) -- Berry coc parser keeps order of variables +- Berry coc parser keeps order of variables (#21542) ### Fixed - uDisplay Parallel display on Core3 (#21529) +- LVGL exception when using tjpegd (#21544) ### Removed - Deprecated code from drivers, `USE_TTGO_WATCH` and `USE_M5STACK_CORE2` (#21533) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0d4791e2b..1c475e2c5 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -140,6 +140,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Berry binary compiled with gcc [#21426](https://github.com/arendst/Tasmota/issues/21426) - Berry allow easy solidification of external Berry [#21430](https://github.com/arendst/Tasmota/issues/21430) - Berry change internal storage of parent class for methods [#21490](https://github.com/arendst/Tasmota/issues/21490) +- Berry coc parser keeps order of variables [#21542](https://github.com/arendst/Tasmota/issues/21542) ### Fixed - Domoticz re-subscribe on MQTT reconnect. Regression from v13.4.0.3 [#21281](https://github.com/arendst/Tasmota/issues/21281) @@ -158,6 +159,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - I2S APLL not supported on all SOCs [#21483](https://github.com/arendst/Tasmota/issues/21483) - Webradio crash with invalid url [#21446](https://github.com/arendst/Tasmota/issues/21446) - Berry Leds matrix alternate more and error about 'bri' attribute [#21431](https://github.com/arendst/Tasmota/issues/21431) +- LVGL exception when using tjpegd [#21544](https://github.com/arendst/Tasmota/issues/21544) - Matter auto-fix IPv6 link-local zone id when network reconnects [#21494](https://github.com/arendst/Tasmota/issues/21494) ### Removed From 0249f66066e739fac2b4d7433be2cfb54ea1ec26 Mon Sep 17 00:00:00 2001 From: Andreas Doppelhofer Date: Sun, 2 Jun 2024 11:18:35 +0200 Subject: [PATCH 88/88] SML: Allow larger offset when using x to ignore bytes (#21535) * Allow larger offset when using x to ignore bytes STW Klagenfurt sends 355 bytes, and the interesting values starts somewhere at position 304. Therefor we need to set a larger uint range to allow more than 255 bytes to ignore. * Update xsns_53_sml.ino --------- Co-authored-by: Theo Arends <11044339+arendst@users.noreply.github.com> --- tasmota/tasmota_xsns_sensor/xsns_53_sml.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino index 59998d7fc..af3120d62 100755 --- a/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_53_sml.ino @@ -2033,7 +2033,7 @@ void SML_Decode(uint8_t index) { } else { mp++; if (isdigit(*mp)) { - uint8_t skip = strtol((char*)mp, (char**)&mp, 10); + uint32_t skip = strtol((char*)mp, (char**)&mp, 10); cp += skip; } }