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 67f9c6bdacfb..29d06b990d2e 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 70702bb3db04..59e17ef8f2e5 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 4ea904f80b7b..2f9a1e447976 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 41ccdef5123d..3e3bc594d858 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 65f6118800ad..746d7c4f24e7 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 4f1aab3a19d9..6dcbe2490ab6 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 38f0145ba279..8876956d2029 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 29d06b990d2e..5717a333ace4 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 59e17ef8f2e5..7e9b6532c782 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 5cce46f1c990..fb8b6698c6a9 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 dd1cf61d2273..030deb5136bd 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 68b557a54368..5912bbfc96d9 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 3b6fcf5da594..98a88c0d670a 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 325f100755e7..b37e71d8e499 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 fa02f4b36cdf..3ce402119349 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 ef71eef382e0..053f9a913f3a 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 9120f939797c..d5ca26ea8f21 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 1cd0f623bb7f..8ad0de2469d7 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 53b643557425..20774027c4e4 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 f7a47e8d43ec..0436e338a743 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 5717a333ace4..4fe3769817ea 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 faf3791c8baa..7a38078dbaf3 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -1122,7 +1122,7 @@ An online tool to calculate TLS fingerprints is available here at:\n\ #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 4fe3769817ea..87f835fc8dc1 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 1cc2ae2b3fb8..540d37420fda 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 7a38078dbaf3..d658efed28e1 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 @@ An online tool to calculate TLS fingerprints is available here at:\n\ // #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 87f835fc8dc1..c72313f9dde4 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 d658efed28e1..5d08139327b1 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 c72313f9dde4..74c89fca9ebb 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 7e9b6532c782..ced7b1372589 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 74c89fca9ebb..1b7c68ff0b5c 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 ced7b1372589..cdc46fa503d7 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 869742ad4345..adfdec32c1d5 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 1b7c68ff0b5c..c7172e506480 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 fe3e57cd6c7f..7713a6e05ad4 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 d69463515e1f..d6350e701f7c 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 0cb372ec975a..2d3e4c18bc92 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 5d08139327b1..d658efed28e1 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 f1c979a385ed..bd2b5f788db5 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 b37e71d8e499..853b5baaba72 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 4fc6df0aad8d..ab16b8b4f3df 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 c7172e506480..6afd704cd1d3 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 cdc46fa503d7..4dcac22cf9cc 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 8a59b48b823d..682ecf7c8f07 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 6afd704cd1d3..7f8e935de6ef 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 4dcac22cf9cc..1737ceded782 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 682ecf7c8f07..2f963237e09d 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 7f8e935de6ef..320237e81f40 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 ee3e32847de3..2d33069fbbef 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 96fa3ac740b1..5dc38dc11386 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 320237e81f40..944325dc5e8f 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 fcf228aad6df..3c13039509c9 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 3b8a1ebffbbd..9cfbb570bef9 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 944325dc5e8f..7edc77632d11 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 9442f8787daa..019a64e3b309 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 4ea0f61f7e9d..0bf9bc1df4eb 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 7edc77632d11..e5792506fec9 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 1737ceded782..f327a0ccaff5 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 8203a28ee1d9..4e549ee508c3 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 | 162 +++++++++++++----- 4 files changed, 120 insertions(+), 48 deletions(-) diff --git a/tasmota/include/i18n.h b/tasmota/include/i18n.h index 75588497f3aa..6b17b534adc0 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 6586e7f2b453..7467fb913cf8 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 d658efed28e1..72c8bcb3b1bc 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 44ad0508d603..7d7a5d94d215 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino @@ -3320,51 +3320,51 @@ bool CaptivePortal(void) /*********************************************************************************************/ -int WebSend(char *buffer) -{ - // [tasmota] POWER1 ON --> Sends http://tasmota/cm?cmnd=POWER1 ON - // [192.168.178.86:80,admin:joker] POWER1 ON --> Sends http://hostname:80/cm?user=admin&password=joker&cmnd=POWER1 ON - // [tasmota] /any/link/starting/with/a/slash.php?log=123 --> Sends http://tasmota/any/link/starting/with/a/slash.php?log=123 - // [tasmota,admin:joker] /any/link/starting/with/a/slash.php?log=123 --> Sends http://tasmota/any/link/starting/with/a/slash.php?log=123 - - char *host; - char *user; - char *password; - char *command; - int status = WEBCMND_WRONG_PARAMETERS; +enum {QUERY_DEFAULT=0, QUERY_RUN}; +int WebQuery(char *buffer, int query_function); - // buffer = | [ 192.168.178.86 : 80 , admin : joker ] POWER1 ON | - host = strtok_r(buffer, "]", &command); // host = | [ 192.168.178.86 : 80 , admin : joker |, command = | POWER1 ON | - if (host && command) { - RemoveSpace(host); // host = |[192.168.178.86:80,admin:joker| - host++; // host = |192.168.178.86:80,admin:joker| - Skip [ - host = strtok_r(host, ",", &user); // host = |192.168.178.86:80|, user = |admin:joker| - String url = F("http://"); // url = |http://| - url += host; // url = |http://192.168.178.86:80| +#ifdef USE_WEBRUN +char *WebRunBuffer = nullptr; +char *WebRunContext = nullptr; +bool WebRunMutex = false; - command = Trim(command); // command = |POWER1 ON| or |/any/link/starting/with/a/slash.php?log=123| - if (command[0] != '/') { - url += F("/cm?"); // url = |http://192.168.178.86/cm?| - if (user) { - user = strtok_r(user, ":", &password); // user = |admin|, password = |joker| - if (user && password) { - char userpass[200]; - snprintf_P(userpass, sizeof(userpass), PSTR("user=%s&password=%s&"), user, password); - url += userpass; // url = |http://192.168.178.86/cm?user=admin&password=joker&| - } - } - url += F("cmnd="); // url = |http://192.168.178.86/cm?cmnd=| or |http://192.168.178.86/cm?user=admin&password=joker&cmnd=| +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; } - url += UrlEncode(command); // url = |http://192.168.178.86/cm?cmnd=POWER1%20ON| - url += F(" GET"); // url = |http://192.168.178.86/cm?cmnd=POWER1%20ON GET| + WebRunMutex = false; + } +} - DEBUG_CORE_LOG(PSTR("WEB: Uri '%s'"), url.c_str()); - status = WebQuery(const_cast(url.c_str())); +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")); } - return status; } +#endif // #ifdef USE_WEBRUN + -int WebQuery(char *buffer) { +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" @@ -3384,10 +3384,10 @@ int WebQuery(char *buffer) { int status = WEBCMND_WRONG_PARAMETERS; char *temp; - char *url = strtok_r(buffer, " ", &temp); - char *method = strtok_r(temp, " ", &temp); + const char *url = strtok_r(buffer, " ", &temp); + const char *method = strtok_r(temp, " ", &temp); - if (url && method) { + if (url) { #if defined(ESP32) && defined(USE_WEBCLIENT_HTTPS) if (http.begin(UrlEncode(url))) { #else // HTTP only @@ -3417,22 +3417,25 @@ int WebQuery(char *buffer) { } int http_code; - if (0 == strcasecmp_P(method, PSTR("GET"))) { http_code = http.GET(); } + 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 -#ifdef USE_WEBSEND_RESPONSE +#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') { @@ -3462,10 +3465,11 @@ int WebQuery(char *buffer) { #endif // USE_SCRIPT status = WEBCMND_VALID_RESPONSE; } else { +#endif // USE_WEBSEND_RESPONSE status = WEBCMND_DONE; } } else -#endif // USE_WEBSEND_RESPONSE +#endif // USE_WEBSEND_RESPONSE || USE_WEBRUN status = WEBCMND_DONE; } else { status = WEBCMND_CONNECT_FAILED; @@ -3478,6 +3482,51 @@ int WebQuery(char *buffer) { return status; } + +int WebSend(char *buffer) +{ + // [tasmota] POWER1 ON --> Sends http://tasmota/cm?cmnd=POWER1 ON + // [192.168.178.86:80,admin:joker] POWER1 ON --> Sends http://hostname:80/cm?user=admin&password=joker&cmnd=POWER1 ON + // [tasmota] /any/link/starting/with/a/slash.php?log=123 --> Sends http://tasmota/any/link/starting/with/a/slash.php?log=123 + // [tasmota,admin:joker] /any/link/starting/with/a/slash.php?log=123 --> Sends http://tasmota/any/link/starting/with/a/slash.php?log=123 + + char *host; + char *user; + char *password; + char *command; + int status = WEBCMND_WRONG_PARAMETERS; + + // buffer = | [ 192.168.178.86 : 80 , admin : joker ] POWER1 ON | + host = strtok_r(buffer, "]", &command); // host = | [ 192.168.178.86 : 80 , admin : joker |, command = | POWER1 ON | + if (host && command) { + RemoveSpace(host); // host = |[192.168.178.86:80,admin:joker| + host++; // host = |192.168.178.86:80,admin:joker| - Skip [ + host = strtok_r(host, ",", &user); // host = |192.168.178.86:80|, user = |admin:joker| + String url = F("http://"); // url = |http://| + url += host; // url = |http://192.168.178.86:80| + + command = Trim(command); // command = |POWER1 ON| or |/any/link/starting/with/a/slash.php?log=123| + if (command[0] != '/') { + url += F("/cm?"); // url = |http://192.168.178.86/cm?| + if (user) { + user = strtok_r(user, ":", &password); // user = |admin|, password = |joker| + if (user && password) { + char userpass[200]; + snprintf_P(userpass, sizeof(userpass), PSTR("user=%s&password=%s&"), user, password); + url += userpass; // url = |http://192.168.178.86/cm?user=admin&password=joker&| + } + } + url += F("cmnd="); // url = |http://192.168.178.86/cm?cmnd=| or |http://192.168.178.86/cm?user=admin&password=joker&cmnd=| + } + url += UrlEncode(command); // url = |http://192.168.178.86/cm?cmnd=POWER1%20ON| + url += F(" GET"); // url = |http://192.168.178.86/cm?cmnd=POWER1%20ON GET| + + DEBUG_CORE_LOG(PSTR("WEB: Uri '%s'"), url.c_str()); + status = WebQuery(const_cast(url.c_str())); + } + 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 7467fb913cf8..16696bf3f8a5 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 d4122d211a28..8abf50aa5fa2 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 9323b9d09032..834b8977472e 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 14fe65a0714c..1b8e37bfba69 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 83774fd65921..19cc0a4323ac 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 1fc8b156d086..7c69b0d26775 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 2b25c9ea11e4..0d8860336d98 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 1bec1eb93995..0ec400917dbb 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 9ee96b57a274..346c143ccd3c 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 86b549ef6582..e72b5a98fc2b 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 e3bbbc78d292..99a9ded66ee7 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 481b8d9f7a56..8783e8858105 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 39652b619d1d..a8134a18d86d 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 6069d9a6f4ad..477e285473f6 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 8f9aec18b1f0..311d7e8d6589 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 530df849b1d0..9ec4d8a11d94 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 adb686580752..c321ba7fc710 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 d4ebf6bf1032..0887096a78c6 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 d27ca6489657..ac4e5e7e6fc6 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 5f2a6adfa8e5..e9eb8ed0cc3c 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 50f2a3b682b0..e3cce4b84c39 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 5edc13b7a640..043cfbe9bf84 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 47431186057c..66b9c7ad41bc 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 fb002ed79cfc..3f761a2beeb0 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 b6b15c530781..084a9500539c 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 ed5aa210f050..8871e2bec9f1 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 e86c3b64e56f..ea75855a9204 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 85878d25eadc..b90806baf8d7 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 a119a8bd719a..7fe085f609f4 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 03b385671792..3e5a8e929dee 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 c9a1025179f9..dafbfb77290a 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 f2072cb8b4a7..1c9f5714f3a7 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 e5792506fec9..a2efdc8d5f21 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 f327a0ccaff5..e3216fd0c60c 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 6efc20425dd8..8f0dbd086a8f 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 8abf50aa5fa2..fabaec1e1e0d 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 834b8977472e..834009096c6c 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 1b8e37bfba69..75151988a56a 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 19cc0a4323ac..d0838a0a6927 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 7c69b0d26775..43d5a5535964 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 0d8860336d98..1c47c5560108 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 0ec400917dbb..2187a6871f41 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 346c143ccd3c..82ba7a2d6358 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 e72b5a98fc2b..d7ac06abf06b 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 99a9ded66ee7..bf1b2cdbed26 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 8783e8858105..e7422821a310 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 a8134a18d86d..a037e28a579f 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 477e285473f6..699ce126c165 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 311d7e8d6589..dae42e67d28f 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 9ec4d8a11d94..7a2466dc5f6f 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 c321ba7fc710..d16a56c729c2 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 0887096a78c6..c2607696427d 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 ac4e5e7e6fc6..4daa0a48b645 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 e9eb8ed0cc3c..bcbdbb23a2f3 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 e3cce4b84c39..18b0d438d974 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 043cfbe9bf84..f273cae326e4 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 66b9c7ad41bc..c968ef2ca816 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 3f761a2beeb0..a570fc57e004 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 084a9500539c..4903284384f8 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 8871e2bec9f1..6c279b59d57d 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 ea75855a9204..5542facae2b3 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 b90806baf8d7..d285af57f97d 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 1c9f5714f3a7..5104e2ab9bba 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 91583effa489..f52b8bc71dab 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 21ab060e5a0c..bf4ecfdb33a4 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 df28b0e8fd0b..370bebb9db86 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 a2efdc8d5f21..542c6cf7b6f2 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 43bb799d293e..1656a64f0c80 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 @@ class ESP_Mail_TCPClient */ 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 2705d9694d03..6c35df2544d8 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 699ce126c165..080799eda233 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 25e641705d4b..b05a051cc130 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 5104e2ab9bba..f4a840044629 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 370bebb9db86..c023fb1975a0 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 542c6cf7b6f2..c213829c134f 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 549af03fcdbe..bb8d2e8acaab 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 d267749aac88..7c10f2967c0d 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 | 77 +-- 10 files changed, 1223 insertions(+), 42 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 ed3feb2c6e0f..6636af2acedc 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 000000000000..04e8a4644f15 --- /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 000000000000..aa7c7c7d1274 --- /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 000000000000..a2bde6498eb1 --- /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 9c1e082de7ef..d5f6d6e1bb7d 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 000000000000..dbc7bbdd8b16 --- /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 000000000000..8b7dd80e17f4 --- /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 000000000000..2432136127f8 --- /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 f5fa77ff1d65..2459576e26f2 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 b8df6edf0fab..affd16da35eb 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_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(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(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(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(onoff, -1), be_const_class(be_class_Matter_Plugin_Sensor_OnOff) }, + { 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 2459576e26f2..937cabb55f77 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 c213829c134f..b5d35d05a4ac 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 e3216fd0c60c..edf0f72fa62b 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 2d3e4c18bc92..c323ec5f0ed8 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 a85275fa769b..9f378462a5e8 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 5e3af4dd897d..23a82d2fc486 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 c9bbb8ed0421..187f623bd2e3 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 406f5ec4cfb0..28513497001e 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 122ae3eef6bd..fb8416f68b4c 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 bd2b5f788db5..0552a30d17a1 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 c8e3de1b97a1..8f1df5b95272 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 e4a204e28c51..622e36dd11e9 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 c2f6d671fd65..909ecd0cfa3f 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 909ecd0cfa3f..6c3d5015f6e8 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 6c3d5015f6e8..f7eacc83adb3 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 f7eacc83adb3..33eb00269011 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 16696bf3f8a5..98d6982e121e 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 8f1df5b95272..71421ea9c2f1 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 7d7a5d94d215..0dcf52a14756 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 dafbfb77290a..ec39ba43ac9e 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 59d0a959b20a..26e0d5285be1 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 b5d35d05a4ac..4a6c5d6150c7 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 edf0f72fa62b..a8bee96c4617 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 198b9cea5519..e8fa3b84fec1 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 4a6c5d6150c7..b5d35d05a4ac 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 a8bee96c4617..edf0f72fa62b 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 e8fa3b84fec1..198b9cea5519 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 2f456fb83719..2ade8983b55a 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 b5d35d05a4ac..e4e94e547d86 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 edf0f72fa62b..afc45730b667 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 17cafca543e2..b44be11f3717 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 26e0d5285be1..bce536903ffe 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 970e262fc71e..0349736ee31e 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 9d4591783141..511a4fb880be 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 000000000000..01a8ee2d84c4 --- /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 000000000000..afba51adc8d3 --- /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 000000000000..cf19458aa9da --- /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 000000000000..13a30a3a9de3 --- /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 000000000000..02f56b69ab14 --- /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 000000000000..4fc7e2ca2ae5 --- /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 000000000000..f59ec20aabf5 --- /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 000000000000..b13468c23794 --- /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 000000000000..f59ec20aabf5 --- /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 9e338b91ef31..abfa0f2d0680 100644 --- a/pio-tools/gen-berry-structures.py +++ b/pio-tools/gen-berry-structures.py @@ -16,6 +16,6 @@ # 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 000000000000..bdd5d564a43c --- /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 6dcbe2490ab6..839c02ae9745 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 dcab55b9908e..58c6f691af5e 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 2ade8983b55a..c7eb25f68f3f 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 e4e94e547d86..55d5a5226297 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 17e5c4dcd077..3691ed324ff1 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 0d6c76e4b625..89ae682ae922 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 fd29090adb45..c7b4b8af62c9 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 2567410d618b..dcb4386b0ca1 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 0cafe2a73fb4..c26c2a354a93 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_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, bmap * map, const char *class_name, 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 cf19458aa9da..96862ab6af43 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 36d82d28edad..8782e1c9406d 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 280b7de5cc78..961c36ff6d81 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 360e3d2d888e..1425a7234f53 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 e64059188af1..e8a6202d19e7 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 7a565f9f2750..92452cd4c691 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 cf19458aa9da..96862ab6af43 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 dd27dbfc1581..026d07cfcefe 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 6636af2acedc..3d7233f48391 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 7e531d36ad27..fb60595cb91d 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 58bf180648c9..f21bb505c54c 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 7ef45645a541..7fa23af426c8 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 d4d7f5a9ef1d..7223b049fa4e 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 934c4420645d..89b84b3fa298 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 a60ffd973474..385ab8d33c13 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 8fa5663aacd9..7cb753b4b3af 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 c882ed7051ed..26dd17f72ae5 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 d55db99f7593..ae907a1c3817 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 ee1c0bc37ce4..8e516d7acf30 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 97a9936631fc..463f9f498e93 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 1ffcdfd5e112..309220f84df7 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 61bae0147a62..95e1edc55e64 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 63b370196c75..0f715f024cd9 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 43e1ef88a241..fdbb70859168 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 3dd9400121bb..cbec77d91cf0 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 727ae6d368e1..d36f5bb72c95 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 597ec9c15497..dddd45953021 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 37e84b088862..1d20a695ec03 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 6366601bd809..544c53173c2b 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 03e9ed0d0bbe..8b47bb1a8e94 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 b2ab1687fbbe..83ab368713b4 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 8c616f0c6723..98b17f5ea297 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 01c1452de95d..bdbd6be1f6d9 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 eb7e8a61b6f5..0eba3d7fe491 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 968917d0be25..3933c1c2f657 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 ee33047267dc..82087ee1dc30 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 8900284a9dcb..f4124fc0dc27 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 a423b4a6f2f2..eb2704d72dbe 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 8f8f8c192cab..8934ec9f9275 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 dbc7bbdd8b16..a69548646a61 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 eb73d03f8b87..618604665b03 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 e4a9b75ddb1c..fb95b30e9da4 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 4079b20bdf10..3263e390872b 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 e39b2ffa0d2c..5f27166aa056 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 20fbfe3b6a12..d4ff1c80436c 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 8b7dd80e17f4..48d9a153b45d 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 617c428aa6e4..4ede0e4d9c36 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 f52fc8830bdc..cdf9539d223b 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 db81f7d674c6..2a4feefc7e61 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 77de122bf5df..97cae5f0b61d 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 c0472c631cfe..c2d3fc521cb5 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 eef1f845bc4d..aea99a7cb8ea 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 b64f251ace35..245a4b5f192b 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 7294dfc88efb..785235cd0d4c 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 3914bb0535cd..ecb89c44bf50 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 2c40875ff516..ce56fbb49fc2 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 0e7f4e70751d..7e53d6f4c34e 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 538581fca02a..2bd05cb2ed78 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 32bfb71ad89a..5805df777c24 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 563e3eb599ec..e31c317b6eb4 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 6632731e9780..1e4078565a32 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 d257139a0d1c..491a9e29cd59 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 4e7688159aba..8015c80eeca2 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 bed8767972c0..303f3ecc777e 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 2d946c844daf..6e575fcbd665 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 123fc3e511e7..1d8255e69c16 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 c81c9044daf8..22459ff10d83 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 d90363be70f1..5d48ecd9e248 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 ef9f3ac5ba55..4491fa7b14ed 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 a9a6b8aaf349..796f90a497a5 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 d557dabb962b..19437e3d470f 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 21b40f75f802..a17ebdc333d4 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 792d4324f49f..107ab5ecd18c 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 11e4261a4c79..b386b3d6e946 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 db256979e9ca..1e427f815a7d 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 3e678420d2ee..e4fd823e05a2 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 2432136127f8..8b90cdfe9e40 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 4150c0997784..ae5321625e0c 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 cd1f28427594..35cfe8059c5a 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 d9f78535c942..6b86aa097261 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 aa854e2c7383..405f2510e761 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 64a9aabfd854..7df38a55c9ba 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 0dd231c3afc2..180150805d4d 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 937cabb55f77..8bae5ab68ea1 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 affd16da35eb..3a49183ffcc9 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 1a5ffe678d6a..c15d0c4fa71b 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 984af678b037..b21259058ca0 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 3ca0b4bf758f..951a6eb2414d 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 5ab61d2bdc94..f2c7a20ea81b 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 5ae1344e670f..158570cb73c2 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 9e10229b8c32..22c67301ae14 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 4c5579d85b73..36aa241696c3 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 c37329631ba4..a814e12c774c 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 365a97a07559..5a3d208c4170 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 ea49d8ed8c55..b4c27d26335d 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 d67d022488be..3572e477ec5a 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 ee7c762ca69b..be718732c443 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 08a6022cd4dd..8fe87503bbe1 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 1b026afda741..75166567dffe 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 a3be29b1a553..696a4aa77107 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 a912b066091f..211c9bef6162 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 3b29d8c764f8..9b925d78e505 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 abfc6a453463..b9b71da46ef7 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 0bf9bc1df4eb..99caae874367 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 f982fdcb3dcd..f3c77774828a 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 5977e91173eb..2e91aeeb04ea 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 14e08786cc70..267f65ad1159 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 eb318fd5caca..c3889218d307 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 935b07d6533b..a084b51ef4e4 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 89d5d5990b65..21e5ac374431 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 da02fd924fd6..727fcf3a90d4 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 77f4f1f03a31..3420576b93e4 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 57f85eceba85..ca4ace0eebbf 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 8373c3722a53..b917c6e09a7c 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 b02da5c7c96e..32ba659c0a85 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 0c1dc7c27ae7..33ee2991ed25 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 b39885b98c5b..7539e57e714b 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 bbf637b6b584..ccdf0d8116d7 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 33405b7c1bf1..9c6ab3a5dec1 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 9f2e0f15e0ac..2d2720ea9989 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 c8a8c84e7e99..3a7fdb7697ab 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 1e68423b7c82..6c023695c67f 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 862f36e6e913..5801d36dcf20 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 32b034922931..160d47188d55 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 2ecaf4a30258..db8b25d01d3c 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 dc8060649cee..6622f76f1bea 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 c26c2a354a93..78d5c6b4181d 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 13a30a3a9de3..3031d39a70f9 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 bdd5d564a43c..5a8d68ad66fd 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 839c02ae9745..658a0726e8ac 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 55d5a5226297..26e2f2c7773a 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 666ceba4dbd8..6abcf583a332 100644 --- a/lib/default/WiFiHelper/src/WiFiHelper.h +++ b/lib/default/WiFiHelper/src/WiFiHelper.h @@ -83,6 +83,13 @@ class WiFiHelper { // 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 6741652e1fa8..000840e81347 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 ab92e459b1e4..a705585d5861 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 053f9a913f3a..852664ad4836 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 9ec245ce0668..bf36b2f08efb 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 cde5b99e7e30..73a1acaba168 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 26e2f2c7773a..59e2d3840146 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 d6e1be99e922..ba8ea7dbaa0c 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 f0ef2e1943c8..454a1c913c6f 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 142c4ea5eab4..32cb7fbe4f8f 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 c7b4b8af62c9..e386cfa25491 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 12c3781e0645..ef80fa2546b4 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 dcb4386b0ca1..1bec0863f645 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 37352e588028..709b84c9e9d3 100644 --- a/lib/libesp32/berry/src/be_vm.c +++ b/lib/libesp32/berry/src/be_vm.c @@ -969,7 +969,7 @@ static void vm_exec(bvm *vm) } } 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 @@ static void vm_exec(bvm *vm) } dispatch(); } + opcase(SETMET): opcase(SETMBR): { #if BE_USE_PERF_COUNTERS vm->counter_set++; @@ -1020,7 +1021,7 @@ static void vm_exec(bvm *vm) 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 000000000000..b2fdc5d96846 --- /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 fb8b6698c6a9..e33c324d017c 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 59e2d3840146..078b27c25eaf 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 afc45730b667..e5ad9604aa64 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 0dcf52a14756..de9b796ba2cc 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 035bf88699ab..636b904a3381 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 b702e3d8d45a..924267e558e4 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 0f2f4524441b..0fb34e868bed 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 72c8bcb3b1bc..c69d73210373 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 078b27c25eaf..f442c869474c 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 e5ad9604aa64..9400ca8d3871 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 2f9a1e447976..dda041532a8e 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 f442c869474c..c971d91131d6 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 c69d73210373..c51acbd2e22c 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 291ea844e964..e42f0cb40776 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 | 144 +++++++++--------- .../tasmota_xdrv_driver/xdrv_40_telegram.ino | 22 ++- 4 files changed, 89 insertions(+), 80 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c971d91131d6..3d6eef6be7fd 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 c51acbd2e22c..8bc62baae5a1 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 e42f0cb40776..c5056218c092 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) - -// 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" -\*********************************************************************************************/ - -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_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 +// #if defined(USE_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" +// \*********************************************************************************************/ + +// 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_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 #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 fddd5eed3e58..5ab39c9721f3 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 3d6eef6be7fd..da11df8ff643 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 9400ca8d3871..db05707ad6b9 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 5ab39c9721f3..97cc6be3697e 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 | 426 +++++++++--------- .../xdrv_42_2_i2s_mp3stream_idf51.ino | 2 + .../xdrv_42_7_i2s_webradio_idf51.ino | 5 + 7 files changed, 308 insertions(+), 259 deletions(-) diff --git a/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp b/lib/lib_audio/ESP8266Audio/src/AudioGeneratorMP3.cpp index d962c9e0be28..583c60317386 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 57a1c06a62f1..618bf99ea60c 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 bce536903ffe..65466f7162be 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 f4a840044629..20a5b459c9b2 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 e846d07b6127..3a9e82f6349a 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; - -// audio_i2s.mode = spkr; - return err; -} - -#ifdef USE_SHINE - -#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; - - 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"); - } - - 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 (shine_check_config(config.wave.samplerate, config.mpeg.bitr) < 0) { - error = 3; - 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; - - buffer = (int16_t*)malloc(bytesize); - if (!buffer) { - error = 5; - goto exit; - } - - 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)); - - 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_mp3.client.connected()) { - break; - } - } - audio_i2s_mp3.recdur = TasmotaGlobal.uptime - ctime; - } - - 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); - } - - -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(); - } - - 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; - - 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; - } - - strlcpy(audio_i2s_mp3.mic_path, path, sizeof(audio_i2s_mp3.mic_path)); - - audio_i2s_mp3.mic_stop = 0; - - uint32_t stack = 4096; - - audio_i2s_mp3.use_stream = !strcmp(audio_i2s_mp3.mic_path, "stream.mp3"); - - if (audio_i2s_mp3.use_stream) { - stack = 8000; - } - - err = xTaskCreatePinnedToCore(mic_task, "MIC", stack, NULL, 3, &audio_i2s_mp3.mic_task_handle, 1); - - return err; -} - -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")); - } - } - -} -#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); -} +// uint32_t SpeakerMic(uint8_t spkr) { +// esp_err_t err = ESP_OK; + +// // audio_i2s.mode = spkr; +// return err; +// } + +// #ifdef USE_SHINE + +// #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; + +// 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"); +// } + +// 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 (shine_check_config(config.wave.samplerate, config.mpeg.bitr) < 0) { +// error = 3; +// 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; + +// buffer = (int16_t*)malloc(bytesize); +// if (!buffer) { +// error = 5; +// goto exit; +// } + +// 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)); + +// 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_mp3.client.connected()) { +// break; +// } +// } +// audio_i2s_mp3.recdur = TasmotaGlobal.uptime - ctime; +// } + +// 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); +// } + + +// 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(); +// } + +// 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; + +// 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; +// } + +// strlcpy(audio_i2s_mp3.mic_path, path, sizeof(audio_i2s_mp3.mic_path)); + +// audio_i2s_mp3.mic_stop = 0; + +// uint32_t stack = 4096; + +// audio_i2s_mp3.use_stream = !strcmp(audio_i2s_mp3.mic_path, "stream.mp3"); + +// if (audio_i2s_mp3.use_stream) { +// stack = 8000; +// } + +// err = xTaskCreatePinnedToCore(mic_task, "MIC", stack, NULL, 3, &audio_i2s_mp3.mic_task_handle, 1); + +// return err; +// } + +// 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")); +// } +// } + +// } +// #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); +// } #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 0fff1b0e61cd..aca46360bd81 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 c023fb1975a0..1f0a8e7e4847 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 98d6982e121e..06a2c9dd37e8 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 680eda700564..fd00156fe82c 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 97cc6be3697e..edba55b42c5c 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 da11df8ff643..583714c76e1f 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 db05707ad6b9..8ab49ae3e63c 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 2e340ceb60aa..0cb6c4b750c0 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 b116e7abf266..edc2a0d1af9b 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 699db391122d..63b9eb965d3b 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 d0d3b61ff05e..342c662f8bc0 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 edc2a0d1af9b..b2316a0f3719 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 63b9eb965d3b..35d0b9983b0b 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 0cb6c4b750c0..ffd677a823fa 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 de9b796ba2cc..9f8434f32589 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 342c662f8bc0..076c4a75740c 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 b2316a0f3719..6b2a3827b428 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 0349736ee31e..850c53a10a2d 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 f3031997b32b..5be255f3c80d 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 904e73c848d9..e9344c328da7 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 bf36b2f08efb..a9f9a3488b1c 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 e33c324d017c..a06feeac3ce7 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 | 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, 15 insertions(+), 31 deletions(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 35d0b9983b0b..63b9eb965d3b 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 ffd677a823fa..0cb6c4b750c0 100644 --- a/tasmota/tasmota_support/support_udp.ino +++ b/tasmota/tasmota_support/support_udp.ino @@ -60,11 +60,12 @@ 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 @@ -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 9f8434f32589..de9b796ba2cc 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 076c4a75740c..342c662f8bc0 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 6b2a3827b428..b2316a0f3719 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 850c53a10a2d..0349736ee31e 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 5be255f3c80d..f3031997b32b 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 e9344c328da7..904e73c848d9 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 a9f9a3488b1c..bf36b2f08efb 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 a06feeac3ce7..e33c324d017c 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 63b9eb965d3b..699db391122d 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 342c662f8bc0..d0d3b61ff05e 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 b2316a0f3719..edc2a0d1af9b 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 583714c76e1f..da11df8ff643 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 8ab49ae3e63c..db05707ad6b9 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 0cb6c4b750c0..2e340ceb60aa 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 edc2a0d1af9b..b116e7abf266 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 658a0726e8ac..b90c3aaa8c36 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 | 17 +++++++++++++---- RELEASENOTES.md | 6 ++++-- tasmota/include/tasmota_version.h | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da11df8ff643..d389030cd775 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 -- Update Telegram CA (Go Daddy Root Certificate Authority - G2) +- ESP32 Core3 platform update from 2024.05.12 to 2024.05.13 (#21524) ### Fixed -- Telegram TLS fingerprint, remove CA validation (#21514) +- 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) +- ESP32 I2S multiple fixes (#21511) ## [14.0.0.1] 20240527 ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index db05707ad6b9..809f743bd4e9 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 dda041532a8e..f8ec8d8d3a1a 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 d389030cd775..f352c4fc6392 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 -- ESP32 Core3 platform update from 2024.05.12 to 2024.05.13 (#21524) +- TCP bridge increased baudrate selection (#21528) ### Fixed -- ESP32 slow response when using UDP as in emulation (#21470) ### 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) + ## [14.0.0.2] 20240529 ### Added - Disabled watchdog for ESP32 and variants (#21509) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 809f743bd4e9..0986271de5c7 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 fd00156fe82c..97f0a2c9d5ae 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 f8ec8d8d3a1a..a46bf1d7d0ff 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 030deb5136bd..ba6850b9ccb1 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 b77480f09597..f7af10175881 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 ba6850b9ccb1..24dc0d636166 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 f352c4fc6392..5020890e1b31 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 3b4ed044945b..e24b0ab421cb 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 5020890e1b31..5e54244844c8 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 0986271de5c7..65bf72153199 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 e33c324d017c..59998d7fc27e 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 5e54244844c8..c64bbd19914d 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 65bf72153199..017a888e42a7 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 4f9aed466492..4ba198ea5dc7 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 c64bbd19914d..d7d9e31bfc21 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 8f0dbd086a8f..78343eb5a125 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 ae9d51101d7d..457150896c84 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 f52b8bc71dab..839493de205f 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 bf4ecfdb33a4..e004648e0921 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 d0e1f5885e51..213c7859ff2c 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 236db41f3cca..01ab75dd3d80 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 029fa426897a..c22a20d02d8c 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 2265dc2df5b4..4fbf365415ba 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 ecfcdf4b6c22..68992a5abc89 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 ba776ea9db56..24ea1d13da00 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 6f8af6826888..c00c336c160f 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 26e828af04fd..2f6f88ceddf3 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 9a11d29f4f0f..e1845ccea7b5 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 d7d9e31bfc21..cd5643e83e14 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 017a888e42a7..0d4791e2b3a6 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 09e020b1f192..5927a13c24ae 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 000000000000..ed8d8a620d2c --- /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 cd5643e83e14..4f27303a5814 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 9d3da5365066..c842c9e0f322 100644 --- a/lib/libesp32/berry/tools/coc/hash_map.py +++ b/lib/libesp32/berry/tools/coc/hash_map.py @@ -27,6 +27,13 @@ def __init__(self, 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 @@ def insert(self, key, value): # 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 @@ def var_count(self): 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 22dfd563291b..63f4915d58cf 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 f1b578820e8b..7c0b91a00164 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 4f27303a5814..b8353dfe4a3d 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 0d4791e2b3a6..1c475e2c54e5 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 59998d7fc27e..af3120d625ef 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; } }